したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

管理人の独り言(プログラミング関連)

1みみず★:2008/08/10(日) 23:28:15
あまりにもプログラミングの内容が増えすぎた。
よって隔離スレの中を更に隔離。

773774さん:2008/11/12(水) 19:01:56 ID:CENbthlg0
concept,concept_mapおもしろー。

774774さん:2008/11/12(水) 19:02:44 ID:CENbthlg0
ちょwwwwwwwwwww
コンセプトマップのテンプレートとか。

775774さん:2008/11/12(水) 19:04:55 ID:CENbthlg0
全ての機能を使い込む自信ないなあ。

776774さん:2008/11/12(水) 19:05:57 ID:CENbthlg0
スタンダードコンセプトマップライブラリとか出ないかなあ。
デフォルトで、いくつかのコンセプトが入っているとか、そういうのが良いなあ。

777774さん:2008/11/12(水) 19:10:14 ID:CENbthlg0
コンストラクタの委譲が出来るようになるのだが、多分コンパイラでは派生コンストラクタを呼び出すかどうかの引数をプッシュして行うようなシステムになるのだろう。
つまり、現状でも一つ引数を渡すようになる場合がある(仮想継承)のに更に増えるということか。
まあ使わなければそんな事は一切無いのだけれども。

意味分からない文章でスイマセン。
それとVC++だけけもね。そういう実装をしているのは。

778774さん:2008/11/12(水) 19:30:24 ID:CENbthlg0
typenameはNoDoubleだけれども、int型しか渡せないよ。
-----
struct NoDouble
{
void f(int i);
template<class T> void f(T) = delete;
};

779774さん:2008/11/12(水) 19:34:21 ID:CENbthlg0
標準ライブラリで正規表現を使えるのは美味しいよなあ。

780774さん:2008/11/13(木) 18:40:48 ID:CENbthlg0
うーん。
Sleipnirでタブを400ぐらい開くテスト中なんだけれども、開けば開くほど遅くなる。
Firefoxならばそんなこと無いのに・・・
だから俺はFirefoxにのりかえるかも?

781774さん:2008/11/13(木) 18:45:11 ID:CENbthlg0
Firefoxだと、クライアントの場所でマウスを動かしても6%ぐらいしか使わないけれども、Sleipnirは60%も使う。
フックをしているせいですかね?

782774さん:2008/11/13(木) 18:48:34 ID:CENbthlg0
Sleipnirはタブを開きすぎると消えるよー

783774さん:2008/11/13(木) 19:28:16 ID:CENbthlg0
やっぱりSleipnirは捨てられない。
タブ右クリックからタイトルとURLコピーが無いのは痛すぎる。

784774さん:2008/11/14(金) 01:34:14 ID:CENbthlg0
ゲームプログラミングの一歩として、単純なパズルゲームを作ってみたい。
まずは画像集めから入る。

785774さん:2008/11/14(金) 01:34:31 ID:CENbthlg0
まあ、今日は寝るんだけれども。

786774さん:2008/11/14(金) 01:39:39 ID:CENbthlg0
なんかC++0xのソースコードを考えるだけでwktkする希ガス。
-----
#include <iostream>

[]main() -> int
{
std::cout << "test" << std::endl;
}
-----
これでコンパイルが通るんだよね。まあ、まだ実験できないんだけれども。
他にも
-----
#include <iostream>
#include <string>
[]main(int argc, char **argv) -> int
{
[]show(char *str){std::cout << str << std::cout}
show("test");
}
-----
でもコンパイル通るんだよね。
きもい><

787774さん:2008/11/14(金) 01:45:37 ID:CENbthlg0
ラムダ!ラムダ!ラムダ!ラムダ!
Lispからの拝借ありがとうございます><

auto func = [](int c){return c};
とするとfuncの型は
int (*)(int)
なんだよね。
auto func = [&](int c){return c};
とすると、書き下せなくなるはず。
(void *)でキャストできるようになるかな。
もしかして、
decltype([&](int c){return c}) func = [&](int c){return c};
とかいけるんですか?どうなんですか?

788774さん:2008/11/14(金) 01:46:52 ID:CENbthlg0
>>784
書くならばJavaScript+Canvasになる予定。
つまりIEでは動かない。
GoogleからCanvasのライブラリが出ていたので、それを使えば何とかなるのかもしれない。
だけれども、此れまでの俺の感じから行くと、作らない気がしてならない。
それが俺のクオリティー。

789774さん:2008/11/14(金) 01:49:38 ID:CENbthlg0
>>787
どちらにせよ、このおかげでクロージャとか出来るようになってうまー。
別に[&]だったら、現在のebpとかespをコピーするだけだからそんなに速度の低下も無いだろうし、
[]だったら、今までの関数と何一つ変わらない。
[=]は、とても重たそうです。

[=]で疑問なのは、そのラムダ関数の中で値を変更したら、次にそのラムダ関数を呼んだときにその値が保持されているかということである。
なんか、保持されていない気がするが、まあ、そっちの方が良い場合の方が多い気がするのでそれで良いのです。

790774さん:2008/11/14(金) 01:52:05 ID:CENbthlg0
というか
-----
template<typename T, typename U>
[]Func(T t, U u) -> decltype(t + u)
{
return t + u;
}
-----
とか書くのは二度手間だから、
-----
template<typename T, typename U>
[]Func(T t, U u) -> decltype(t + u)
{
}
-----
だけで、returnに達しない場合はt + uをreturnするようにして欲しい。
何か問題があるんですか?そうですか。知らないけれども。

791774さん:2008/11/14(金) 01:54:47 ID:CENbthlg0
だけれども、別に
-----
template<typename T, typename U>
decltype(t + u) Func(T t, U u){
return t + u;
}
-----
でも今のコンパイラは困らないと思うんだけれども。
どうせ、最初に全ての変数をチェックしてから、上から翻訳するだろうから。
だから、多少戻るのは問題ないと勝手に思っている。

それとtemplateはスタティックライブラリ化できないから、ヘッダとかで持つしかないのが困るなあ。
まあ、それは仕方ないことなんだけれども。
だけれども、HINSTANCEとかvoid *とかで別々の実体を持つのはどうにかならないものか。

792774さん:2008/11/14(金) 01:55:25 ID:CENbthlg0
どうせ、同じポインタ同士なんだから、一括で管理できるでしょ、というお話な訳です。
まあ、CPUによっても違うのだろうが。

793774さん:2008/11/14(金) 18:48:11 ID:CENbthlg0
CSS 3における新しいレイアウト手法:ボックスレイアウト - builder by ZDNet Japan
http://builder.japan.zdnet.com/sp/css-firefox-safari/story/0,3800083423,20383633,00.htm

794774さん:2008/11/14(金) 19:04:19 ID:CENbthlg0
HTMLがぬるぬる動くときもいなwww

795774さん:2008/11/14(金) 19:51:02 ID:CENbthlg0
window.onload = function(){
var canvas = document.getElementById("base");
var width = canvas.width, height = canvas.height;
var c = canvas.getContext("2d");

var size = 10;
var x = size, y = size;
var speed_x = 3, speed_y = 2;

window.setInterval(function(){
c.clearRect(0, 0, width, height);

c.beginPath();
c.rect(0, 0, width, height);
c.stroke();

c.beginPath();
c.arc(x, y, size, 0, Math.PI * 2, false);
c.fill();

x += speed_x; y += speed_y;

if(x - size < 0){
x = size;
speed_x *= -1;
}else if(x + size > width){
x = width - size;
speed_x *= -1;
}
if(y - size < 0){
y = size;
speed_y *= -1;
}else if(y + size > height){
y = height - size;
speed_y *= -1;
}
}, 1);
};

796774さん:2008/11/14(金) 20:10:58 ID:CENbthlg0
オブジェクト指向にしてみた。withも使ってみた。

window.onload = function(){
var canvas = document.getElementById("base");
var width = canvas.width, height = canvas.height;
var c = canvas.getContext("2d");

var ball = function(c, size){
this.size = size;
this.c = c;
this.x = this.y = size;
this.speed_x = this.speed_y = -1;

this.Next = function(){
with(this.c){
beginPath();
arc(this.x, this.y, this.size, 0, Math.PI * 2, false);
fill();
}

this.x += this.speed_x; this.y += this.speed_y;

if(this.x - this.size < 0){
this.x = this.size;
this.speed_x = Math.floor(Math.random() * 16) + 1;
}else if(this.x + this.size > width){
this.x = width - this.size;
this.speed_x = -(Math.floor(Math.random() * 16) + 1);
}
if(this.y - this.size < 0){
this.y = this.size;
this.speed_y = Math.floor(Math.random() * 16) + 1;
}else if(this.y + this.size > height){
this.y = height - this.size;
this.speed_y = -(Math.floor(Math.random() * 16) + 1);
}
};
};

var a = [];
for(var i = 0; i < 10; ++i)
a.push(new ball(c, i));

window.setInterval(function(){
with(c){
clearRect(0, 0, width, height);

beginPath();
rect(0, 0, width, height);
stroke();
}

for(var i = 0; i < a.length; ++i)
a[i].Next();
}, 1);
};

797774さん:2008/11/14(金) 20:43:09 ID:CENbthlg0
>>796を実際に動かしてみるサンプル。
http://mimizu.karou.jp/static/javascript/00001/

798 ◆rCEzuNnL0g:2008/11/14(金) 20:49:07 ID:CENbthlg0
>>797
実は微妙に改変しているのだが、気にしない。

799774さん:2008/11/14(金) 21:03:58 ID:CENbthlg0
取り敢えず、一個のマスで何pixelとるかを考えて、画像を用意して、適当に表示できるようにして、
setIntervalでまわしまくる、と。

ああ、だけれどもそれだといけないか。
まあ、色々と頑張ろう。

800774さん:2008/11/14(金) 21:07:53 ID:CENbthlg0
IEで動かすと、滅茶苦茶CPU時間をとるっていう。
まあ、良いか。
さて、風呂でゆっくり考えるか。
明日の土曜学習の時間もあるし、随分と設計に時間をかけれそうである。

ちなみにパズルゲームとか言ってますが、多分あんまり知らないゲームだと思います。
兄と最近遊んでいて作りたくなっただけなのです。
くねくね動く奴も作るか?

801 ◆rCEzuNnL0g:2008/11/14(金) 21:40:06 ID:CENbthlg0
単純なsetTimeoutにすると62fpsぐらいになってしまう。
さて、どうしよう。

802 ◆rCEzuNnL0g:2008/11/14(金) 21:47:42 ID:CENbthlg0
うーん。
五十個玉を動かしただけで32fpsから40fpsぐらいまで下がってしまう。
やっぱり、少し滑らかじゃないけれども、30fpsで作ったほうが良いな。

803 ◆rCEzuNnL0g:2008/11/14(金) 21:52:15 ID:CENbthlg0
1000個動かしたら8fpsになった。

804 ◆rCEzuNnL0g:2008/11/14(金) 21:59:13 ID:CENbthlg0
10000個動かしたらFxだと0.8fpsぐらい。
Google Chromeだと3.3fps出た。
Google Chromeはえええ

805 ◆rCEzuNnL0g:2008/11/14(金) 22:01:20 ID:CENbthlg0
お。やっぱりGoogleChromeはそれぞれのタブが、別々のプロセスになってるんだな。
早いわけだ。

806774さん:2008/11/14(金) 22:30:24 ID:CENbthlg0
色々実験してたら、Sleipnirのバグを発見した。
document.titleでタイトルを弄くっても上のタブに反映されないって言う。
なんか上の0002を二つ開くと再現する。
もうちょっと簡単なコードに落とせると良いかもしれないが、別にそこまでして調べようとは思わないので、暇があったら調べよう。

というか、なんかタブの再描画自体が行われてないみたいだ。此れは酷いバグwwww

807774さん:2008/11/14(金) 22:31:01 ID:CENbthlg0
http://mimizu.karou.jp/static/javascript/00002/
二つ目。
これからどんどん増えていくよ。多分。

808774さん:2008/11/15(土) 18:24:29 ID:CENbthlg0
循環参照を含むオブジェクトのディープコピー - 素人がプログラミングを勉強するブログ
http://d.hatena.ne.jp/javascripter/20081115/1226739628
-----
面白いけれども、何故循環するオブジェクトを作る?

809774さん:2008/11/15(土) 18:28:53 ID:CENbthlg0
シングルクォートもきちんとエスケープする - 素人がプログラミングを勉強するブログ
http://d.hatena.ne.jp/javascripter/20081113/1226573185

810774さん:2008/11/15(土) 19:17:14 ID:CENbthlg0
std::copy(ar.begin(), ar.end(), std::ostream_iterator(std::cout, "\n"));
---
これはありだな。

811774さん:2008/11/15(土) 19:19:43 ID:CENbthlg0
こう書けば、

for(std::vector<int>::const_iterator it = ar.begin(); it != ar.end(); ++it){
std::cout << *it << "\n";
}
std::cout << std::flush;
とか書かなくて良い!

812774さん:2008/11/15(土) 19:21:40 ID:CENbthlg0
letsboost::array
http://www.kmonos.net/alang/boost/classes/array.html
-----
vectorじゃなくても上見たいのがあるから、良いね!
使ったこと無いが・・・

813774さん:2008/11/15(土) 19:25:38 ID:CENbthlg0
std::copy(ar.begin(), ar.end(), std::ostream_iterator<int>(std::cout, "\n"));
だな・・・

814774さん:2008/11/15(土) 19:26:42 ID:CENbthlg0
#include <iostream>
#include <iterator>
#include <algorithm>
#include <boost/array.hpp>

int main(){
std::ostream_iterator<int> oi(std::cout, "\n");

boost::array<int, 100> a;

for(int i = 0; i < 100; ++i)
a[i] = i;

std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, "\n"));
}

815774さん:2008/11/15(土) 19:32:21 ID:CENbthlg0
iter/ostriter.cpp
http://www.josuttis.com/libbook/iter/ostriter.cpp.html
-----
ということだ。

816774さん:2008/11/15(土) 20:49:31 ID:CENbthlg0
高校生サーバー管理者の考察日誌 - CNET Japan
http://japan.cnet.com/blog/isidai/
-----
前も張ったけれども、やっぱり凄いなあ。
俺の一つ上みたい。

817774さん:2008/11/15(土) 20:53:49 ID:CENbthlg0
Windowsに潜むデフォルト設定の落とし穴(上):ITpro
http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20021129/1/?ST=security

818774さん:2008/11/15(土) 21:11:25 ID:CENbthlg0
FirefoxとSafariのCSS徹底検証:特集 - builder by ZDNet Japan
http://builder.japan.zdnet.com/sp/css-firefox-safari/

819774さん:2008/11/16(日) 09:56:27 ID:CENbthlg0
初回起動は圧倒的にFirefoxよりもSleipnirの方が早い。

820774さん:2008/11/16(日) 13:12:52 ID:CENbthlg0
取り敢えず、Sleipnir頑張れ。
今Minefield使ってる。Lunascape?何それ。

821774さん:2008/11/16(日) 14:30:59 ID:CENbthlg0
上から下にかけて早くなった(in Firefox)。
ballという関数は、半径の指定した大きさの円を描いたcanvasエレメントを返す関数。実装は一番下。
beginPathとfillを最初と最後に行ったほうが遅くなったのは意外。
-----
x++;
for(var i = 0; i < 1000; ++i){
drawImage(ball(7), i * 7 * 2, x);
}
/*
for(var i = 0; i < 1000; ++i){
beginPath();
arc(i * 7 * 2 + 7, x, 7, 0, Math.PI * 2, false);
fill();
}
*/
/*
beginPath();
for(var i = 0; i < 1000; ++i){
arc(i * 7 * 2 + 7, x, 7, 0, Math.PI * 2, false);
}
fill();
*/
------
var ball = function(){
var objs = {};
return function(size){
if(objs[size + ""]) return objs[size + ""];

var ca = objs[size + ""] = d.createElement("canvas");
ca.width = ca.height = size * 2 + "";
var c = ca.getContext("2d");
with(c){
beginPath();
arc(size, size, size, 0, Math.PI * 2, false);
fill();
}
return ca;
};
}();

822774さん:2008/11/16(日) 14:33:17 ID:CENbthlg0
Google Chromeだとあんまり変わらない感じ。

823774さん:2008/11/16(日) 14:35:08 ID:CENbthlg0
Operaだと全部重い感じ。

824774さん:2008/11/16(日) 14:35:56 ID:CENbthlg0
>>821
違うね。下の方が遅かったんだよね。
何書いているんだ、俺・・・

825774さん:2008/11/16(日) 14:37:22 ID:CENbthlg0
まあ、これでdrawImageが随分と軽いことが分かったので、いっぱい使える感じ。
頑張って作るか・・・
だけれども、まだ何もソース書いてない・・・

826774さん:2008/11/16(日) 14:39:11 ID:CENbthlg0
きっと一フレームごとに1000回もdrawImageは使わないと思うから、案外軽いかもしれない。
ちょっと期待。

827774さん:2008/11/16(日) 14:42:00 ID:CENbthlg0
梅田ではたらく社長のblog : iPhone アプリケーションの開発を始めます。
http://blog.excite.co.jp/tabbrowser/8918455/
-----
今頃気づいた。

828774さん:2008/11/16(日) 15:32:32 ID:CENbthlg0
同時消し:6個以上同時に消す
http://www.intsys.co.jp/game/panepon/p03/douji/doji_6.html
-----
>このページはNetscapeでご覧になることを推奨します。
時代を感じるなあ。ネスケはもう開発終了したもんなあ。

829774さん:2008/11/16(日) 16:25:23 ID:CENbthlg0
INTELLIGENT SYSTEMS CO., LTD. ゲームソフト
http://www.intsys.co.jp/company/gamesoft/index.html
-----
結構知ってるソフト作ってる。

830774さん:2008/11/16(日) 16:33:26 ID:CENbthlg0
C++が分かっている人の為のJava講座、とかC#講座とか無いのか。
まあ、組み合わせがありえないくらいになってしまうが。

831774さん:2008/11/16(日) 18:39:33 ID:CENbthlg0
ダックタイピングはいい気もするし、悪い気もする。

832774さん:2008/11/16(日) 18:46:05 ID:CENbthlg0
最近はSleipnir2 portableでRSS購読して
Sleipnir3 alphaで閲覧して、
遅い場合はMinefieldで閲覧している。
結局、俺は拡張なんて必要ないわけだ。

833774さん:2008/11/16(日) 19:36:23 ID:CENbthlg0
取り敢えず簡単なJavaとC#なら読めるようになりました。

834774さん:2008/11/16(日) 20:16:18 ID:CENbthlg0
やっぱり、パイプという観念が分からない。
というか、もうパイプというのをCの標準で取り入れて貰ったほうがいい気がする。

835774さん:2008/11/16(日) 20:18:03 ID:CENbthlg0
8-2. プロセス間通信とバックドア
http://www.ipa.go.jp/security/awareness/vendor/programming/b08_02_main.html
-----
こういうの良い。

836774さん:2008/11/16(日) 20:18:47 ID:CENbthlg0
IPA ISEC セキュア・プログラミング講座
http://www.ipa.go.jp/security/awareness/vendor/programming/intro.html
----
IPAだから吹いたww

837774さん:2008/11/16(日) 20:29:22 ID:CENbthlg0
8-1. Windowsパス名の落とし穴
http://www.ipa.go.jp/security/awareness/vendor/programming/b08_01.html
-----
やっぱり、なんかセキュリティー系の講習会は行ったほうがいいかもしれない。
滅茶苦茶重要だわ。
後で読む。
あとでよむ的なタグでも・・・

838774さん:2008/11/16(日) 20:31:25 ID:CENbthlg0
8-3. NTFS のセキュリティ機能と落とし穴
http://www.ipa.go.jp/security/awareness/vendor/programming/b08_03.html
----
以前書いた、代替ファイルストリームだったっけ。
fopenでも触れるのか・・・

839774さん:2008/11/16(日) 20:36:24 ID:CENbthlg0
セキュリティ&プログラミングキャンプ・キャラバン2008
http://www.jipdec.or.jp/camp/caravan/index.html
-----
絶対、こういうの機会があったら行ってやる・・・

840774さん:2008/11/16(日) 20:36:50 ID:CENbthlg0
セキュリティ&プログラミングキャンプ2008
http://www.jipdec.or.jp/camp/index.html
-----
こっちの方が正しいな。

841774さん:2008/11/16(日) 21:37:53 ID:CENbthlg0
どうでも良いけれども、簡単にSleipnir3について纏めてみる。
今のところ気になったところだけ。
-------------------------
・Settingの中にpluginが入るようになった。
今まではpluginがSleipnir全体に影響しているという意味不明な設計だったので、これでマルチユーザーの観念っぽいものが確立されたと思う。
個人的にはFirefox的なプロファイルだけ「完全に独立した」設定としてまとめられるようにしてほしい。
そうすれば、複数Sleipnirを起動することなくバッチだけで複数のSleipnirを使い分けれるようになってうまー。
その為には、Sleipnirの起動時にそのようなコマンドラインを渡せるようにしないといけないけれども・・・
moduleがSleipnirに必要な内容ですか?だけれどもステータスバーとかはブラウザに絶対必要なものではないと思う。サイドバーもまた然り。
つまり、極端なことを言えば、やっぱり全てプラグインなのである。態々dll化しないで単一exeにしたほうが簡単に関数が解決できて美味しいと思う。

・お気に入りがデータベースになった。
独自バイナリよりは処理が遅そうだが、扱いがかなり楽になる。
以前にも書いたようにSQLと何か一つのプログラミング言語が使えれば、間違えて削除したお気に入りの復活とか、しょーもないことが出来るだろう。
だけれどもデータベースにするんだったら、ついでにタグによる絞込み機能も付けてほしかった。
つまりTags(id, tagid);TagTable(tagid, str)とか言うテーブルでも作る。
そうすれば、今の仕様を崩すことなくタグを追加できるだろう。
でもそうすると、二回もデータベースへアクセスしなければいけないので調子が悪い。
本当はFenrirBookmarkにTagsというセクションを入れてカンマ区切りとかSQL自体を入れて一回でTagTableからstrを参照できるようにしたほうが良いかもしれない。
(そういえば、情報の教科書にデータベースの正規化が載ってて吹いたw)

・幾らかの名前が変更になった。
そんな時間があるならば、もっと開発しろよt(ry

842774さん:2008/11/16(日) 21:40:53 ID:CENbthlg0
>>838
http://jbbs.livedoor.jp/bbs/read.cgi/computer/38153/1205557370/205
で触れてた。
代替データストリームだってさ。

843774さん:2008/11/16(日) 21:49:39 ID:CENbthlg0
正規表現メモ
http://www.kt.rim.or.jp/~kbk/regex/regex.html
-----
メモっていうレベルじゃねーぞ

844774さん:2008/11/17(月) 19:09:56 ID:CENbthlg0
Sleipnir関連のtwitterをRSS購読していたのだが、皆非公開になってしまって残念と言わざるを得ない。

845774さん:2008/11/17(月) 20:46:11 ID:CENbthlg0
やっぱり、上手くいかない。
MDIウィンドウが嫌いになりそう。

タイトルを変更するには本当にどうすれば良いんだよ。
一つの発想として、KiFastSystemCallをフックすると言う方法がある。
やってみるかwww
間違えなくプログラムが止まる気がするww

846774さん:2008/11/17(月) 21:05:38 ID:CENbthlg0
まだ、フック出来てるかどうかも分からないのに、止まりやがった。

847774さん:2008/11/17(月) 21:49:09 ID:CENbthlg0
出来ているようだが、出来てない。
某所からコピーしたコードなんだから失敗しているはずが無い。
まあ、原因は分かっているから、違う方法でフック中。
というかこっちの方が早いし確実っていう。

848774さん:2008/11/17(月) 21:50:00 ID:CENbthlg0
pKiFastSystemCall = *((void **)0x7FFE0300);
*((void **)0x7FFE0300) = (void *)Hook_KiFastSystemCall;
-----
これは酷いハードコートw

849774さん:2008/11/17(月) 21:50:25 ID:CENbthlg0
あ、ハードコードだしww

850774さん:2008/11/17(月) 21:58:19 ID:CENbthlg0
C++の型チェックうぜええええええええええええええええええええ
unsigned intをvoid *を暗黙的に変換汁!

851774さん:2008/11/17(月) 22:14:06 ID:CENbthlg0
これは絶対ミクロソフトの策略だ。
何故VirtualProtectで0x7FFE0300周辺のアクセス権を変えれないんだ。
ユーザーのメモリ空間なんだから書き換えさせろよ馬鹿野郎!

852774さん:2008/11/17(月) 22:16:24 ID:CENbthlg0
何で「MDI ウィンドウタイトル」で検索すると、子ウィンドウのウィンドウタイトル変更の記事ばっかなんだ。死んでしまえ。
俺がやりたいのは、親ウィンドウのウィンドウの表示方法の変更だ。

853774さん:2008/11/17(月) 22:21:30 ID:CENbthlg0
ああ、俺が親ウィンドウだと思ってたのは「フレームウィンドウ」と言うらしい。
-----
フレーム ウィンドウ スタイル (MFC)
http://msdn.microsoft.com/ja-jp/library/c0f4af2x(VS.80).aspx

854774さん:2008/11/17(月) 22:53:23 ID:CENbthlg0
CFrameWndのキャプションの形式
http://m--takahashi.com/bbs/pastlog/13000/12973.html
-----
俺の欲しい資料が発見!
MDIウィンドウの親ウィンドウ(フレームウィンドウ)のタイトルの設定方法。

855774さん:2008/11/17(月) 23:03:33 ID:CENbthlg0
いや駄目だ。
ここに載っていることを鵜呑みにすればテーマによって変わってしまうようだ。
(サブクラス化しようと思ったのに・・・)
どうしてKernel32.dllで勝手に付加しやがるんだ!

856774さん:2008/11/17(月) 23:16:37 ID:CENbthlg0
このパソコンはクラシックスタイルだったので上手く行った!
うまー。

857774さん:2008/11/17(月) 23:19:39 ID:CENbthlg0
と思ったら、違った。
クラシックスタイルだろうと、プリインストールのスタイルだろうとウィンドウのタイトルは確りと俺の計画どうりいったが、下のなんか忘れたバーが変わらない。
ネイティブAPI使っているのがばればれです。

858774さん:2008/11/17(月) 23:22:28 ID:CENbthlg0
メニューの下に影が付いていてびびったwwww
一般的なパソコンなら当たり前なんだけれども、このパソコンは違いますww

859774さん:2008/11/17(月) 23:25:44 ID:CENbthlg0
さて、まあ下のバーなんてほかって置いて、次はMDIの子ウィンドウの一番上のウィンドウのタイトルを取得すればよい。
此れは気合で調べれば何とかなってくれるはずだ。

860774さん:2008/11/17(月) 23:27:18 ID:CENbthlg0
どうして、MFCの資料ばっかなんだ・・・

861774さん:2008/11/17(月) 23:32:38 ID:CENbthlg0
えっ・・・
-----
if(HWND hWnd = FindWindow(L"SleipnirMainWindow", NULL)){
//様々な処理
}
-----
これが通るんだ・・・

862774さん:2008/11/18(火) 00:12:32 ID:CENbthlg0
なかなか上手く行ってくれたのだが、終了の時に落ちてしまうというバグに悩まされ中。
まあ、タイトルが書き換えられたから満足満足。

863774さん:2008/11/18(火) 00:15:12 ID:CENbthlg0
[STACK TRACE]
0x01533E01
<Unknown Module>
0x77CF8734 GetDC() + 0x6d
USER32.dll
0x77CF8816 GetDC() + 0x14f
USER32.dll
0x77D08EA0 DefWindowProcW() + 0x180
USER32.dll
0x77D0B16F IsWindowInDestroy() + 0x49
USER32.dll
0x7C94E453 KiUserCallbackDispatcher() + 0x13
ntdll.dll
0x004C78E5
Sleipnir.exe
0x017A3D68
<Unknown Module>
0x00A26FB0
<Unknown Module>
0x00A20178
<Unknown Module>
0x017A29C0
<Unknown Module>
0x00E43008
<Unknown Module>
0x01771C08
<Unknown Module>
0x01788C40
<Unknown Module>
0x02FACC00
<Unknown Module>
0x02F75DD0
<Unknown Module>
0x02FC2008
<Unknown Module>
0x02FE2A68
<Unknown Module>
0x016CB5C0
<Unknown Module>
0x02FC6008
<Unknown Module>
0x00EAA3F0
<Unknown Module>
0x01771748
<Unknown Module>
0x00E7A200
<Unknown Module>
0x02F3FEC0
<Unknown Module>
0x017EF000
<Unknown Module>
0x01812AB8
<Unknown Module>
0x0303CBA8
<Unknown Module>
0x00E7C0B8
<Unknown Module>
0x00EC97F0
<Unknown Module>
0x017B7008
<Unknown Module>

864774さん:2008/11/18(火) 02:35:38 ID:CENbthlg0
Winnyの通信解読に挑戦!:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060511/237617/

865774さん:2008/11/18(火) 02:36:02 ID:CENbthlg0
Tip - ネィティブAPIでプロセスを列挙する
http://www001.upp.so-net.ne.jp/yamashita/doc/nt.processlist.htm

866774さん:2008/11/18(火) 02:55:12 ID:CENbthlg0
結局、Sleipinrのタイトルを書き換えるのには、態々APIフックなど使う必要は無く、単純にサブクラス化するだけでよかったのである。
ちゃんちゃん。

867774さん:2008/11/18(火) 18:40:37 ID:CENbthlg0
Vim講座1 - think and error
http://d.hatena.ne.jp/ruicc/20081122/1226837833

868774さん:2008/11/20(木) 18:38:12 ID:CENbthlg0
std::pairにはデフォルトで比較用のoperatorがあるんだな。
前から分かっていたんだけれども。

869774さん:2008/11/20(木) 22:03:42 ID:CENbthlg0
Delphiだろうが、C#だろうが、簡単に出来るのは動作が遅い。
どんなにパソコンの計算が早くても、人間の思考能力には敵わない。
だから、最も基本的なアセンブリで書くのが最速なのである。
だが、俺もそんなにかけない。

870774さん:2008/11/20(木) 22:07:39 ID:CENbthlg0
俺的にはstd::basic_ostream<char>で、std::coutとかを扱うのは扱いにくい。
CならばFILE *で全て宣言されているので使いやすい。
まあ、C++の方が拡張性が高いので仕方ないかもしれないが、いちいちstd::basic_ostream<char>と入力するのが面倒なのだ。

871774さん:2008/11/20(木) 22:21:22 ID:CENbthlg0
まあ、ポインタでも受け取れるが、気持ち悪いので・・・

#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
#include <fstream>
#include <string>

#include <vector>
#include <map>

#include <cstdlib>
#include <ctime>

template<typename t, typename ct>
std::basic_ostream<t, ct>&
out(std::basic_ostream<t, ct> &o){
return o << "test" << std::endl;
}

int main(int argc, char **argv){
out(std::cout);
out(std::ofstream("test.txt"));
}

872774さん:2008/11/20(木) 22:21:56 ID:CENbthlg0
要らないヘッダをインクルードしまくっているのは、色々とあるからです。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板