鏑矢の憂鬱2000年4月前半
透明1ドットイメージ
 
2000/04/01 (Sat)
・今日はプログラミングしてないからお便りだけ。とゆーわけで今日のお便り。
 
透明1ドットイメージ
透明1ドットイメージ
 おっす尺八郎です
 
> 実際の所、フツーに VC 使えるプログラマーにとっては
> BCB って物足りないとことかあるのかなー
 BCBのエディターは使いにくいですねぇ。
 BCBの優位はBCBはライブラリの出来だけです。手っ取り早くアプリを作りたい場合にはとっても便利です。でも、ごりごりのC++プログラムを書くときには何かとやりづらいです。デバッガも使いにくいし。でも、馴れればそれもそれでどうにかなります。一番困るのはヘルプが使いにくいことです。頼むからhtmlヘルプにしてくれ。(BCB4)
 逆にVCの弱点は標準に全然準拠していないところです。テンプレートがうまく通らなかったり・・・。特に
 
for (int i=0; i<max; i++){};
for (int i=0; i<max; i++){};  // いちいち添え字を変えるのが面倒・・・
	
 
 これが通らないのはもうどうにかしてくれって感じです。後、MFCの出来の悪さです。CWndなんかもうクラクラします。
 
 あかん、愚痴ばっかや
 
 ほなな
透明1ドットイメージ
透明1ドットイメージ
 
・おっす。「 BCB のライブラリ」ってコンポーネントや VCL で書かれてるのですよね。それってかなりいいんでしょうか。ってゆーか ActiveX 化すれば VC で使っちゃえるような(爆)。確かプロフェッショナルでないと入ってないコンポーネントとかあるんですよねぇ、どうするかなぁ。 HTML ヘルプは個人的にはアレ(汗)。前に IE5 入れたときに、 MSDN が文字コード解析できなくて一部のページが読めなかったです(泣)。ってゆーか「普通の HTML ファイル」なら問題ないんだけどねぇ……。
 
・ VC の for の話は有名ですな。 VC7 でも直らないような気がする(爆)。きっとこれは STL アルゴリズム使えとゆー天の導き(爆)。 MFC はソースコードは読みやすいんだけどねぇ。 ATL の CWindow も同じようなゴテゴテクラスなんでこの方向で突き進むんでしょう。やっぱ gcc ですか?(汗)
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/02 (Sun)
・今日もプログラミングしてないわ。最近ダメな私。
 
・今日のお便り。
 
透明1ドットイメージ
透明1ドットイメージ
 こんにちは。べりあるんです。
 BCB5、CodeGuardというメモリ操作デバッグ支援ツールがSTLに文句をたれてくれます(爆)。最悪。調べてみると、コンテナでエラーが出ます。vector を例に説明します。vectorが要素を増やそうとする時、(1)メモリ開放(2)再割り当て(3)コピー(4)要素追加 の手順で行います。実は(2)の時点では、内部ポインタは更新されません。(4)の最後にポインタを更新するのですが、その際に開放したポインタを引き算して要素数を計算します。この時点でCodeGuardが「開放済みのポインタをなんか操作してる〜」と文句を言います。単に引き算してるだけ、開放領域には指一本触れてないのに…。まったくInpriseももう少し考えて欲しいです。
透明1ドットイメージ
透明1ドットイメージ
 
・なぬー、 CodeGuard がそんなことを…… CodeGuard ってプロ版からしか付いてないから、 CodeGuard 試すためにプロ版買おうとか思ってたんだけど、これはなー。このポインタ回りの処理はアロケーターの外なんで、それこそ std::vector とかを直接書き換える(爆)しかないかもしんない。
 
・もしくは複製作ってそれ使うか。意味ない……。ってゆーか恐れ多くも「標準」 C++ ライブラリが通らないような機能を付けるとはけしからん!(笑) ちゃんとテストして、それに対して特別版作るなりなんなりするのがせめてもの筋やないかなと。なんで STL や iostream とかってこんなに虐げられてるんだろうなー。ガンバレ標準 C++ ライブラリ!
 
・もひとつお便り。
 
透明1ドットイメージ
透明1ドットイメージ
 おっす尺八郎です。
 
> BCB のライブラリってコンポーネントや VCL で書かれてるのですよね。
> それってかなりいいんでしょうか
 VCLはvisual component libraryの略でVCLそのものがライブラリの名前でユーティリティー関数なども含まれます。非常に良くできたライブラリでプログラムの初心者でも容易に使えます。また、拡張するのも容易です。特にコンポーネントを継承する際には親コンポーネントの詳細について知っている必要はありません。ソースコードはパスカルなんですが読みやすいです。しかし、あまり読む必要もありません。私はVCLからMFCに移ったのですがあまりの設計の悪さに「Cプログラミング診断室」(http://www.pro.or.jp/~fuji/mybooks/cdiag/index.html)を初めて読んだとき以上の衝撃を受けました。kabさんはMFCを結構押しているので申し訳ありませんがMFCは最悪のクラスライブラリです。特にウィザードの吐き出すコードは正気を疑うものです。
 ほめられるのはASSERTが随所に含まれているという点だけですね。ポインタからintへのキャストも日常的に使われていますし且つそれがまったく隠蔽されていません。DDXシステムは前世代的ですし、リソースファイルもプロジェクト共有ですのでダイアログを他のプロジェクトと共有することもできません。CViewだけが他のコンポーネント(CEditとか)と全然別の扱いなのも奇妙です。他にも一貫性の無さによる混乱が随所に見られます。
 まあ、詳しくは(http://www.inprise.co.jp/cppbuilder/papers/vctocb/chap4.html)をごらんになって下さい。MFCの為にC++を挫折したりする人を見る度にマイクロソフトを呪いたくなります。VCそのものが良くできているだけに残念です。
> ActiveX 化すれば VC で使っちゃえるような
 まあ、それは出来ますがVCでActiveXを使うことそもそもが結構大変ですのであまりお勧めできません。
 
 ぅぅ、今日も悪口ばっかりだ。ごめんなさい〜
透明1ドットイメージ
透明1ドットイメージ
 
・うお、荒れてますな(爆)。わてが MFC でいいと思うのはただ1点「ソースコードの読みやすさ」です。 MFC は仕様・設計あらゆる点がダメだと思ってます(爆)。だから KTL 作って移行しようとしてるんだし。ぷらとわでは「ソースコードを読む技術」を付けてもらおうと思ってるんだけど、 そのための「教科書」ってすごく少ないんです。 MFC は「コードを読む」ものとしてはとても読みやすいと思うんです。
 
・ってゆーか VC 付属の iostream とか読みにくすぎ!! ひとつのメンバ関数にふたつの機能を入れたり、やたら1行に詰め込んだり、変数名無理矢理短縮していたり、解析すんのにむっちゃ苦労したです。それ以外でも、今のところ「これが教科書になるよ」っていうライブラリがないんですねー。そーゆーの(特に Win32 API ラッパークラスライブラリ)があれば MFC 使わなくて済むんだけどねぇ。
 
・もちろん MFC は「読む技術」付けるためだけ。あとは反面教師(爆)。読めるようになって「うわーなにわてこんな酷いライブラリ使わされてたの!?」ってまず言えるようにならないと。実際、 VCL がかなりいいなら、1年後のぷらとわで「実はこんなにいいライブラリが! これを参考にしてクラス設計してみよう!」とかいいかもしんない。
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/03 (Mon)
・今日もプログラミングしてないです。明日からガッコが始まるからさらにできないかも……しれないし、逆に授業に関係あるプログラム組むかもしんない。その辺はおいおい。
 
・今日のお便り。
 
透明1ドットイメージ
透明1ドットイメージ
 こんにちは、いろいろ勉強になります。有難うございます。
 私は、Windows98からWindows2000へ切り替えました。ARCNETドライバー以外は、全て正常に動作と思ったのですが、Windows2000では、ボタンなどの表示の標準色が、RGB(192,192,192)では、ないのです。
 その為、ボタンのビットマップを文字以外の所を透明にする必要が有ります。ListImageを使用してバック色を透明にする手は、有るのですが、ボタンだけでも60個は、十分に有り大変な作業です。 そこで、ご質問します。
1.透明ビットマップを作成してダイアログ、ボタン、などに貼り付ける方法。
2.標準のウィンドウカラーをRGB(192,192,192)にする方法(出来れば、上記1.にて対応したい。新しいウィンドウクラスは、作りたくない。アプリケーションウィザードにて作成したソフトは、出来るだけ変更を加えたくない。)
 
 以上、宜しく御願いします。
透明1ドットイメージ
透明1ドットイメージ
 
・どうもですー。「標準色」って、たぶん「 3D オブジェクト」の色のことですね。わてみたいにここの色をネズミ色以外に変えてる人はかなり多いと思うんで、ネズミ色決め打ちってまずいのでは(汗)。あ、業務用とかで、勝手に変えていいのなら、レジストリの
 
HKEY_CURRENT_USER\Control Panel\Appearance\Schemes
 
に、画面のデザインが書き込まれてるんでこれを書き換えることで「2」ができると思います。あ、もしかしたら API で変えることができるかも…… SystemParametersInfo() とか調べてみて。でもレジストリ変えた方が楽かも(爆)。
 
・ボタンにビットマップ貼り付けるときに透過させる方法、って基本的にはないのでは(汗)。透過させるんなら、アイコンに変換してから貼り付けるか、オーナードローを使うかしかないと思うです。「 ListImage を使用して」っていうのは、システムイメージリストを使って透過マスクと組み合わせて使うってことなのかな? これでも、結局はどっちかの方法を使うことになると思うです。イメージリストからアイコン化して取り出すか、イメージリスト使って透過ビットマップを書き込むか。
 
・60個あるゆーても、IDとかをちゃんと並べればそれほど大変ではないと思うです。あと、アイコン化するんなら、そーゆーフリーウェアとかあるかもしんないんで探してみるのもいいかも。あ、透明ビットマップ用ボタンを使えるようにしてくれるクラスライブラリやコンポーネントが転がってるかもしんないし、そういうのを探すのもいいかもしれない。
 
・んー、思いつくのはこのくらいかなぁ。あーでも、透明ビットマップ、簡単に貼り付ける方法がありそうな気もする……でもないかもしれない。うむー。
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/04 (Tue)
・今日はお休み。
透明1ドットイメージ
 
2000/04/05 (Wed)
・今日もプログラミングしてないんで、もろもろのことをぽつぽつと。
 
・今日、 STL & iostream 入門の #01 が発行されました。まだ購読登録数が少ないんだけど前週に比べて100くらい増えてるし、今日の STL & iostream 入門ページのヒット数は70に達するほど。それなりの手応えを感じてますです。これからもバシバシリリースしていくんで期待してねん。
 
・リリースと言えばフリーウェア。けしかぶの実質的なバージョンアップが完了したんだけど、めんどくてまだ公開する気ない(汗)。アーカイブ作ったり、ベクターとかへ知らせたり、ホームページ手直ししたり。そいやフリーウェアのホームページは、メニュー形式をやめて、1ページに全部載っける形にしようかなと思ってます。最近わてはこの形式が多いですな(汗)。
 
・昨日からガッコが始まってます。今日は信号処理論。この授業と絡めて、Codianに新しいコンテンツを追加しようと計画しています。その名も「音声処理」。プログラムの「計算機としての使い方」とか、あとはフーリエ変換や Exp の使い方を中心に解説していきたいと思ってます。ってゆーかわてが理解しているか確認するためのもの(爆)。
 
・んでもここ数週間は忙しくなりそうなんですぐは無理かなー。勉強とプログラムの作成はこつこつしていって、ゴールデンウィークにでもページを作るって形にしたいです。あーなんか大変やのぉ。
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/06 (Thu)
・今日はガッコの就職ガイダンスに行ってきました。このガイダンスは「大学推薦枠」についてのもの。こっちから「希望の会社」を提示して、まず大学側で選抜して、そのあと会社側で選抜して、晴れて内内定。ってゆーか大学側の選抜は成績で決まるんでわてにはあんま関係ない話(爆)。成績のいい人はソニーやNTTに優先的に入れる仕組みとゆーわけですな。
 
・いちおー、今はプログラミング関係に入ろうかなと思ってるんだけど、基本的にSEになる気はなくて、パッケージウェア作ってるとこに入ろうかなと思ってます。某氏いわく「プログラマーの役割は、原作を元に絵を起こす漫画家のようなもの」だそうな。つまりプログラマーの出来によってアプリの出来ってのは大きく変わるってことやね。まーこれはゲームの話なんだが(汗)。VBとかじゃあんま関係ないか。
 
・実は、最近はWebデザイナーもいいかなと思ってます。こっちもプログラミング関係あるし、よりわて向けかもしんないかなーと。かぶゆ〜で初めて書くかもしんないけど、わての将来の目標は漫画家か小説家(爆)。その目標に向けてならWebデザイナーの方が向いてるかな? ホームページ作成を外注するってとこはこれからどんどん増えてくだろうし、それこそアプリよかずっと受注量多そうだし。
 
・ま、今はかなりのんびりやってます(爆)。もちっと焦らんとダメかねぇ。どうも性格上焦るってことがなくてねー。自分でも困ってます。こんな人雇った会社は困りそうですな(爆)。
 
・……かぶゆ〜向けのネタでなかったか? でもこの話せんかったらまた休みだし(爆)。そーそー、辞書の単語追加お休みするかも。これは日記で<逆のような気も(汗)。
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/07 (Fri)
・今日はお休みです……。
透明1ドットイメージ
 
2000/04/08 (Sat)
・今日もプログラミングしてないのです。だからお休み。余談だが、日記とかぶゆ〜ってヒット数ほとんど同じなんだよね。で、最近どっちもヒット数下がってる。もしかして休みが多いからかも(汗)。
透明1ドットイメージ
 
2000/04/09 (Sun)
・あうう、今日もお休みです〜。これで3日連続だぁ。ごめんです〜。
透明1ドットイメージ
 
2000/04/10 (Mon)
・今日は情報理論とゆー授業を受けてきました<てなネタを書かなあかんほどここのネタは枯渇しとるんかい!(爆) これ再履なんだけど、去年に比べてえらい丁寧にしようとしてます。たぶん授業アンケートが酷かったんだな(汗)。今日は全体の概要が中心でした。あとパリティの話とか。
 
・情報理論はいわゆる圧縮とかに関係している問題。たぶん(汗)。よーしらんのよ。逆に、勉強したものをできる限りプログラミングに結びつけて、しっかり身に付けていきたいと思っとりますです。だからここに書いたのよん。しかし今日はさわりだけだったんでこれだけ(汗)。
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/11 (Tue)
・今日もプログラミングしてないけど、お便りが2通来てるんで大助かりっす!!(爆) ではひとつめのお便り。
 
透明1ドットイメージ
透明1ドットイメージ
 こんにちは尺八郎です
 
 おかげさまでSTLにもだいぶ慣れてきて
 
for_each(cont.begin(), cont.end(), &func);
 
 なんかも、使えるようになりました。多謝、多謝
 ところが、いちいち、イテレータを毎回書くのが面倒くさいし見にくいです。そこで、
 
for_each(cont, &func);
 
 って、な書き方ができたらいいなって「プログラミング言語C++3rd」591pに書いてあってそれによると
 
	template<class In> struct Iseq : public pair<In, In>{
		Iseq(In i1, In i2) : pair<In, In>(i1, i2){};
	};

	template<class C> Iseq<C::iterator> iseq(C &c)
	{
		return Iseq<C::iterator_type>(c.begin(), c.end());
	};
	
 
 なる。テンプレートを用意すれば
 
for_each(iseq(cont), &func);
 
 と書けるとありました。実際は
 
#define iseq(T) T.begin(),T.end()
 
 こんな、マクロを用意するのとほぼ同等の働きをするもののつもりのようです。
 しかし、この、テンプレートの例うまくコンパイルできません。
 
[C++ エラー] vdWidgetFactory.cpp(49): E2285 Could not find a match for 'for_each<InputIterator,Function>(Iseq<__rwstd::__rb_tree<string,pair<const string,vdWidget *>,__rwstd::__select1st<pair<const string,vdWidget *>,string>,less<string>,allocator<pair<const string,vdWidget *> > >::iterator>,void (* (_closure )(pair<const string,vdWidget *> &))(pair<const string,vdWidget *> &))'.
 
 だそうです。冷静に考えてみるとこのテンプレート引数2つとpairは違うものなんでうまく行くわけないかなって思うんですけれども、kabさんはどう思われます?
 
 別に、深刻に困っているわけではないので
 ちょっと話題提供ということで
 
 ではでは
 
 PS お互い就職活動がんばりましょう
透明1ドットイメージ
透明1ドットイメージ
 
・がんばりましょー。ホント、がんばんないと(汗)。基本的にこれは「関数の引数を省略する方法」だから、たぶんマクロしか方法ないんではないかと(汗)。「プログラミング言語C++3rd」持ってないから明日にでも本屋で見てきますです。これできたら便利なんだけどねー。例えば「同型コンテナふたつ用意して使う」ときとかって、一方の begin() ともう一方の end() とか渡してもコンパイルエラーになんないからねぇ。こんな感じの。
 
	std::vector< int > cVec1( 3, 100 );
	std::vector< int > cVec2( 3, 100 );
	std::fill( cVec1.begin(), cVec2.end(), 100 );	// はいオーバーラン。
	
 
・ iseq() みたいなのできるとこーゆーことなくて便利なんだけどね。オーバーロード関数をを別に作るとか(笑)あるけど、もともとアルゴリズムは「イテレーターを受ける」もんでコンテナとは独立してるってのが基本方針だから、それ変えるのもちょっとね( STL の中心はアルゴリズムだーっ、日経ソフトウェアに書いたヤツわかっとらん!(爆))。やっぱ引数渡す側で省略できたらってのが一番いいですなぁ。
 
 
・もひとつお便り。
 
透明1ドットイメージ
透明1ドットイメージ
 超初心者です。
 VC++で、floatの数値の小数点以下何桁目かを四捨五入若くは、切り捨てで出力するには、どうすればよいのでしょうか?ご指導よろしくお願いします。
透明1ドットイメージ
透明1ドットイメージ
 
・出力方法が分かんないけど、 printf() 系( sprintf() , TRACE() とか)だとこんな感じです。
 
	float f = 1.23456789F;
	TRACE( "%.3f\n", f );	// 1.235
	
 
・ % の後ろに .3 ってありますね。こんなふうに「小数点数字」ってするとその桁数で表示してくれます。この辺は MSDN の「 printf 関数の精度」ってページに書いてあるんで見てくださいです。この値をエディットボックスとかに表示するときは、エディットボックスを CString と結びつけて、上の TRACE() を sprintf() にして文字列に出力してからエディットの CString に渡す、って形がいいと思うです。
 
・この辺は、 VC の本とかじゃなくて C 言語の本とかによく載ってるから、こういうのの応用例がいっぱい載ってる本とか買って勉強するといいかも。ちなみにわてはもってない(爆)。今回だって知らなくて今調べたし。こんなん知らんでもプログラムは組めるのことよ。
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/12 (Wed)
・うむ、また活気づいて来ましたな(爆)。やっぱ「常にお客さんがいる」って大事だなー。誰か金払ってサクラやってもらうか(爆)。
 
・まず昨日の「プログラミング言語 C++ 3rd」の件。 591p に件のアルゴリズム関数が書かれてるけど、一方はちゃんと STL に入ってるの、もうひとつ( std::pair 派生クラス受け取る方)は作者の方が勝手に(爆)作ったもんだから STL には備わってないのよ。
 
・って、この本書いてるの Stroustrup 様だから、将来 STL に備えるつもりで書いてるのかもしんないですな。それかもしくは「テンプレートライブラリはどんどん書き換えちゃっていい」とゆーお告げなのか(爆)。実際、こーゆー形式の拡張なら混乱しなくていいかもしんないなー。
 
・今日のお便り。まずひとつめ。
 
透明1ドットイメージ
透明1ドットイメージ
 先日の、「floatの四捨五入」の件、解決しました。本当に助かりました。
 ありがとうございました。
透明1ドットイメージ
透明1ドットイメージ
 
・おおっ、良かったですー。これからもなんかあったら質問送ってねー。
 
・お便り、ふたつめ。
 
透明1ドットイメージ
透明1ドットイメージ
  こんにちは。現在、VC++でスクリーンセーバーを作成しているのですが、スクリーンセーバーから通常の画面に復帰する場合、ダイアログボックスからのパスワード入力にしてロックをしたいのです。しかし、スクリーンセーバー中でも、「ウインドウズキー」と「Ctrl」+「Alt」+「Del」キーに関しては、イベントがとれず、通常の処理が行われてしまいます。(ウインドウズキーに対し、スタートメニューが表示されるなど) ウインドウズ標準のようなスクリーンセーバによるロックをするにはどうしたら良いのでしょうか? また、全てのキーマップをご存知でしたら、あわせて教えてください。よろしくお願いします。
透明1ドットイメージ
透明1ドットイメージ
 
・うむ、これって結構難しいのかも。えっとまず「Ctrl」+「Alt」+「Del」については MSDN KNOWLEDGE BASE の Q161133 に書いてある方法でできます。具体的な方法はこことかこことかが参考になるかなと。んでも Win9x しか効かないらしい(汗)。どーしましょー。
 
・ウィンドウズキーに関しては調べても分かんなかったです(汗)。んでもフックには引っかかるみたいなんで、キーボードフックをシステムフックとして掛けて、無効化させちゃうとかがいいんじゃないかな。でもウィンドウズキーのキーコード分からないけど(汗)。キーマップに関しては API の Winuser.h を見るのが一番かな。でもこの中にウィンドウズキーない……。
 
・でわまたっ!
透明1ドットイメージ
 
2000/04/13 (Thu)
・今日はお休みですー。
透明1ドットイメージ
 
2000/04/14 (Fri)
・昨日今日と、研究室のホームページを書いてました。身近な人が見るんでなんか緊張する(爆)。だってこことかって基本的に全然知らん人が読むやん、だから気楽なこと書けるしお休みにもできるし〜。
 
・書いたのはメールの設定方法と Telnet の方法。メールのは .forward の作成が中心。 Telnet の方はウィンドウズの Telnet.exe の使い方が中心。どっちもある程度知ってるから書けるけど、わては本来ネットワークは専門外なんで(汗)。ただねー、就職とか考えると、ネットワークはできておかんとならんかなとも思うんでね。
 
・で、アップロードしたら……謎に書き換えられてしまった(泣)。どうやら Frontpage が常駐してるらしくて、リンクがすべてローカルに書き換えられてしまったのです。しゃーないんで Frontpage が作ったページって認識されないよう META タグとか取り除いて再アップロード。今回は大丈夫でありますよーに。人が作ったページを書き換えるのってこーゆーのがあるから面倒なところあるです。でも数年後にわてが書いたのがさらに迷惑かけそうな気も(汗)。
 
・実際、ホームページエディターを使わないでテキストエディタで直接とか、タグを辞書に登録して打ち込んでいるとかゆーのってかなり時代遅れなのかもしんない(汗)。たぶん研究室の方に Frontpage があると思うんで、それ使って慣れておきましょう。ま、研究室関連のはとりあえず一段落なんでひと安心ですな。って全然プログラミングの話ちゃうやん(汗)。
 
・でわまた。
透明1ドットイメージ
 
2000/04/15 (Sat)
・今日はぷらとわを書いてました。今日だけで1話と半分が完成。明日も書いて、ゴールデンウィークまでの分を完成させておきたいです。それにしても、前期はかなり忙しくなりそう……なんとか就職関係だけでも終わらせておきたいかなー。そんな簡単にできるもんでもないけど(汗)。
 
・今日書いたのは、ビットフラグと符号の話。こーゆー中身の話をまずしっかりすることが、ポインタ回りの理解に継ながると思うんで。やっぱりイメージですね。頭の中で想像できることが大事だと思うです。そのためには分かりやすい解説と分かりやすい例、ですかね。ただ図を入れられないのが(汗)。
 
・これからどうするかが課題。一応、まずポインタまで教えちゃうのがいいかなと思ってるんだけど、こーゆー下積みが長いとみんな嫌がりそうで(爆)。ま、必要不可欠なことでもあるんだけどね。そのあとは、ウィンドウを API で作ってみようとか思ってます。この辺のイメージがまだしっかりできてないかなぁ。
 
・何度か言ってるけど、ぷらとわのメインは MFC を読み解くこと。 MFC を読むことで API を理解し、そして自分用のクラスライブラリへの布石にする。んでも API まわりって範囲広いから、どーゆー経路で説明していくかが結構難しいかな。同時に C++ の解説もしてかなあかんからね。その辺も明日考えよー。
 
・でわまたっ!
 
透明1ドットイメージ
透明1ドットイメージ
 こんにちは。 私は現在、NTのサービスに関するプログラムを組んでいます。 実現したい内容は、  1.サービス開始時にスレッドを生成し、以下の処理を行う。  2.システムフックによりマウス・キーボードの動きを監視する。  3.一定時間操作がなかった場合、トップにウィンドウを表示する。  4.ウィンドウ上で、マウス・キーボードのイベントが発生した場合、    パスワードダイアログを表示し、パスワードが正常なら、ウィンドウを    非表示にする。  5.2に戻る。 といった、NT版の擬似スクリーンセーバーです。 1のスレッド生成の部分は、すでに実現できているのですが、 サービスに乗っけてしまうと、システムフックはおろか、 画面の生成さえ上手くできなくなってしまいます。 そもそもサービスからウィンドウを生成することはできないのでしょうか? お願い致します。
透明1ドットイメージ
透明1ドットイメージ
 
 
 
(C)KAB-studio 2000 ALL RIGHTS RESERVED.