[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/22 11:35 / Filesize : 228 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build52



1 名前:デフォルトの名無しさん [2007/04/18(水) 01:54:51 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

388 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 13:06:45 ]
>>381に便乗質問だけど

SHGetFileInfo に空文字渡すとフォルダのアイコンが返ってくるけど、
これでいいんですか?

389 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:07:46 ]
おまえらほんと捻くれてるよな

390 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:16:36 ]
必要な戻り値の型推論ができないだけ

391 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:25:28 ]
GetMessageの戻り値みたいに融通効かせてください><

392 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 18:08:30 ]
キャストしろ

393 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 18:34:01 ]
僕を神にしてください

394 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 19:57:54 ]
キャストしろ

395 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:02:55 ]
delete[]すればいんじゃね?

396 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:06:27 ]
洞窟の出口で秘宝を奪うべく待ってればいいと思うよ



397 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:18:21 ]
APIもせめて同じような定数は列挙型に纏めるとかしたらすっきりするんじゃないの?

398 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:25:50 ]
SDKとAPIを混同するな

399 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:41:09 ]
397の文脈ではAPIでもいいと俺は思う。
関数なんかだけではなく、それを呼び出すために必要な定数や型もひっくるめてAPIと言うのだと思う。

400 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:47:12 ]
勝手な定義を脳内で作って知ったかするのはやめておけ。

401 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:51:55 ]
ApplicationPrigramInterfaceと
SoftwareDevelopmentKit
の違いがわかりません先生

402 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 20:54:31 ]
ヘッダファイル自体やライブラリや関連ツールなどがSDK
ヘッダファイルやタイプライブラリなどで定義されている内容がAPI
だと思っていたが実際のところ正しい定義なんて考えたこともなかったな

403 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 21:04:06 ]
そもそもどこまでがAPIなんて誰もそんなことを定義していない。

C/C++以外からAPIを利用する場合は列挙型も何も存在しないし、
変なところで勝手に決めてしまうと他の言語から使うときに、
API以外の何か謎な物を使っていることになってしまう。

404 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 21:06:31 ]
他の言語であらかじめされている定義が無いということね。

405 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 21:24:56 ]
あれだ、web系のアホが紛れ込んでるのかもしれん。
「APIと言えばwebサービスのインタフェースを指すようになった」
らしいぞ。

406 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 21:42:36 ]
整数も渡せるだろ



407 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 21:52:13 ]
JAVAのinterfaceには定数(もどき)を定義できるし、定数を含めて問題あるまい。

というか既に定数無いか?

408 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 21:57:42 ]
>>401
Prigram

409 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 22:14:08 ]
何か美味そう

410 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 23:19:52 ]
画面に表示しないプログラムを作りたいのですが
時計の横にアイコンを登録することは出来ますか?

411 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 23:26:49 ]
>>410
できる。

412 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 23:27:08 ]
タスクバー?
可能です。

413 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 23:33:31 ]
GT-Rは5台持ってますよ
R32がVspecIIのガンメタとNISMOの白
R33がVspecのシルバー
R34がMspecのホワイトとVspecII Nurのベイサイドブルー

414 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 23:39:56 ]
ま、俺のGTOには敵わないだろうけどな。

415 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 01:51:20 ]
NAだけどな。

416 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 13:28:15 ]
>>411
だからなんでみんな戻り値がboolなんだよw



417 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 13:31:21 ]
出来るって分かれば自分で調べるだろ

418 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 13:55:07 ]
S_OKだけなら猿でも返せる

419 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 14:00:51 ]
>>410
メインウィンドウを非表示で作ればいい。
あとはタスクトレイ アイコンとかでググれ。

420 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 14:02:41 ]
なんかこの質問・回答にデジャヴを感じる

421 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 14:06:05 ]
間欠泉のようなもんだから

422 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 16:00:03 ]
Shell_NotifyIconだったっけか


423 名前:422 mailto:sage [2007/04/29(日) 16:02:09 ]
かすかな記憶を頼りに書いてみて調べてみたらビンゴだった
俺の記憶力もまだ捨てたもんじゃないな

424 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 19:47:52 ]
ワレのドタマカチ割って脳みそストローでチューチュー吸うたろか!

425 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 19:53:13 ]
自分の頭を割るというのもなかなか豪儀だな

426 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 19:55:41 ]
なめとんかいわれ



427 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 19:58:29 ]
貝割れ大根を嘗めているのか。あれは舌にピリッと来るよな。
しかし倒置法とはなかなか巧みじゃないか。

428 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:15:36 ]
じょんだらりん

429 名前:デフォルトの名無しさん [2007/04/29(日) 20:18:33 ]
これをUNICODEビルドしたときにメッセージボックスに化けないで表示するには
どうしたらいいでしょうか?
XP, VC6です。

  HANDLE   hFile;
  TCHAR    buf[10];
  DWORD    dwSize;

  hFile = CreateFile(
        _T("C:\\aaa.txt"),
        GENERIC_READ,
        FILE_SHARE_READ,
        NULL,
        OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL,
        NULL);
  ReadFile(hFile, buf, 3, &dwSize, NULL);
  CloseHandle(hFile);

  buf[3] = _T('\0');
  
  MessageBox(NULL, buf, _T(""), MB_OK);


430 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:21:13 ]
MultiByteToWideChar

431 名前:429 mailto:sage [2007/04/29(日) 20:21:39 ]
テキストファイルはSJISで中身は abc と入っているだけです。

432 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:31:04 ]
"abc"のバイナリ表現はShift_JISやUS-ASCIIと、UTF-16とでは異なる。

433 名前:429 mailto:sage [2007/04/29(日) 20:42:04 ]
読み込むファイルはSJIS固定

MultiByteToWideChar
変換元がPCSTR
変換後がPWSTR

これはひょっとしてUNICODE版でビルドしてる場合だけ
MultiByteToWideCharを使って変換をかけるって事ですか?

434 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:44:56 ]
いいえ

435 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:45:04 ]
ファイルをダウンロードしたときなど、完了すると「チロン!」という音が鳴りますが、
この音を鳴らすapiがあれば教えてください。

436 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:45:40 ]
MCI



437 名前:435 mailto:sage [2007/04/29(日) 20:48:57 ]
>>436
ありがとうございました!

438 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:51:59 ]
ttp://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/mci/
ttp://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-059.html
ttp://wisdom.sakura.ne.jp/system/winapi/media/
ttp://www13.plala.or.jp/kymats/study/multimedia.html


439 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 20:52:42 ]
>>433
はい

440 名前:439 mailto:sage [2007/04/29(日) 21:15:28 ]
ありがとうございました。

441 名前:429 mailto:sage [2007/04/29(日) 21:16:01 ]
ちがう。429でした。

442 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 23:13:32 ]
>>426
はい

443 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 00:13:19 ]
ウモンドウ作らずにWM_〜受取れますか?

444 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 00:14:58 ]
はい。ウィンドウをお作りいただけば可能です。

445 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 00:19:52 ]
ウィンドウ要らないなら非表示にしとけばいい。

446 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 00:34:00 ]
WM_〜 = window message



447 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 00:40:02 ]
一瞬普通に読んでしまったが、ウモンドウってwww

448 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 01:05:23 ]
umondou?
umondow?


449 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 04:46:30 ]
タスクトレイのアイコンの画像を取得する方法ってありませんか?
もしくは特定のアプリのトレイにあるアイコン描画をフックしたいのですが。



450 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 08:22:59 ]
SetWindowsHookExのWH_KEYBOARD_LLはAltとかミ田キーも弄れますか?

451 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 08:25:50 ]
>>450
可能。つか、自分でやってみれ。
想像以上に簡単だから

452 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 08:57:32 ]
ミ田キーワロタ

453 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 09:54:19 ]
Runasで起動したIEのウェブページのハンドルの入手の仕方おしえてください。

454 名前:デフォルトの名無しさん [2007/04/30(月) 10:17:54 ]
少しでも画面を有効に使うためにメニューバーの高さを極限まで細く
したいのですが、win32apiで可能でしょうか?
高さの取得はGetSystemMetricsで出来るのはわかったのですが、
設定がどうやっったらよいものか分かりません。どなたかやり方を教えて頂けませんでしょうか。

455 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 10:29:34 ]
0じゃいかんの?

456 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 10:31:29 ]
>>452
「ウェブページのハンドル」とは何ぞや?


>>454
レジストリに書いてWM_SETTINGCHANGEをブロードキャスト?




457 名前:452 mailto:sage [2007/04/30(月) 10:34:23 ]
>>456
IEで表示したサイトのページをFindWindowAでゲットした値のことです。

458 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 10:37:24 ]
>>454
SystemParametersInfo で SPI_SETNONCLIENTMETRICS

他のアプリケーションにも影響を与える操作なんだが、自アプリケーションで制御するような代物なんかな?
# デスクトップ - プロパティ で設定するのを自動化したいのか?
# それはそれで、迷惑な造りかもしれんが…

459 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 11:08:25 ]
>>454
オーナードロー

460 名前:デフォルトの名無しさん [2007/04/30(月) 12:06:48 ]
bccでDLLを作成してそのDLLを
LoadLibrary(TEXT("HOOKTEST.dll"));で読み出したら
DLLエントリーポイントが実行されたみたいなのだが
暗黙的に読み出したらDLLエントリーポイントが実行されないんだが
これは普通なのか?それとも何か設定が間違っているのか?

461 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:11:24 ]
あと
HINSTANCE hInstDLL;
#pragma data_seg(".sharedata")
HWND hWndtgt=NULL;
HHOOK hhook;
#pragma data_seg()

BOOL WINAPI DllEntryPoint(HINSTANCE hInstance,DWORD dwNotification,LPVOID lpReserved){
MessageBox(NULL,"DLL START","START",NULL);
hInstDLL=hInstance;
return TRUE;
}

int makehook(void){
hhook=SetWindowsHookEx(WH_MOUSE,(HOOKPROC)mousehookproc,hInstDLL,0);
if(hhook==NULL){
MessageBox(NULL,"MAKE HOOK ERROR","ERORR",MB_OK);
return 0;
}

return 1;
}

makehookを実行側で読み出すとhhookが絶対にNULLになるらしくフックがうまくいかない
LoadLibraryで明示的に呼び出してもうまくいかない
デバッカで見てみるとhInstDLLがnullになってるみたいなのだが何故?

462 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:12:13 ]
その、「実行されない」ってのはどこから解ったんだ?

463 名前:デフォルトの名無しさん [2007/04/30(月) 12:12:46 ]
>>462
MessageBoxを入れてみました

464 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:15:28 ]
どうしてボーランドの言語仕様ってあそこまで見苦しいの?
クラスや関数名なんて汚らしいしIDEも不細工極まりない
C++にしろパスカルにしろ目障りで読む気すらしないね。

465 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:17:41 ]
ボーランド見苦しい
pc11.2ch.net/test/read.cgi/tech/1067474140/

466 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:21:43 ]
bccの#pragmaにdata_segなんてないぞ。



467 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:25:11 ]
>>466
WINDOWSプログラミングスパイスって本にのってたからそのまま使ってみたんだが、だめだったか・・・

468 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:33:59 ]
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_DllMain.asp
をみて、DllMain内で複雑な処理はできいないと理解しよう。

469 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:37:36 ]
_tDllMainな

470 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:38:38 ]
>>443
PeekMessageをスレッドの最初に呼んでおけば
そのスレッドにメッセージキューが作られるから
あとはスレッドメッセージで処理すればいい。
送信はPostThreadMessageで
受信はGetMessageのMSG構造体のHWNDが0のやつが
スレッド宛のメッセージ。

471 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:43:44 ]
BOOL WINAPI _tDllMain(HINSTANCE hInstance,DWORD dwNotification,LPVOID lpReserved){
hInstDLL=hInstance;
return TRUE;
}

修正

472 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:49:24 ]
ドラえもーん、これガソリンはレギュラーでも走るの?
いやガソリンでは無理だよ。もっとパワーのあるやつじゃないと。
プルトニウムだよのび太君。

473 名前:デフォルトの名無しさん [2007/04/30(月) 13:27:45 ]
BOOL WINAPI _DllMain(HINSTANCE hInstance,DWORD dwNotification,LPVOID lpReserved){
hInstDLL=hInstance;
makehook(hInstance);
return TRUE;
}

intmakehook(HINSTANCE hInst){
hhook=SetWindowsHookEx(WH_MOUSE,(HOOKPROC)mousehookproc,hInst,0);
if(hhook==NULL){
MessageBox(NULL,"MAKE HOOK ERROR","ERORR",MB_OK);
return 0;
}

return 1;
}

にすると問題ないみたいなんだけど・・・
グローバル変数にコピーできない
なぜだ?

474 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 13:45:13 ]
WinAPIの質問じゃないような気がしてきた

475 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 13:47:07 ]
とりあえずフック抜いてインスタンスハンドルだけコピーするDLLでも作ってろ

476 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 13:51:36 ]
窓は作らずに(非表示ではなく)
DLLの関数からShell_NotifyIconで登録してGetMessageでメッセージを受取れますか?



477 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 13:53:06 ]
不可能

478 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 13:54:27 ]
Shell_NotifyIcon から タスクトレイアクションを invoke できるようにするために窓が必要

479 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:00:08 ]
なんか最近この質問多いな

480 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:05:29 ]
間欠泉のようなもんだから(2回目)

481 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:09:08 ]
タスクトレイ と フック は源泉なのでしょう

482 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:24:49 ]
フックは多少ややこしいから分からんでもないけど…

トレイアイコンの方は潔癖症に近くねぇ?
いいじゃねーかウィンドウ一つくらい

483 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:30:09 ]
メッセージ通知用ウィンドウなんてたくさん使われているよ。DDEとかシステム周りでもね。

484 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:30:28 ]
そもそも「窓作らずメッセージ受け取れますか?」ってやってみればすぐわかるじゃねーか

485 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:40:48 ]
それよりもまずテンプレに沿ってMSDN読んで来い

msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shell_notifyicon.asp

486 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:52:16 ]
EnumWindowとかで窓一覧を取得するとあきれるほど非表示ウィンドウだらけだからな。
いまさら一つ増えたところで・・



487 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:55:10 ]
Winsock の Async の面倒見るのも見えない Window でやりくりしてるな

488 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 14:57:17 ]
まあ落ち着けよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<228KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef