トップページ⇒tech
1001コメント290KB

Win32API質問箱 Build47

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2006/11/13(月) 08:56:12
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-5くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(http://msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
0951デフォルトの名無しさん2006/12/14(木) 01:02:22
ochinchin.h を omanko.cpp に #include したのに IsDoutei() で TRUE が返って来るんですが。
0952デフォルトの名無しさん2006/12/14(木) 01:26:52
>>948
sei.lpIDList
0953デフォルトの名無しさん2006/12/14(木) 01:28:38
>>917
WM_CLOSE、WM_COMMANDを拾えないのホント不便だよな。
0954デフォルトの名無しさん2006/12/14(木) 01:30:07
>>951
omanko.cppをよく見ろ

#if AGE <= SYOUGAKUSEI
#include "ochinchin.h"
#else
#error doutei ga yurusareru noha syougakusei made dayone
#endif
0955デフォルトの名無しさん2006/12/14(木) 09:05:51
SendMessage(GetDlgItem(hWnd,CTR_LIST),LB_ADDSTRING,0,(LPARAM)"TEST");
で、LISTBOXにアイテムを追加したいのですが、
Windowプロシージャの中に書かないとLISTBOXにアイテムが追加されません。
Windowプロシージャの外からはできないのでしょうか
0956デフォルトの名無しさん2006/12/14(木) 10:07:32
Windowプロシージャの外ってどこだ?
その場合ちゃんとウィンドウハンドルはとれてるのか?
0957デフォルトの名無しさん2006/12/14(木) 10:40:57
フロントエンドアプリを作りたいのですが、
コンソールアプリを実行して、コンソールに表示される文字列を拾ってくるには
どうやったらいいのでしょうか?
0958デフォルトの名無しさん2006/12/14(木) 11:01:53
>>957
パイプ
0959デフォルトの名無しさん2006/12/14(木) 13:48:22
ShellExecuteでホームページを
0960デフォルトの名無しさん2006/12/14(木) 13:51:34
その後>>959の姿を見た者は誰もいなk
0961デフォルトの名無しさん2006/12/14(木) 13:57:14
httpプロトコルに関連付けられたブラウザを調べるにはどうすればいいですか?
0962デフォルトの名無しさん2006/12/14(木) 13:59:43
>>961
>httpプロトコルに関連付けられたブラウザ
意味不明
0963デフォルトの名無しさん2006/12/14(木) 14:02:03
>>962
例えば
ShellExecute(NULL, "open", "http://www.google.co.jp/";, NULL, NULL, SW_SHOWNORMAL)
ってやったら漏れの場合operaが開くんですが、
開く前にどのブラウザが関連付けられているか調べたいのです。
0964デフォルトの名無しさん2006/12/14(木) 14:10:32
>>963
HKEY_CLASSES_ROOT\http\shell\open\command
HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application

このへん
0965デフォルトの名無しさん2006/12/14(木) 14:21:38
>>964
ありが�d�d�d
0966デフォルトの名無しさん2006/12/14(木) 14:36:57
個人的にはFindExecutableの方が好み。

レジストリのHKEY_CLASSES_ROOT\http\shell\openとかいう部分は
95からvistaまで同じなんだろうか?
0967デフォルトの名無しさん2006/12/14(木) 14:46:36
>>966
それ、試してから言ってる?

ローカルの.htmlならそれでいけるだろうけどねー
0968デフォルトの名無しさん2006/12/14(木) 14:51:00
勘違いスマソ
0969デフォルトの名無しさん2006/12/14(木) 16:37:15
デフォルトのVerbがopenでない可能性もあるよね。
HKEY_CLASSES_ROOT\htmlfile\shellの既定の値も見ないと。
0970デフォルトの名無しさん2006/12/14(木) 16:39:21
間違えた。
HKEY_CLASSES_ROOT\HTTP\shellの既定の値。
0971デフォルトの名無しさん2006/12/14(木) 17:15:28
>>955
hWndが適切な値になってないだけとか。
0972デフォルトの名無しさん2006/12/14(木) 17:32:49
>>969-970
>>963は"open"と指定してるから既定値みる必要ないんでない?
0973デフォルトの名無しさん2006/12/14(木) 22:02:58
タブ付?リストボックスの作り方がいまいちよくわからないのですが
教えていただけませんか?

エクセルでいうなら一番上のA,B,Cとかいう選択できるタブみたいな奴なんですが
うまく言葉で表せれないorz
09749732006/12/14(木) 22:19:08
こういうのです
http://chiffon.ty.land.to/src/Chiffontea0457.bmp
0975デフォルトの名無しさん2006/12/14(木) 22:23:03
>>973
ListViewでググれ
0976デフォルトの名無しさん2006/12/14(木) 22:26:52
>>927
ヒント: ウィンドウステーションとデスクトップ
09779732006/12/14(木) 22:30:33
>>975,976
うおおおおう!!
ありがとうごぜぇますだ!!!リストビューって名前だったのね
09786102006/12/15(金) 00:22:48
>>976
ヒント:対話的?
0979デフォルトの名無しさん2006/12/15(金) 08:48:46
閉じたウィンドウの、ウィンドウハンドルの値って、他のウィンドウが生成される際に再利用されるんでしょうか?
というか、されると思うのですが、それって、直ぐに再利用の対象になるのでしょうか?それともずっと後になるのでしょうか?
0980デフォルトの名無しさん2006/12/15(金) 09:42:30
デバッガ持ってないの?
0981デフォルトの名無しさん2006/12/15(金) 10:54:23
>>979
システムによるし、そういうのを前提としたものを作ってはいけない
0982デフォルトの名無しさん2006/12/15(金) 14:59:13
MSDN見てたら

Microsoft is conducting an online survey to understand use of MSDN Online.
We’d like to see which pages you visit today and then have you complete a
survey when you leave MSDN Online. Would you like to participate?

ってウインドウが突然上から降りてきて死ぬほどびびった〜

ええかげんにせえよ心臓止まるかと
0983デフォルトの名無しさん2006/12/15(金) 15:14:07
メインウィンドウに貼り付けてあるリストボックスで、
項目がダブルクリックされたときにだけイベントを発生させるにはどうすればいいのでしょうか
0984デフォルトの名無しさん2006/12/15(金) 15:31:53
WM_COMMAND
LBN_DBLCLK
0985デフォルトの名無しさん2006/12/15(金) 15:41:42
>>984
case WM_COMMAND:
  switch(LOWORD(wParam)) {
    case .....
となっているのですが、switch(LOWORD(wParam)){
のcaseに
case LBN_DBLCLKを書くんですか?
それとも、case リスト:内にif文を書くんですか?
0986デフォルトの名無しさん2006/12/15(金) 15:50:32
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/menureference/menumessages/wm_command.asp
0987デフォルトの名無しさん2006/12/15(金) 16:54:28
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listboxes/listboxreference/listboxmessages/lbn_dblclk.asp
0988デフォルトの名無しさん2006/12/15(金) 17:19:58
ほんとにウィンドウ降ってきてワロタ

>>990
次スレよろしく
0989デフォルトの名無しさん2006/12/15(金) 17:20:37
駄目だ・・・・キレそう・・・プチッと。
0990デフォルトの名無しさん2006/12/15(金) 17:41:42
次スレ

Win32API質問箱 Build48
ttp://pc8.2ch.net/test/read.cgi/tech/1166172047/
0991デフォルトの名無しさん2006/12/15(金) 17:49:28
乙
09929792006/12/15(金) 17:51:29
>>980
デバッガなどで表示して、しばらく確認した感じだと、
うちの環境(XP SP2)では、再利用されているのは無かったんですが、
そのへんの仕様が知りたいなと思いまして・・・

>>981
ごもっともです。。
他プロセスのウィンドウを区別するのに、一番手軽なので、
ウィンドウハンドルをキーにしていたのですが、考え直そうと思います。
今後の参考に、「システムによる」の部分を教えていただけると嬉しいです。
0993デフォルトの名無しさん2006/12/15(金) 18:33:35
いつ128ビットモードで動くんだ?
0994デフォルトの名無しさん2006/12/15(金) 18:40:50
>>992
Win16とWin32でメモリ空間の扱いがかわったからね。
0995デフォルトの名無しさん2006/12/15(金) 20:16:18
>>992
GetWindowThreadProcessId()
ただしIDもプロセスが終了してすべてのハンドルが閉じられると再利用されるので
それが困る場合はプロセスハンドルを1つは開いておくように
0996デフォルトの名無しさん2006/12/15(金) 20:53:14
1000ならバグが3個減る。
0997デフォルトの名無しさん2006/12/15(金) 20:56:33
絶対無理。
0998デフォルトの名無しさん2006/12/15(金) 20:59:04
998ならバグがあと998,998個
0999デフォルトの名無しさん2006/12/15(金) 21:01:08
1000なら1ヶ月ぶりに休みが取れる…
1000デフォルトの名無しさん2006/12/15(金) 21:07:22
if(line==1000)goto 次スレ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。