■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build38
501
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:04:15
>>498
さんきゅ
502
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:11:12
>>499
戻り値の判定を間違っているとか…
503
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:13:59
>その後、子をTerminateProcess してます。
え?なんで、WaitForで子供が死ぬのを待たなずに強制終了しちゃうの?
>ただスレッドとかその他グローバルに確保してるリソースを解放しないといけない
その「確保しているリソース」ってのは子が「死にそう」〜「死んだ」までに
始末しないとイケナイような際どいものなの?Win32にそんなリソースあったけ?
504
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:14:14
>>499
>子をTerminateProcess してます
工工エエエ(´д`)エエエ工工
505
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:18:00
>>504
スレッドを終了させるわけではないので、OSによるリソース解放を期待できるよ。
COM参照数?
知らんよ。デスクトップPCでそんなもん気にすんな。
数十日間連続稼動させるサーバーじゃねーんだ。
506
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:18:48
>>505
そういう問題じゃないだろ。
507
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:45:18
普通に、終わるのまてんのか!
508
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:54:11
TerminateProcessなんか普通使ったら駄目だろ
エラーが起きてるときとかにだけ使うべき
509
名前:
493
:2005/12/20(火) 00:54:50
>>500
やっぱりそれくらいですよね・・・
Waitしているのは1つの子プロセスのメインスレッドだけなので
たぶん抜けてはいないと思う。
>>502
大丈夫だと思うんだけどなぁ・・・
念のためもうちょい見直します。
>>503-507
子供が死ぬのを「待ちすぎるとよろしくない」使用上の制限があって・・・
特殊な制御系で動かそうって話なんです。
子が大量にmallocしてたりゴミがいろいろあって、
強制終了するにもとりあえずそっちは片付けてからにしろ、ってなことで。
>普通に、終わるまでまてんのか!
待てないんす〜俺も待ちたいんだけど
※愚痴ってしまうと、引継ぎの保守なんで大きく直すにも直せない(ノ∀`)
510
名前:
デフォルトの名無しさん
:2005/12/20(火) 00:59:11
>>509
そんな不毛な処理するな。
そもそも、待ちすぎると言う考えが既に間違い。
もっと素直な方法が存在する。
511
名前:
デフォルトの名無しさん
:2005/12/20(火) 01:04:11
>>509
強制終了するからゴミが残る。
普通に終了すればゴミも残らない。
それより、子プロセスの結果を別のプロセス間通信で行い、
結果を受け取った後は、親はノータッチでいいだろ。
512
名前:
デフォルトの名無しさん
:2005/12/20(火) 01:04:16
よく論理がわからないなぁ。
・子を強制終了させたい->問答無用。TerminateProcessで殺す。
・子を終了させたい->イベントをsetして、子が終了するまで待つ。
の二択だとおもうのだが。
・子を強制終了させたいけど、終了処理もさせたい->え?終了処理に反応するなら
なんで強制終了させる必要があるの?
>子が大量にmallocしてたり
に至ってはmalloc&freeを再燃させようとする陰謀だし
513
名前:
デフォルトの名無しさん
:2005/12/20(火) 01:05:00
CEプログラミングスレではTerminateThread
このスレではTerminateProcess
今日はTerminate系で無理やり殺すのがはやってるのか?
514
名前:
デフォルトの名無しさん
:2005/12/20(火) 01:08:58
>>513
メイワクなハヤリだな…
515
名前:
デフォルトの名無しさん
:2005/12/20(火) 01:11:59
SetEventが終わったあと子は何してんだよ。
516
名前:
デフォルトの名無しさん
:2005/12/20(火) 01:13:26
子供の別スレッドでも待ってるんじゃね?
517
名前:
デフォルトの名無しさん
:2005/12/20(火) 01:16:21
>>515
>>493
の事だから、何かおかしな事をやって居るに違いない。
518
名前:
デフォルトの名無しさん
:2005/12/20(火) 06:06:00
>>511
は、小さなゴミを出すことよりも、デッドロックで2つのプロセス全体がゴミになることを選ぶ馬鹿。
典型的な荒らし。
519
名前:
デフォルトの名無しさん
:2005/12/20(火) 11:27:08
FormatMessageのMSDNのサンプルって、無条件に
バッファの開放をしてるけど、いいの?
LocalFreeが、アドレスチェックしてるみたいだから、
エラーになろうが、つっぱしるのが流儀?
520
名前:
デフォルトの名無しさん
:2005/12/20(火) 11:42:27
iniファイルの書き込みについて。
int x = 1;
TCHAR data[256];
wsprintf(data, "x = %d", x);
WritePrivateProfileSection("section", data, path);
としているんだけど、
[section]
x = 1
フフフフフフフフ…(注:本当は半角のフ)
となっちゃう。フフフフフ…が書き込まれない方法を教えて。
521
名前:
デフォルトの名無しさん
:2005/12/20(火) 11:44:12
>>520
Releaseビルドする
522
名前:
520
:2005/12/20(火) 11:47:06
リリースビルドしたら消えた。不思議ですねえ。
とにかくどうも。
523
名前:
デフォルトの名無しさん
:2005/12/20(火) 11:47:49
>>520
試してないけど、↓でいいんじゃね?
wsprintf(data, "x = %d\0", x);
524
名前:
520
:2005/12/20(火) 11:53:01
>>523
駄目みたいよ。
525
名前:
デフォルトの名無しさん
:2005/12/20(火) 11:57:34
>>520
>TCHAR data[256];
TCHAR data[256] = {0};
526
名前:
デフォルトの名無しさん
:2005/12/20(火) 11:58:43
'\0'をも一つ付けなきゃいかんのだろ。
int len = wsprintf(data, "x = %d", x);
data[len+1] = '\0';
527
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:11:10
>>526
+1いらなくない?
528
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:14:30
MSDN読む限り、
>>523
や
>>526
の方法でヨサゲなんだが、
たしかに上手く行かんなー
529
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:14:51
MSDN読めばわかるけど。
x = 1\0y = 2\0\0
みたいなデータを渡すんだよ。だから、最後に\0を付加する必要がある。
wsprintf(data, "x = %d%c", x, 0);
530
名前:
520
:2005/12/20(火) 12:19:27
色々とありがとうです。
dataの最後は\0が2つ並んでないといけないということだけど、
526のやり方が正しいみたい。525でもいいけど。
523のやり方だとdata[5] = -52となってました。
531
名前:
528
:2005/12/20(火) 12:19:32
あ、嘘付いた。
>>526
ならいける
532
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:20:09
""内に\0書いても、\0入れたいのか終端なのか区別できないだろ。
533
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:24:07
bmpファイルの読み込みで、
普通RGBTRIPLE構造体で動的にメモリ確保して色情報をReadFile関数で読むのですが、
32ビットビットマップ用(?)のRGBQUAD構造体とははなんなんでしょうか・・・
こいつのメンバーは
RGBTRIPLE構造体のメンバ(BYTE rgbBlue, BYTE rgbGreen, BYTE rgbRed)に加え
新しいメンバBYTE rgbReservedというのが宣言されているようです。
現在このメンバの部分には0を格納しなければいけないようですが、いわゆる予約って奴でしょうか
534
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:28:34
>>533
皆、書籍やMSDNをお前の代わりに読んでやるほど暇じゃないんだ。出直せ。
535
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:28:48
>>533
英和辞典は持っていませんか?
536
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:29:12
Reserved 読めますか?
537
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:35:34
すみませんでしたorz
538
名前:
デフォルトの名無しさん
:2005/12/20(火) 12:53:55
書きかけで飯食っていたらレスがいっぱい付いていたが
せっかくなので書いておく。
>>520
そのAPIは複数のキーを1回の呼び出しで出力するためのもの。
各キーはNULLで区切られていて、最後は終わりを表すために
もう1つNULLを付ける必要がある。
A=1\0B=2\0C=3\0\0
というデータを渡すと
A=1
B=2
C=3
と出力される。
フフフフと出力されるのは、VC++のデバッグビルドでは
未初期化のローカル変数が0xCCで初期化されているため。
これを覚えておくとデバッグが楽になる。
キーを1つだけ出力したい場合は、WritePrivateProfileSectionではなくて
WritePrivateProfileStringを使うのが普通。
539
名前:
デフォルトの名無しさん
:2005/12/20(火) 13:27:04
フフフフ
540
名前:
デフォルトの名無しさん
:2005/12/20(火) 13:58:20
デバッグビルド、リリースビルドの話じゃなくて、素直にZeroMemoryすれ。
って話は?
541
名前:
デフォルトの名無しさん
:2005/12/20(火) 14:00:59
>>540
いいえ、そんな安直なプログラミングはすべきではありません。
末尾にナル文字を一つ余計に附加するのが常道です。
#つーか、
>538
なんだがな。
542
名前:
デフォルトの名無しさん
:2005/12/20(火) 14:02:59
>>540
それはたまたまうまく動くだけ。
規格通りのコーディングならきちんと2コ付けるべき。
543
名前:
デフォルトの名無しさん
:2005/12/20(火) 14:55:41
MSDNライブラリのLPSTRやらHWNDの定義みたいなのが載ってるページが見つからないんですが
どの項目でしたっけ?;
544
名前:
デフォルトの名無しさん
:2005/12/20(火) 15:06:26
msdn.microsoft.com/library/en-us/winprog/winprog/windows_data_types.asp
のことか?
545
名前:
デフォルトの名無しさん
:2005/12/20(火) 15:22:34
>544
それですthx
546
名前:
デフォルトの名無しさん
:2005/12/20(火) 15:30:42
>>519
FORMAT_MESSAGE_ALLOCATE_BUFFER
547
名前:
デフォルトの名無しさん
:2005/12/20(火) 18:11:13
>>538
横ですが勉強になりました
#今日までヌルと呼んでいた私は釣ってきます
548
名前:
デフォルトの名無しさん
:2005/12/20(火) 18:31:30
>>547
別にヌルでもいいよ。
>541
が教条主義なだけだから。
549
名前:
デフォルトの名無しさん
:2005/12/20(火) 18:33:42
もうフフフフも怖くないぞ
550
名前:
デフォルトの名無しさん
:2005/12/20(火) 18:48:42
ラミパスラミパスフフフフフ
551
名前:
デフォルトの名無しさん
:2005/12/20(火) 18:57:51
int a = フフフフ;
552
名前:
デフォルトの名無しさん
:2005/12/20(火) 21:30:45
自分以外が作ったチャットソフトの、ログ部分のテキストを取得しようとしています。しかし取得できません。
どなたか助言をお願いいたします。
親(チャットソフト)
-子1(クラス名=Edit) (ウインドウキャプション=””) チャットメッセージ入力用Editコントロール
-子2(クラス名=Static) (ウインドウキャプション=”InputDisableWindow”) チャットのログ表示
***1 Editのテキストはウインドウキャプションがないため、SendMessage-WM_GETTEXTだけではなく
GetWindowTextでも取得できました。
MSDNには「他のプロセス内のコントロールのテキストを取得するには、GetWindowText 関数を呼び出す
のではなく、直接 WM_GETTEXT メッセージを送ります。」と書いてあります。
***2 チャットログが表示されるStaticのほうはSendMessage(HWND ,WM_GETTEXT,〜 で送ると
ウインドウキャプションであるInputDis〜を取得してしまいます。
ステータスバーのようにSB_GETTEXTのような専用メッセージがあるのでしょうか?
それとも根本的に間違った考えなのでしょうか?
553
名前:
デフォルトの名無しさん
:2005/12/20(火) 21:58:29
>>552
Static をベースにサブクラス化してるんじゃないの?
WindowText とは無関係なデータを保持してて、それを表示してる気配がプンプンするのだが…
その 子2 をターゲットに spy++ で WM_USER + マジックナンバー を探ってみるとか?
554
名前:
552
:2005/12/20(火) 23:28:50
アドバイスありがとうございます
サブクラス化について調べて、テストしてみます
555
名前:
デフォルトの名無しさん
:2005/12/20(火) 23:58:53
スレ違いなところに書き込んたため、ここで質問させていただきます。
UnicodeのウィンドウにIMEを使って文字を入力する時、
入力された文字をWM_IME_COMPOSITIONやWM_IME_CHARを使わずにWM_CHARで正確に
文字が取得できますでしょうか??
ちなみにOSはWindows2000です。XPだと取れるっぽいのですが、Windows2000だと
私の環境だと、とれないっぽいのですが、みなさんいかがでしょうか??
つまり、WM_CHARメッセージのWParamがおかしいんです。
556
名前:
デフォルトの名無しさん
:2005/12/21(水) 00:06:59
>>554
もう1点。
Static コントロールのスタイルに オーナードロー(SS_OWNERDRAW) が含まれる場合
コントロールの描画は 親window に委ねられる (WM_DRAWITEM が親へ send される)。
こうなると、当初のログ部分のデータは親内にしか無いことになるので、抜き出しはかなり困難になるかと思われ
557
名前:
デフォルトの名無しさん
:2005/12/21(水) 00:32:51
いろいろ試してみたのですが、どうもうまくいかないので
質問させてください。
ShowWindow(hWnd, SW_HIDE)を使って、自分以外のアプリのウインドウを
外から完全に見えないようにしたいのですが、うまく動作しない
アプリがあります。通常はメインのウインドウも、タスクバー上も
完全に消えるのですが、どうもdelphiなどで作られたものは、
タスクバー上の表示が残ってしまうようでした。
TOOLWINDOWならタスクバーに表示されないという話もあったので、
SetWindowLongで、WS_EX_TOOLWINDOWをセットしなおして、SetWindowPosで
変更を有効にする、またSetWindowLong自体でSWP_HIDEWINDOWをする、
(関係ないと思うけど)EnableWindowを試してみる、などを試しても
うまくいきませんでした。
環境は、Win2000SP4上でVC++6.0proとVC++toolkit2003を両方
試してみました。もしアドバイスなどありましたら、よろしく
お願いします。
558
名前:
デフォルトの名無しさん
:2005/12/21(水) 00:37:02
単にタスクバーに表示されてるウィンドウとデスクトップに表示されてるウィンドウが別物ってだけじゃね?
559
名前:
デフォルトの名無しさん
:2005/12/21(水) 02:24:26
>>557
Winspecterか何かで
>>558
になってないか確認してみれ
560
名前:
デフォルトの名無しさん
:2005/12/21(水) 05:18:03
役に立たないかもしれませんが、
Delphiで作られたアプリは基本的に画面の中央に大きさが0*0でVisibleのウィンドウを
持っていて、画面に表示されているウィンドウはこのウィンドウに所有されています。
561
名前:
デフォルトの名無しさん
:2005/12/21(水) 08:43:15
>>560
BCBも同じだしな。
562
名前:
デフォルトの名無しさん
:2005/12/21(水) 10:06:39
>>561
そりゃライブラリ同じだし。
563
名前:
デフォルトの名無しさん
:2005/12/21(水) 10:24:55
余計なことしやがるなぁ。
564
名前:
デフォルトの名無しさん
:2005/12/21(水) 13:16:02
質問です。
ものすごーい初心者的な質問だと思うのですが、WINAPIはここ見たいなので…。
Windowsを作る際に登録したProcで、WM_LBUTTONDOWNを受け取り
そこでメッセージボックスを表示してみたのですが、
何故メッセージボックスのせいで処理の流れは停止してしまっているのに
ウインドウの再描画などは行われるのでしょうか。
565
名前:
デフォルトの名無しさん
:2005/12/21(水) 13:38:52
>>564
メッセージボックスの方で、MSGを受け付けてよきにはからってくれているから。
566
名前:
デフォルトの名無しさん
:2005/12/21(水) 13:40:39
なるほど。かしこいですねMSGBOX
ありがとうございました。
567
名前:
デフォルトの名無しさん
:2005/12/21(水) 13:56:47
質問。
VC6.0でメニューつきダイアログを作り、メニューの「開く」を選択したら
コモンダイアログを表示しようとしています。
ですが
GetOpenFileName
を呼ぶと必ず0(エラー)になってしまいます。
OPENFILENAME ofn;
memset(&ofn,0,sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hWnd; // ダイアログのHWND
ofn.lpstrFilter = "テキスト(*.txt)\0*.txt\0すべて(*.*)\0*.*\0";
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFileName;
ofn.nMaxFile = _MAX_PATH;
ofn.lpstrTitle = "ファイル名の取得";
ofn.lpstrDefExt = "txt";
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
GetOpenFileName(&ofn);
と、ネットのサンプルをほぼそのまま使っているのですが、何が問題かわかりますでしょうか。
ダイアログのスタイルで「コモンダイアログを出しても良い ○×」という設定があるのでしょうか?
568
名前:
デフォルトの名無しさん
:2005/12/21(水) 13:58:45
試しにダイアログPROCの外で呼んでみた場合、正しく動作しました。
やはりダイアログのスタイル設定あたりでしょうか。
それともダイアログPROCの中からは、コモンダイアログは呼べないのでしょうか。
569
名前:
デフォルトの名無しさん
:2005/12/21(水) 14:08:22
CommDlgExtendedError()は何を返す?
570
名前:
デフォルトの名無しさん
:2005/12/21(水) 14:14:19
えーと、2ですね。
今2は何を表すのか探してます。とりあえず結果だけとりいそぎ。
571
名前:
デフォルトの名無しさん
:2005/12/21(水) 14:19:52
エラーの内容は
CDERR_INITIALIZATION(0x0002)
そこからぐぐって、原因がわかりました。
ofn.lpstrFile = szFileName
の場合
szFileName[0] = '\0';
しておかないといけないようです。
猫プロにもそんなこと書いてなかった(´・ω・`)
推測するに、ダイアログPROCの中で確保したローカル配列変数は、0で初期化されていない。
たまたま猫プロはグローバル変数であり0が入ってた。
たまたまダイアログ作る前にWinMainで作ったローカル配列変数は0が入ってた。
ということでしょうか。なんてこったい。
572
名前:
デフォルトの名無しさん
:2005/12/21(水) 14:23:36
>>571
OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST がついてるからね。
実在するファイル名を szFileName にセットしていた場合は成功すると思うよ
573
名前:
デフォルトの名無しさん
:2005/12/21(水) 16:01:07
ま た 猫 か
574
名前:
デフォルトの名無しさん
:2005/12/21(水) 18:00:52
マウスをクリックさせる関数のようなものはありますか?
マクロで位置を記録して、ある位置にきたらクリックさせたいのです。
575
名前:
デフォルトの名無しさん
:2005/12/21(水) 18:14:56
>>574
SendInput
576
名前:
デフォルトの名無しさん
:2005/12/21(水) 19:32:07
>>571
猫は概要を把握する程度で、詳細はMSDN(それも英語の方)を参照したほうがいい。
577
名前:
574
:2005/12/21(水) 19:46:36
>>575
ありがとうございました
578
名前:
デフォルトの名無しさん
:2005/12/21(水) 20:11:53
あるウィンドウ上のStaticおよびButtonコントロールのウィンドウハンドルを取得するにはどうすればいいですか。
当該ウィンドウのウィンドウハンドルはわかっています。
579
名前:
デフォルトの名無しさん
:2005/12/21(水) 20:18:01
>>578
EnumChildWindows()でWindowクラスを調べてGetClassName()で
"BUTTON"("STATIC")かどうか。
580
名前:
578
:2005/12/21(水) 20:34:15
>>579
ありがとうございました。
同一Windowクラスのコントロールが複数個ある場合、
それらがEnumChildWindows()で列挙される順序は、常に固定ですか?
581
名前:
デフォルトの名無しさん
:2005/12/21(水) 20:39:15
どうやればいいのかわからなくて質問するならわかるのだが、何でAPIの仕様を質問するんだろうな。
MSDN見ればいいし、それに勝る解決法はないだろうに。
582
名前:
デフォルトの名無しさん
:2005/12/21(水) 20:44:24
>>580
site:microsoft.com EnumChildWindows
これでググってごらん。
583
名前:
デフォルトの名無しさん
:2005/12/21(水) 21:20:38
タスクマネージャのネットワークタブで、送信バイト数、受信バイト数ってあるけど、これはどうやって取得するの?
584
名前:
580
:2005/12/21(水) 21:38:03
>>581-582
順序は不定として処理します。ありがとうございました。
585
名前:
557
:2005/12/21(水) 22:23:21
>>558-560
早速のアドバイス、どうもありがとうございます。
ご指摘の通り、大きさ0のウインドウがオーナーになっているため
消えなかったようです。オーナーウインドウを消したら、無事タスクバーの
表示も消えました。まさか、そういう仕様になっていたとは・・・
きっと自力ではなかなか気が付かなかったと思います。
本当に助かりました。どうもありがとうございました。
586
名前:
デフォルトの名無しさん
:2005/12/22(木) 03:09:35
スレ違いな質問でしたらすみません。Windowsを使った
画像処理で簡単な色抜きを行いたいと思い、TransparentBlt()を
用いて処理しようと試みたのですが、msimg32.dllのインポートの
やり方がわからずに色々試してみたのですがエラーが出ます。
またそれを使う場合初めに#include<wingdi.h>と宣言しなければいけない
のでしょうか?
マスクを使った画像処理を出来ればいいのですが、簡易な画像処理方法を
学びたいためTransparentBlt()関数について知りたいです。
どうかご助力お願いします m(_ _)m
587
名前:
デフォルトの名無しさん
:2005/12/22(木) 03:22:41
>>586
まずはMSDN
次はTransparentBltをぐぐってサンプルを探すと良いと思います
それが一番早いかと
588
名前:
574
:2005/12/22(木) 03:51:38
度々すいません。
IEの入力フォームにプログラムを使って文字を表示させたいです。
例えばヤフー(
http://www.yahoo.co.jp/
)のトップの検索文字を入力する欄に
文字を送信して表示させるにはどうしたらよいのでしょうか?
自分で作った他のプログラムのテキストコントロールにはSendMessage()を使って
文字表示ができたのですが、IEになるとどのURLでもGetClassName()で
返ってくる名前が一緒なのです・・・
IEでGetClassName()を使って取得した名前の一覧は
WorkerW
ReBarWindow32
ToolbarWindow32
ComboBoxEx32
ToolbarWindow32
ComboBox
Edit
ToolbarWindow32
ToolbarWindow32
WorkerW
ToolbarWindow32
ATL:1000D0F8
WorkerW
msctls_statusbar32
msctls_progress32
Shell DocObject View
Internet Explorer_Server
Internet Explorer_TridentCmboBx
ちなみにEditにSendMessage()で文字を送ると、アドレスバーの所に表示されます。
589
名前:
586
:2005/12/22(木) 06:14:14
TransparentBltで検索したところ余り参考になるものもなく、
MSDNも見つけにくかったのですが、色々&検索をかけた結果
参考になるものを見つけることができ、その指示どおりにしたところ
ビルドに成功しました。
>>587
氏
色々考えすぎて熱くなってました。これからはもう少し落ち着いて
検索するようにします。再度検索するように指示してくださったことに
感謝します。ありがとうございます。
590
名前:
デフォルトの名無しさん
:2005/12/22(木) 11:59:33
得てしてそんなもんだな。
591
名前:
デフォルトの名無しさん
:2005/12/22(木) 13:12:10
>>588
IEのドキュメントエリアのボタンとかフォームはウィンドウじゃないよ。
だから、外部からSendMessageとかはできない。
キーボード入力をエミュレートして、TAB数発と、文字列を流し込むとかで、できるかも。
592
名前:
デフォルトの名無しさん
:2005/12/22(木) 13:30:49
IEを外部から操作したいならCOM経由が基本だが。
そもそもYahooやGoogleの検索結果を表示させたいだけなら自分で検索結果のURL生成してそれ表示させたほうが楽。
593
名前:
デフォルトの名無しさん
:2005/12/22(木) 14:42:55
モードレスダイアログの親を作成・破棄時に有効・無効化して、
モーダルダイアログとして機能させる事は有りなんでしょうか?
594
名前:
デフォルトの名無しさん
:2005/12/22(木) 15:37:40
>>593
有り無しの判断基準がわからんのでなんとも。
MFCではそういうことやってるようだが。
595
名前:
デフォルトの名無しさん
:2005/12/22(木) 15:39:29
ありです
596
名前:
デフォルトの名無しさん
:2005/12/22(木) 17:35:26
>>593
例えばモーダルダイアログを同時に複数必要とするときなどには常套手段です。
597
名前:
デフォルトの名無しさん
:2005/12/22(木) 18:20:16
case WM_COMMAND:
static int a;
a=rand();
printf("%d",a);
return 0;
なんていうのやめた方がいいですか?
WM_COMMANDが同時に送られた時、a=rand();が同時に実行されたらaのデータが壊れると思うのですが。
598
名前:
デフォルトの名無しさん
:2005/12/22(木) 18:31:51
>>597
それを見ただけでは一概に言えないが、マルチスレッドにしていないなら
メッセージを同時に処理することはできないから大丈夫。
599
名前:
デフォルトの名無しさん
:2005/12/22(木) 18:36:51
case WM_COMMAND:
{
static int a;
a=rand();
printf("%d",a);
return 0;
}
600
名前:
デフォルトの名無しさん
:2005/12/22(木) 18:52:14
>>599
そうやっても同じだと思うのですが
601
名前:
デフォルトの名無しさん
:2005/12/22(木) 19:24:28
>>598
メッセージはシリアライズされるので、マルチスレッドでも大丈夫。
602
名前:
601
:2005/12/22(木) 19:25:08
↑は忘れてくれ。ボケてた
603
名前:
デフォルトの名無しさん
:2005/12/22(木) 20:17:43
EnterCriticalSection ?
604
名前:
574
:2005/12/22(木) 20:49:15
>>591-592
ありがとうございます。COMの方も調べてみます。
605
名前:
デフォルトの名無しさん
:2005/12/22(木) 20:57:14
>>600
case の中で変数宣言すんなってことじゃない?
606
名前:
593
:2005/12/22(木) 21:21:16
>>594
>>595
>>596
どうも、返答ありがとうございます。
607
名前:
デフォルトの名無しさん
:2005/12/22(木) 23:57:28
ここにレスしてくださる神々の皆様は、職業がPGとかSEなんでしょうか?
みんなが使わない様なAPIに詳しかったり、知識が凄かったりするんですが
608
名前:
デフォルトの名無しさん
:2005/12/23(金) 00:01:07
いんやニート
609
名前:
デフォルトの名無しさん
:2005/12/23(金) 00:04:00
メッセージキューはスレッド毎に用意されます。
ちなみに、OSはシステムメッセージキューと呼ばれるキューを一つもっていて、
まず、ここに、すべてのメッセージが蓄えられます。それで、OSによってこのキュー内の
メッセージが動作中のプロセスのスレッド毎に割り当てられたスレッドメッセージキューに
割り振ります。
610
名前:
デフォルトの名無しさん
:2005/12/23(金) 00:55:00
ふつうに社会人なら
こんなとこで便利屋やってないってw
611
名前:
デフォルトの名無しさん
:2005/12/23(金) 02:57:32
例えニートでもみんな結構高学歴な気がします・・・
612
名前:
デフォルトの名無しさん
:2005/12/23(金) 03:06:36
例え高学歴でもみんなニートです・・・
613
名前:
デフォルトの名無しさん
:2005/12/23(金) 03:28:36
高学歴なことは社会では
そんなに重要じゃないです
614
名前:
デフォルトの名無しさん
:2005/12/23(金) 03:51:07
プログラマはかけて何ぼ。ってこれマ板のネタだろ。
615
名前:
デフォルトの名無しさん
:2005/12/23(金) 04:08:18
社会人になって、あまり学歴って関係ないなと思いました。が、
いろな人と接してある程度重要だなってことに気づきました。
高学歴ってことはすなわち、それだけ、努力をしたわけで、
努力をした証になってるわけです。だから、そういう人には
やはり、こつこと努力してどんどん成長してくれる人が多いのも事実です。
だから、私が人事ならやはり学歴はみます。別に頭の良しあしをみるより、
努力できるかという視点で。あくまで、仕事に関してで、人間性はまた別問題だが
616
名前:
デフォルトの名無しさん
:2005/12/23(金) 04:09:56
>>615
マ板でやれ。
まぁ、大学でで頭がよくても使い物にならないプログラマは掃いて捨てるほどいる訳だが。
617
名前:
デフォルトの名無しさん
:2005/12/23(金) 04:32:45
そんな事を言ってる君は既に低学歴って事を証明しているわけで、
まぁ、すぐに人にあたるところからみても、あんまいい人生を送ってないところが
まで見えてしまい、その環境のせいで、性格も悪そうだし、やっぱ、採用したくない。
だから、君をせめたりしないよ。環境が悪いんだ
618
名前:
デフォルトの名無しさん
:2005/12/23(金) 04:42:23
ヒント:スレ違い
619
名前:
デフォルトの名無しさん
:2005/12/23(金) 06:11:01
>>616
が一番の癌なわけだな。
自分より高学歴な人間を上手く使えないだけ。
PGの世界は単純だ。
ペーパーテストの能力が高ければ、PGとしても能力も高い。
コーディングというのは創造性のかけらもない仕事だからだ。
実力差として存在するのは、唯一最善の回答にたどり着けるまでの所要時間の差だけだ。
コーディングは、存在しない機能・仕様を考え出す能力とは別のもの。
620
名前:
デフォルトの名無しさん
:2005/12/23(金) 06:14:59
>>598
見落としていました
ありがとうございます
621
名前:
デフォルトの名無しさん
:2005/12/23(金) 06:53:27
>>619
「PG = コーダー」 と定義した上での話に限れば、
少なくとも定型業務系の仕事なら君の言っていることは正しい。
しかし、現実には「PG = コーダー」とは限らないし、
仕事も定型業務系だけとは限らない。
極度に限定した状況での話しか出来ない
>>619
は多分高学歴なだけの馬鹿。
622
名前:
デフォルトの名無しさん
:2005/12/23(金) 07:01:20
このスレと全く関係の話をしている連中は学歴職業を問わず単なる屑。
623
名前:
デフォルトの名無しさん
:2005/12/23(金) 07:08:49
>>619
どうみても底辺PGです。
ありがとうございました。
624
名前:
デフォルトの名無しさん
:2005/12/23(金) 08:03:44
義務教育を終えた後、レベルの近い学友と切磋琢磨する機会がなかった
>>616
が気の毒だな。
高校入試を手抜きして、高校でレベルの低い周囲を見下して幸せ回路を発動させてただけなのに。
PGとしての能力というものを残酷な数字で比較されることがないので、
自分が凄いレベルなのだと思い込んでしまう高卒PGもいるかもしれない。
625
名前:
619
:2005/12/23(金) 08:26:52
>>624
は私です
626
名前:
デフォルトの名無しさん
:2005/12/23(金) 08:50:50
うるせえハゲ。テメエの意見なんかどうでもいい。
627
名前:
デフォルトの名無しさん
:2005/12/23(金) 08:53:03
ちなみに漏れは高卒〜就職〜酷使PG〜退職〜ニート
628
名前:
デフォルトの名無しさん
:2005/12/23(金) 08:58:10
大学出の人にとっては大学卒は普通のことなので、
わざわざ人を評価するときに大学出かどうかについて触れたりしない。
また、文系・理系の出身学部で得意分野に顕著な違いがあることも知っているので
「大学」とひとくくりにすることもしない。
言いたいことはわかるな?
629
名前:
デフォルトの名無しさん
:2005/12/23(金) 09:43:50
高学歴でも低学歴でもいいからマ板逝け
630
名前:
デフォルトの名無しさん
:2005/12/23(金) 13:16:48
>>628
>文系・理系の出身学部で得意分野に顕著な違いがあること
詳しく
631
名前:
デフォルトの名無しさん
:2005/12/23(金) 13:24:24
VIPでやれ
632
名前:
デフォルトの名無しさん
:2005/12/23(金) 13:27:34
こんなプログラマはVIPに逝け!
・UHFアニメはヤシガニってナンボ
・2chでアク禁喰らうと、妙にうれしくなる
・キンタマウィルスに正義を感じた
・一昨日の晩、久々に神が光臨した
・というか、何でもいいから今すぐ光臨して欲しい
・と思っていたら細木数子が光臨して、まいった
・しかも帰ってくれない
・酔ってやがる
・歌いだした
633
名前:
デフォルトの名無しさん
:2005/12/23(金) 13:28:22
東大卒文系PGの話
社員教育1ヶ月でその辺のへぼ理系情報系院卒PG並に知識を集積
3ヶ月後には物凄い使える人間に
やっぱり理解度と記憶力が半端じゃないらしい
一度失敗すると、二度と同じミスをしないらしい
634
名前:
デフォルトの名無しさん
:2005/12/23(金) 13:31:11
何でここでやるのか、マ板でやらないのか理由を言え。
635
名前:
デフォルトの名無しさん
:2005/12/23(金) 13:50:26
そんなにまともな社員教育できる所なら東大卒じゃなくても使いこなせるだろう
636
名前:
616
:2005/12/23(金) 15:22:17
で、
>619
=
>624
はなんで漏れに粘着しているんだ?
そんなに自分より低学歴な上司に絡まれた恨みを晴らしたいのか?
残念ながら漏れは低学歴でもなければ大卒の部下をそれなりに仕切ってもいるわけだが。
それはさておき、ちょっと質問。
MSDNでWinExec()の説明を読むとCreateProcess()を使えとある。
また、CreateProcess()の説明にもWinExec()はCreateProcess()で実装されているとある。
すると、WinExec()の第二パラメータのSW_*のフラグはSTARTUPINFOに突っ込めばいいということかな?
#確かにdwFlagsの説明にSTARTF_USESHOWWINDOWがあり、wShowWindowにもそう書かれているようだが。
637
名前:
デフォルトの名無しさん
:2005/12/23(金) 15:23:32
すみません、InternetExplorerのアドレスバーに表示されてる
URLを取得する方法はないでしょうか?グローバルフックはすでに
しています。よろしくお願いします。
638
名前:
デフォルトの名無しさん
:2005/12/23(金) 15:47:56
>>636
騙るなw
部下を仕切るような人間が、APIの質問なんかするわけないだろがw
しかも質問内容が、「今さらこんな質問すんな、初心者」的な内容だし。
639
名前:
デフォルトの名無しさん
:2005/12/23(金) 15:48:50
【ゴールデンレス】
∩ ・∀・)∩∩ ´∀`)∩ このレスを見た人はコピペでもいいので
〉 _ノ 〉 _ノ10分以内に3つのスレへ貼り付けてください。
ノ ノ ノ ノ ノ ノそうすれば14日後好きな人から告白されるわ宝くじは当たるわ
し´(_) し´(_) 出世しまくるわ体の悪い所全部治るわでえらい事です
640
名前:
616
:2005/12/23(金) 15:58:59
>>638
うちは本来Unix屋なのでWinAPIの仕事は基本的に半端仕事しかやらない。
部下を仕切るといってもあくまでも現場の人間なので半端仕事は自分で片付けてしまう(そうせざるを得ない)。
半端仕事なんで、自宅でやっているから本その他はない。
参考にしたソースはWinExec()を使っていたので、どうせならCreateProcess()に書き換えておこうと思って質問した。
まぁ、想像力が足りないのはあんたの勝手だが。
641
名前:
デフォルトの名無しさん
:2005/12/23(金) 16:09:04
Unix屋が自分責任で自作コードを試さずに、2ちゃんに質問を書き込むとは恐れ入った。
WinExec()にはUnicode版がない。Unix屋がUnicode対応を気にする必要があるかも考えてみろ。
642
名前:
616
:2005/12/23(金) 16:18:42
>>641
いやだからさ、自分の想像力のなさで思い込むのは勝手だけど、それを前提にどんどん捏造しないでよ。
丁度いいネタだから質問したんであって2chの結果をそのままノーチェックで採用するなんて有り得ないし、
Unicode版を意識してないからこそ頓着しないで質問しているわけだし。
#そうか、WinExec()にはUnicode版がないから、Win32では使うなとMSDNに書かれているのか。参考になった。THXw
643
名前:
デフォルトの名無しさん
:2005/12/23(金) 16:55:06
やはりただのアフォだったか
644
名前:
デフォルトの名無しさん
:2005/12/23(金) 17:08:02
MSDNが意味ありげなのに意味不明な記述するから、
独自実装しなきゃいけないと思い込む人が出てしまう。罪なことだ。
645
名前:
デフォルトの名無しさん
:2005/12/23(金) 17:13:30
Internet ExplorerでF11を押したときのキオスクモードみたいなのを
実装するにはHWNDをどうしたらいいですか?
646
名前:
637
:2005/12/23(金) 20:13:25
解決しました。ありがとうございました。
647
名前:
デフォルトの名無しさん
:2005/12/23(金) 21:19:11
>>642
どの辺が「ちょうどいいネタ」なのか教えてはくれまいか?
648
名前:
デフォルトの名無しさん
:2005/12/23(金) 21:22:32
2chのすべてがおれにとってはちょうどいいネタ。
だが、事実
649
名前:
616
:2005/12/23(金) 21:42:37
>>647
・丁度MSDNを読んでて疑問に思った。
・スレ違いの粘着受けていて突っ込み入れたかったが自分もスレ違いになるのは避けたかった。
・結果更に面白くもない結果になったし、今はちょっと反省している。
650
名前:
デフォルトの名無しさん
:2005/12/23(金) 21:43:10
>>645
はスルーですか?
651
名前:
デフォルトの名無しさん
:2005/12/23(金) 22:06:38
スルーで
652
名前:
デフォルトの名無しさん
:2005/12/23(金) 22:10:57
Internet ExplorerでF11を押したときのキオスクモードみたいなのを
実装するにはHWNDをどうしたらいいですか?
653
名前:
652
:2005/12/23(金) 22:13:08
解決しました。
654
名前:
デフォルトの名無しさん
:2005/12/23(金) 22:14:06
Internet ExplorerでF11を押したときのキオスクモードみたいなのを
実装するにはHWNDをどうしたらいいですか?
655
名前:
デフォルトの名無しさん
:2005/12/23(金) 22:47:43
数学で階乗を求めたときのn!みたいなのを
実装するにはintをどうしたらいいですか?
656
名前:
デフォルトの名無しさん
:2005/12/23(金) 22:52:46
>>655
その質問はこのスレに相応しいと思いますか?
657
名前:
デフォルトの名無しさん
:2005/12/23(金) 23:51:47
おい!高卒のUnix屋に敬意を払えよ。
658
名前:
デフォルトの名無しさん
:2005/12/24(土) 00:31:42
鯖管は板違い
659
名前:
わたこ
:2005/12/24(土) 00:43:23
こんばんは、わたこと申します。
只今、あるアプリケーションが通信を行おうとすると、
端末ユーザにこのアプリが通信を行うことを許可するかどうかの確認をとるという、
PersonalFireWallのような機能のプログラムを作成したいと考えております。
パケットの監視自体はSOCKETやWinPCAP等を用いればできると思うのですが、
どのアプリケーションが行う通信であるか、という情報はパケットからは得られないと
思います。
そこで、通信が発生した際に、それがどのアプリのものであるかを返すような
APIは存在しないでしょうか。APIを用いる以外の方法でできる、という
情報をお持ちの方も、ご教授していただければ幸いです。
よろしくお願いいたします。
660
名前:
デフォルトの名無しさん
:2005/12/24(土) 00:47:41
WinXPでのアプリケーションで、
指定されたフォルダを一気に作るAPIを教えてください。
あと、そういったフォルダを作成する場合、そのアプリケーションが
アドミンで実行されていない場合、場所によっては作成できないんですよね?
よろしくおねがいします
661
名前:
デフォルトの名無しさん
:2005/12/24(土) 05:17:14
>>660
>指定されたフォルダを一気に作るAPIを教えてください。
MakeSureDirectoryPathExists
662
名前:
デフォルトの名無しさん
:2005/12/24(土) 09:50:13
>>661
660ではないが、これは知らなんだ。(1個づつCreateDirectoryしてた)
サンキュー!
663
名前:
デフォルトの名無しさん
:2005/12/24(土) 12:34:23
WindowsXPでタスクマネージャのようなプロセスのイメージ名が取れるAPIがあれば教えて頂けないでしょうか。
できればプロセスの実行元ファイルのパスなどでも良いのですが・・・
よろしくお願いします。
664
名前:
デフォルトの名無しさん
:2005/12/24(土) 12:42:56
ttp://dream.my-sv.net/upload/src/up0056.zip
>>663
これのソースでも読んでみろニダ
665
名前:
デフォルトの名無しさん
:2005/12/24(土) 12:44:48
Tool HelpかPSAPI
前者なら、CreateToolhelp32Snapshot()辺りから調べること。
後者ならEnumProcesses()あたりから。
666
名前:
デフォルトの名無しさん
:2005/12/24(土) 13:01:54
>>664-665
ありがとうございました!
667
名前:
デフォルトの名無しさん
:2005/12/24(土) 18:58:02
800KBのXMLファイルを読み込む自作ソフトは駄目ですかね??
使う側からの意見をまじめにお願いします。将来的には800KB*4個くらい使いますが、
読み込むのはそのうちの一つです。
初めはCSVでサイズも200KBだったのですが、データが本来ツリー構造だったので、XMLにしてみました。
ちなみに、MS-Cabinetで圧縮しようかと思ったのですが、実行時に毎回解凍するのもあれかな・・なんて
668
名前:
デフォルトの名無しさん
:2005/12/24(土) 19:17:11
いいよ
669
名前:
デフォルトの名無しさん
:2005/12/24(土) 19:22:46
>>667
別に気にしないよ
670
名前:
デフォルトの名無しさん
:2005/12/24(土) 19:33:50
>>667
ぶっちゃけどうでもいいよ
671
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:01:08
とある外部の実行ファイルhoge.exeがポートXを開いて通信していることが分かっているときに,そのソケットIDを取得するAPIってありますか?
672
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:03:14
ファイルサイズ自体は気にしないなあ
読み書きには気を使うけどね
特に長ったらしい文字列と格闘するのがだるい
673
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:05:16
ありがとうございます。
ちなみに、エディタを搭載していて、強調表示する予約語とコード補完とパラメータ
補完に使用するメソッドの宣言のデータです。で、メソッドにオーバーロードされている関数が含まれていたので。
ちなみに、まだ、途中ですが、
http://homepage2.nifty.com/whale-whale/
こんな感じです。データベースに接続し、SQL文を実行して、その結果をグリッドに
表示します。
グリッドは固定列表示や列でのグループ化や列の位置を自由に調整できます。
まぁ、このソフトは社会人にしか需要がありませんが。
674
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:09:46
>>673
下世話な事かもしれないが、この形で200k↑のファイルってオーバーフローしそうな気がするんだが大丈夫なのかね
675
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:14:15
673です。
すみません、どこでオーバーフローするのでしょうか??
XMLは起動時に読み込んで、それを内部で検索しやすい形のデータ構造に変換しています。
で、コード補完時に、キャレット位置の直前のトークンから必要なメソッドだけを取り出して、
補完リストに表示させています。XMLも800KBとありますが半分以上はタグとか属性でサイズを
食っています。
676
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:24:54
>>674
いやね、業務用っぽいが、こういうRDBって一点集中あんまりすると仕様変更時のリスクが上がるわけで
俗っぽい言い方すると柔軟性に欠けるんじゃないのかねと
普通はもうちょいデータばらして管理分散するもんじゃ?
677
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:26:00
675だった、自分にレスしてどうするorz
678
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:37:10
ははは。
675です。
おもいっきり、業務用です。XMLのデータはエディタで使う予約語とメソッドの宣言の
データだけです。それ以外のアプリケーションの設定データはiniファイルを使用しています。
エディタのそれ以外のデータも。
で、接続するデータベースのバージョンによって、予約語とかメソッドの数や種類が違うので、
その分XMLファイルを用意しようと思っています。
679
名前:
デフォルトの名無しさん
:2005/12/24(土) 20:56:26
DB版グループウェアみたいな感じにでもするのかね?
まあAPIの話から脱線してるしスレ違いだからROMに戻るよ
680
名前:
デフォルトの名無しさん
:2005/12/24(土) 22:23:05
WndProc に関してです……
WndProc 内に処理を書くのでは、どうしても諸情報がグローバル変数になっちゃうのが嫌で嫌で、
メッセージループ内で GetMessage した後 DispatchMessage する前にメッセージ処理させようとしたんですが……
WM_ACTIVATEAPP とかのメッセージが捕まりません。なんで〜。・゚・(ノД`)・゚・。
681
名前:
デフォルトの名無しさん
:2005/12/24(土) 22:50:56
>>680
そんなあなたにWTL♪
682
名前:
デフォルトの名無しさん
:2005/12/24(土) 23:04:55
CopyRectってあるけど、構造体のコピーって
ANSIで認められてないんだっけ?
683
名前:
682
:2005/12/24(土) 23:06:50
あ、いかん撤回。
書いたぞばから気が付いた、
CだけがCallerとは限らないんだ
684
名前:
デフォルトの名無しさん
:2005/12/24(土) 23:19:09
>>680
全てのメッセージがGetMessageで捕まるわけではない。
各ウィンドウプロシージャへ直接送られるメッセージもある。
ちなみに自分からメッセージを送るときには
前者ならPostMessageで、後者ではSendMessageを使う。
685
名前:
デフォルトの名無しさん
:2005/12/24(土) 23:19:41
>>680
確か、一部がコールバックのみにしか行かなかったからだと思う。
WM_PAINTやWM_COMMANDもうまく行かないはず。
コールバックで来たメッセージを記憶し、
それだけはグローバル変数(関数のstatic)を我慢して使い、
GetMessageした後の部分で調べて処理するのがいいかな。
686
名前:
デフォルトの名無しさん
:2005/12/24(土) 23:28:13
SendMessageですら送受信のスレッドが同一なら直接ウィンドウプロシージャが呼び出される
687
名前:
デフォルトの名無しさん
:2005/12/24(土) 23:32:19
あれだろ、メッセージキューを使うのと使わないメッセージの差
688
名前:
デフォルトの名無しさん
:2005/12/25(日) 00:38:52
マイクロソフトが定義してあるマクロの一覧が欲しいのですが
WEBでないでしょうか?
たとえば、
RECTとかLPRECT、LPCTSTRみたいなもの
689
名前:
デフォルトの名無しさん
:2005/12/25(日) 00:46:30
>>688
それ全部マクロではないよ。typedefが使われている。
それはともかくとして全部ではないけれど大部分はここに載っている。
http://msdn.microsoft.com/library/en-us/winprog/winprog/windows_data_types.asp?frame=true
690
名前:
デフォルトの名無しさん
:2005/12/25(日) 00:46:57
>>688
grep
691
名前:
689
:2005/12/25(日) 00:47:14
と思ったけどごめん、構造体の類は載っていないね。
692
名前:
688
:2005/12/25(日) 00:53:33
>>689
さんくす!これです。
マクロじゃなくて、型定義でしたね。
ありがとうございました。
693
名前:
デフォルトの名無しさん
:2005/12/25(日) 00:59:42
なぜこれを定義する必要があったんでしょうかね?
#define VOID void
voidでいいじゃん
694
名前:
デフォルトの名無しさん
:2005/12/25(日) 01:03:42
INT
UINT
BYTE
LONG
void <---ショボスwwwwm9(^A^
WORD
DWORD
ってなるから
695
名前:
デフォルトの名無しさん
:2005/12/25(日) 01:09:31
>>693
たまたまC/C++ではtypedefされているだけでWin32APIを使うのはC/C++だけとは限らないから。
696
名前:
デフォルトの名無しさん
:2005/12/25(日) 01:16:51
1.ウインドウを作成
2.ツールバーコントロール(ToolbarWindow32)を付ける
3.ボタン以外の部分をダブルクリック
ダイアログウインドウらしき物が一瞬出て消えるけど、
これは何?
697
名前:
デフォルトの名無しさん
:2005/12/25(日) 01:31:58
API関数を自作することって出来るのですか?
698
名前:
デフォルトの名無しさん
:2005/12/25(日) 01:36:27
はい
699
名前:
デフォルトの名無しさん
:2005/12/25(日) 01:37:51
>>660
SHCreateDirectoryEx
700
名前:
デフォルトの名無しさん
:2005/12/25(日) 02:43:30
>>696
CCS_ADJUSTABLE
701
名前:
デフォルトの名無しさん
:2005/12/25(日) 09:14:50
>>694
でもWinAPIではINTよりintが多用されているという事実。
>>697
でもそれは何かのAPIであってもWinAPIではないよ、一応言っておくけど。
702
名前:
デフォルトの名無しさん
:2005/12/25(日) 13:16:06
WindowsXPスタイルで表示する場合にマニフェストファイルを使ったりしますよね?
それを使った場合で、トラックバーの範囲をハイライト表示する機能がMSのバグ?で表示されない問題があったと思いますが
何か対処ご存知の方いますか?
トラックバーだけWindowsXPスタイルを適用しない、という方法以外で。
よろしくおねがいします。
703
名前:
デフォルトの名無しさん
:2005/12/25(日) 14:10:42
>>702
スクロールバーに仕様変更する。
トラックバーはつまみが小さく感じることが多く使い勝手悪し。
704
名前:
デフォルトの名無しさん
:2005/12/25(日) 16:13:55
ウィンドウ右上の×ボタンを押した時の履歴をとりその情報を蓄積。
あっ…やべ、消しちまった。
って思ってメニューを選ぶと閉じたアプリケーションを再び開いてくれる
常駐ソフトを作るとしたら、核となる全てのウィンドウの×ボタンが押される
タイミングを監視する部分はどう実装すればいいと思われますか?
705
名前:
デフォルトの名無しさん
:2005/12/25(日) 17:10:23
それが核かよ
706
名前:
デフォルトの名無しさん
:2005/12/25(日) 18:00:15
>>705
頑張って作ってみてくれませんか
707
名前:
デフォルトの名無しさん
:2005/12/25(日) 18:07:15
間違って消して舞うことあるあるw。
708
名前:
デフォルトの名無しさん
:2005/12/25(日) 18:52:07
コントールボックスをダブルクリックで閉じたり、タスクバーから閉じたり
誰もが×ボタンで閉じるとは限らないからお前専用のアプリだな
709
名前:
デフォルトの名無しさん
:2005/12/25(日) 19:05:59
>>703
ありがとうございます。
スクロールバーって範囲をハイライトで表示できましたっけ?
710
名前:
デフォルトの名無しさん
:2005/12/25(日) 19:06:25
ウィンドウを復元するのは難しくないか?
閉じるふりして非表示にしておき、
一定時間経ったら undo する意思がないとみなして
本当に閉じる、っていうのなら可能かも。
711
名前:
デフォルトの名無しさん
:2005/12/25(日) 19:55:21
Alt + F4が好きだな
712
名前:
デフォルトの名無しさん
:2005/12/25(日) 20:15:17
> 閉じるふりして非表示にしておき、
> 一定時間経ったら undo する意思がないとみなして
> 本当に閉じる、っていうのなら可能かも。
その機能少しだけ試してみたいかも
>>708
SC_CLOSEをフックすることとかできないんだっけ。
713
名前:
agesage
:2005/12/25(日) 21:04:16
エクセルみたいな20×20の表を作り、その中にデータを入れていきたいんですけど
APIで作るのは、厳しいですか?また、どんな、APIを使えばいいですか?お願いします。
714
名前:
デフォルトの名無しさん
:2005/12/25(日) 21:07:33
>>713
EDITコントロール
715
名前:
デフォルトの名無しさん
:2005/12/25(日) 22:02:28
WinAPIではないけれどFlexGridコントロールはどう?
716
名前:
agesage
:2005/12/25(日) 22:51:38
>>714
>>715
ありがとうございました。
そして、すみませんでした。環境を書くのを忘れていました。
XP(HOME),VC2003 です。
エディットコントロールで、がんばってみます。
717
名前:
デフォルトの名無しさん
:2005/12/26(月) 01:25:35
VisualC++6.0を使っています。
リストボックスの項目をダブルクリックすると、その項目の文字列を取得するプログラムは
どうやって作ればいいのですか?
リストボックスをダブルクリックしたときのメッセージがLBN_DBLCLKというのはわかったのですが
そのときにどういうプログラムを組めばいいのかわかりません。
よろしくお願いします
718
名前:
デフォルトの名無しさん
:2005/12/26(月) 01:45:37
>>717
LB_GETTEXT
ttp://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/listboxes/listboxreference/listboxmessages/lb_gettext.asp
719
名前:
デフォルトの名無しさん
:2005/12/26(月) 01:54:21
>>718
英語読めません!!!
720
名前:
デフォルトの名無しさん
:2005/12/26(月) 02:01:23
>>719
んじゃ、語学からどうぞ。
721
名前:
デフォルトの名無しさん
:2005/12/26(月) 02:11:03
SendMessage(HWND,LB_GETTEXT,SendMessage(HWND,LB_GETCURSEL,0,0),(LPARAM)pText);
こんな感じですか?HWNDは、リストボックスのハンドルらしいですが、ウインドウプロシージャの
第一引数でいいんですか?あと、最後のpTextはchar *pText;と定義したものを使うのですか?
722
名前:
デフォルトの名無しさん
:2005/12/26(月) 07:56:45
>>713
DHTMLでtable使うのはどう?
723
名前:
デフォルトの名無しさん
:2005/12/26(月) 12:08:44
マルチモニタの環境で、1つのディスプレイだけを消灯させたいのですが、
省電力の設定が個別に出来ません。
両方消えてしまう・・・・
これは片方ずつ設定は可能なのでしょうか?
724
名前:
デフォルトの名無しさん
:2005/12/26(月) 12:37:50
>>723
スレ違い
725
名前:
デフォルトの名無しさん
:2005/12/26(月) 12:48:47
例えばTCHAR ptStr[32]=TEXT("642");として
これを数字に変換する場合、atoiで変換するのはまずいですよね..
その場合MSはどの様なAPIを提供してますか?
726
名前:
デフォルトの名無しさん
:2005/12/26(月) 12:51:09
>>725
VC/BCCは独自に<tchar.h>で_ttoiを用意している。
どうしてもWinAPIでやりたければ<shlwapi.h>にStrToIntがある。
C++ならstd::basic_istringstream<TCHAR>やboost::lexical_castも使える。
727
名前:
デフォルトの名無しさん
:2005/12/26(月) 12:52:31
>>726
ありがとうございます、勉強してきます
728
名前:
デフォルトの名無しさん
:2005/12/26(月) 14:30:54
Petzold の Unicode 入門の話で出てきた最後のサンプルプログラムで
VC2003 のプロジェクトのプロパティで プリプロセッサの定義の項目で UNICODE 識別子を入れたら
警告が表示されて、表示も変になりました。
しかし、 _UNICODE 識別子も追加するとメッセージボックスの表示は元に戻りました。
これは UNICODE 識別子によって WCHAR などの型が有効になるだけであって、
_UNICODE を定義しなければ関数のワイド文字版と解釈されないということでしょうか。
729
名前:
デフォルトの名無しさん
:2005/12/26(月) 17:02:53
新しいプロセスを作って、
そのプロセスが終了した時の戻り値を参照したいのですが、
どうすればいいですか?
環境は、Windows2000で、VC++.netです。
730
名前:
デフォルトの名無しさん
:2005/12/26(月) 17:17:47
>>729
つ [CreateProcess(), GetExitCodeProcess()]
731
名前:
デフォルトの名無しさん
:2005/12/26(月) 17:26:08
>>721
pTextに十分な(LB_GETTEXTLENで得られる以上の)領域を確保していればいい。
732
名前:
デフォルトの名無しさん
:2005/12/26(月) 17:37:54
>>725
strtol
wstrtol
というものもある
733
名前:
729
:2005/12/26(月) 17:55:14
>>730
どうもです。検索語すら思いつかなかったので助かりました。
734
名前:
デフォルトの名無しさん
:2005/12/26(月) 18:08:25
CreateWindowExをつかってタブを貼り付けたんですがXPスタイルにするには、
どうすればいいんですか?
環境はVC++6.0です。
暇があったらでいいです。
735
名前:
デフォルトの名無しさん
:2005/12/26(月) 18:59:41
>>734
manifestとか
736
名前:
デフォルトの名無しさん
:2005/12/26(月) 20:11:36
>>728
UNICODE が Win32用で
_UNICODE が CRT用
737
名前:
デフォルトの名無しさん
:2005/12/26(月) 20:15:00
すんません。
MFCのCSocketクラスを使って、TCP/IPのサーバを作ってしまいました。
たまたま、下記URLの記事を見てしまって、ブルーになってます。
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/articles/csocket.html
普通は、どうやって作るのが普通なんですか?
738
名前:
728
:2005/12/26(月) 20:17:37
>>736
どうもありがとうございます。
納得できました。
739
名前:
デフォルトの名無しさん
:2005/12/26(月) 20:34:18
>>737
API直
740
名前:
デフォルトの名無しさん
:2005/12/26(月) 20:40:39
>>739
もしかして、
LoadLibrary("winsock.dll");
ってやって、直叩きですか?
当りなら、どこかお勧めのサンプルコードのURLとか・・お願いします。
741
名前:
デフォルトの名無しさん
:2005/12/26(月) 20:47:10
おまいさんはGDIを直接使うのに
LoadLibrary("gdi32.dll");
からはじめる人かね?
742
名前:
デフォルトの名無しさん
:2005/12/26(月) 21:15:34
>>741
なんとなくわかった。サンクス
↓をヒントにしようと思う
http://wisdom.sakura.ne.jp/system/winapi/winsock/winSock1.html
これで、UNIX系で普通にやってるみたいにlistenしてacceptして、
forkする代わりにスレッドでも起こせばよいのかな
743
名前:
デフォルトの名無しさん
:2005/12/26(月) 21:22:28
すまん、一点疑問が・・・
GetMessageでイベント待つのと、acceptでコネクション待つのを同時に待ちたいのだけど・・
どうするんだ?
unix系なら、FDがあれば、selectで自分で同期とれるけど・・CSocketでblackboxだった部分を
実装せにゃあかんのかな?
・・・一晩悩んで見ます。
744
名前:
デフォルトの名無しさん
:2005/12/26(月) 21:29:24
>>737
よく分からんが、これなんかどうよ?
ttp://x68000.q-e-d.net/~68user/net/
745
名前:
デフォルトの名無しさん
:2005/12/26(月) 21:34:02
>743
WSAEventSelectしてMsgWaitForMultipleObjectするか、
WSAAsyncSelectしてウインドウメッセージで飛ばすか。
746
名前:
デフォルトの名無しさん
:2005/12/26(月) 22:04:19
Visual Basicのようにダイアログボックスがメインなプログラムを
C++でするにはどうすればいいんですか?
どのサイトでも最初に空のウィンドウを作ってて
ダイアログボックスを主にする方法が解らないんです。
747
名前:
デフォルトの名無しさん
:2005/12/26(月) 22:09:09
WinMainからDialogBox
748
名前:
デフォルトの名無しさん
:2005/12/26(月) 22:19:52
空のウィンドウは作らなくてもいいって事ですね。
しかし、DialogBoxParam()で引数の親ウィンドウハンドルをNULLにすると表示されません…。
749
名前:
デフォルトの名無しさん
:2005/12/26(月) 22:27:36
・ShowWindow
・WS_VISIBLE
750
名前:
デフォルトの名無しさん
:2005/12/27(火) 11:49:38
WriteProfileStringでのINIファイルへの書込みって
スレッド間の排他、プロセス間の排他等の面倒は見てくれてますよね?
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.