- 1 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:00 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ! 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build85 pc12.2ch.net/test/read.cgi/tech/1262430441/
- 458 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:44:55 ]
- >PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。
ダウト。普通はNULLにする。 ウィンドウハンドルを指定したらそのウィンドウへのメッセージしか取れないだろ。 子ウィンドウ作る場合とかどうすんだ。 そもそもお前の場合GetMessageでWM_QUITを取得しようとした時点で WM_DESTROY実行済みでウィンドウが無効になってるから失敗して当然。 勝手に思い込む前に頭のバグ直しとけ。
- 459 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:47:41 ]
- なにこのひとこわい
- 460 名前:デフォルトの名無しさん [2010/03/04(木) 00:30:47 ]
- >>458
了解。 Win32APIを学ぶために読んだページにウィンドウハンドルを渡すって書いてあったから、鵜呑みにしてた。申し訳ない。
- 461 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 04:12:41 ]
- >>458
「ダウト」の意味を調べとこうな。
- 462 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 08:11:22 ]
- ↑どうしても書き込みたくて仕方がなかった
- 463 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 10:06:50 ]
- ↑うん
- 464 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 13:26:49 ]
- XPでExplorerをアイコン表示にした時、ファイルの位置を自由に変えられますが
あの位置情報をファイルの絶対パスなどから取得するのはどうすればいいんでしょうか。
- 465 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:25:01 ]
- IShellFolderインターフェイスを使うんだろうなぁ
- 466 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 20:25:56 ]
- IFolderView:GetItemPosition
- 467 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:03:50 ]
- 質問です。
アプリの二重起動を防止したいと考えています。 それだけならMutexを使うだけなのですが、コマンドライン引数を 最初に起動したアプリに渡した後で、終了させたいと思ってます。 (最初に起動したアプリは常駐し、以後は常駐アプリにのみ処理させたい) このような場合に、データ(コマンドライン引数)の受け渡しを 行うには、どのような機能/APIを使うべきでしょうか?
- 468 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:16:30 ]
- そのプログラムがスレッド持ってるならPostしとけばいいのではないですか
- 469 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:22:09 ]
- それとグローバルアトム。
- 470 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:13 ]
- VirtualAllocExとか
- 471 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:47 ]
- ファイルマッピングオブジェクト使うのはどうかな
- 472 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:26:24 ]
- CreateProcessでexeを起動する処理を含むプログラムを作ったのですが、
自分のPCではちゃんと動くのに、知り合いのPCでは動かないみたいです。 呼び出されるexeの内部でファイルを書き出す処理をしているのですが、 ファイルが書き出されないようなので、CreateProcessの部分が原因ではないかと思っています。 またexeを直接起動したときの動作は問題ないようです。 自分のPCでは再現しないので、環境による影響があるのではないかと疑っているのですが、 環境によってCreateProcessがうまく動かないということは考えられるでしょうか? 自分のPCはWin7、知り合いのPCはWinXPです。
- 473 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:32:54 ]
- Roming関係とか考えられること多すぎて困る
- 474 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:35:58 ]
- そんな漠然とした情報じゃ何もわからん。
OutputDebugStringやログ吐きまくってどのAPIがどんなエラーコードで失敗しているかを根性で調査するしか。
- 475 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:53:28 ]
- CPUの温度とか湿度とかメモリ周りBIOS設定を確かめてみて
あとCPUクーラーは良く利いているかな?クーラーは 消耗品や劣化する製品なので、メンテは必須だよん 他人が作ったアプリやOSが動作しない時は意外にありがち なのがそういった問題
- 476 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:03:05 ]
- ドライブ文字ベタ書きとかそんなオチだろうさ
- 477 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:15:12 ]
- Win7で有効な構造体のメンバがXPではリザーブとか。
- 478 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:24:26 ]
- >>473-475
いろいろ原因は考えられるんですね。 自分のPCでは再現しないので、デバッグもしづらいのがつらいところです。 >>476 exeのファイル名指定は相対パスで書いてあります。 >>477 CreateProcessの部分はネットで調べて書いたのですが、Win7発売より古い情報なので、それもなさそうです。 知り合いに協力してもらいながら調査してみます。 どうもでした。
- 479 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:42:06 ]
- あるアプリを複数起動させ、それぞれの保存ダイアログを同時に表示させた
時にどのダイアログがどのアプリのものか外部アプリから識別する方法って 有りますか?
- 480 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:47:38 ]
- コモンダイアログだって呼び出し元スレッドとプロセスに所属してるんだからその辺紐付ければ取れるでしょうよ
- 481 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:59:25 ]
- こんな時間に有り難うございます。
複数起動したアプリのハンドルは区別できてるんですけど、 例えば1番目に起動したハンドルで保存ダイアログを探して、 外部アプリから操作しようとすると、2番目に起動したアプリの 保存ダイアログにメッセージが飛ぶ現象が起きてしまってどうしたもんかと。
- 482 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:15:58 ]
- Windowをスクリーンの中央に表示するコードをください、この私に。
- 483 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:17:05 ]
- >>481
オーナーウインドウを調べれば分からない?
- 484 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:21:31 ]
- 確かHWNDからプロセスIDは調べられたと思うんだけど。
- 485 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:28:11 ]
- >>482
中華は引っ込んでろ
- 486 名前:479 mailto:sage [2010/03/05(金) 11:21:04 ]
- 皆さん、有り難うございました。
FindWindowExで調べていたからまずかったみたいです。 Owner,Ownerdを調べていったら出来ました。 ダイアログと親ウィンドウの関係が今回のことで分かりました。 また、よろしくお願いします。
- 487 名前:デフォルトの名無しさん [2010/03/05(金) 17:40:26 ]
- bitmapをjpgに変換するAPI教えて
- 488 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:42:02 ]
- www.geocities.jp/katayama_hirofumi_mz/win32/savepic.htm
- 489 名前:467 mailto:sage [2010/03/05(金) 22:27:15 ]
- お返事ありがとうございます。
>>468 すみません、理解できませんでした。 スレッドを利用したプロセス間でのデータ受け渡しがあるのでしょうか?? >>469 >>470 >>471 最初のアプリが常駐した後、同時に複数の同アプリが起動した場合でも うまくいくような仕掛け(排他制御)を考える必要がありそうですね。
- 490 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 23:01:50 ]
- 単に既に起動しているプロセスに対して
コマンドライン引数をSendすればいいだけじゃだめなの?
- 491 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 00:20:13 ]
- WM_COPYDATAで十分そうだな。
後はカレントディレクトリも送っといたほうがいいんじゃないかな。 相対パスくらいはちゃんと扱ってもらわないと。
- 492 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:24:20 ]
- 日本語でOkay.
- 493 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:34:47 ]
- 問題は質問者の書き込みではウィンドウがあるのかどうか分からないことだ
- 494 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:37:11 ]
- ウィンドウをクラス化するところまでできました。
次にリストビューあたりをクラス化したいと思うのですが、 検索してもなかなかそういうのが見つかりません。 こう作るのがセオリーというのがあれば知りたいのですが、 参考になるサイトやソースコードがあれば教えて欲しいです。 特に、ウィンドウプロシージャとのやりとりが煩雑なので それをクラスにまとめる方法が知りたいです。 よろしくお願いします。
- 495 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:50:48 ]
- クラスにまとめるほうが煩雑になるの法則
- 496 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:53:19 ]
- WTLとかのコード見て見れば
俺は見たときないけど
- 497 名前:494 mailto:sage [2010/03/06(土) 03:13:33 ]
- やはりWTLになりますか。評判はいいのですが、解析となると気が引けて
しまって。手っ取り早く説明しているところがあればなと思って質問しました。 やっぱりこういうのは自作するよりも利用するものなんですかね。
- 498 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:21:58 ]
- サブクラス化で検索したら
- 499 名前:494 mailto:sage [2010/03/06(土) 03:36:51 ]
- サブクラス化はコントロール自体の機能を拡張するために使う手法という理解でいました。
そうではなくて、メインからコントロールを利用しやすくするためにクラス化 したかったのです。サブクラス化することでそういうメリットが得られるのでしょうか?
- 500 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:56:43 ]
- clistviewctrl
- 501 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:59:59 ]
- 一番わかってないのは、自分が何をしたいのかだろう
- 502 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:14:20 ]
- 誰もが一度は通る道
- 503 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:25:55 ]
- 私のクラスは53万です。
- 504 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:43:49 ]
- MFCとかWinFormsとかWPFをパクる
- 505 名前:デフォルトの名無しさん [2010/03/06(土) 17:28:13 ]
- >>488
ありがとうございます。 当方C++Builder2007を使っていて、それ用のヘッダ当ありますが エラーが出まくってまともにコンパイルができませんでした・・・
- 506 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 23:17:57 ]
- とあるアプリを外部から操作するアプリを作成して一応望み通りに作れたのですが、
コンボボックスのことで教えて欲しいことがあって来ました。 CB_SETCURSELでアイテムを選択すると思うのですが、このAPIでアイテムを選択しても 一旦は切り替わるのですが、その後必ず先頭のアイテムが選択されてしまい、アイテム変更後 クリックメッセージを送ってやると選択したアイテムで処理が進んでくれるということになって しまいました。 これって、使っているAPIが悪いのでしょうか? それとも、操作しようとしているアプリの作り方(仕様?)の問題でどうしようもないことなのでしょうか? よろしくお願いします
- 507 名前:494 mailto:sage [2010/03/06(土) 23:35:15 ]
- 皆さんありがとうございます。こういうのは定番の手法が確立されているか
と思ったのですが、意外とそうでもないようで。 とりあえずWTLやMFCとかの定番ライブラリのソースを調べてみることにします。
- 508 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 11:58:58 ]
- EnumProcesModules→GetModuleFileNameExでファイル名を取得したいのですが
64bitアプリケーションに対してEnumProcessModulesしてもうまく取得できずGetModuleFileNameExが失敗してしまいます 何が原因なんでしょうか?
- 509 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 14:51:07 ]
- このスレの人はそんな難しい質問には答えられないの
- 510 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 15:01:07 ]
- 32/64 で別管理なんじゃね?
- 511 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 16:17:06 ]
- 64bitビルドだと失敗しない
- 512 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 17:13:27 ]
- HANDLEの大きさが違うからでしょ
- 513 名前:508 mailto:sage [2010/03/07(日) 17:14:22 ]
- ありがとうございます
32bitでは64bitアプリケーションに対して一部の操作が無効なんですね・・
- 514 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:37:02 ]
- HANDLEが別物なんだから当たり前やが
- 515 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:18:56 ]
- UNICODE でプログラミングしてるのですが、ある関数の終了と同時に異常終了してしまいます。
以下の部分が怪しいのですが、勘違いしてないでしょうか、、、(Borland C++) LOGFONT logfont; const TCHAR *facename = _T("MS ゴシック"); _tmemset(&logfont,0,sizeof(LOGFONT)); _tmemcpy(&logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR)); _tmemcpy(&save.logfont,&logfont,sizeof(LOGFONT));
- 516 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:27:44 ]
- デバッガで追跡した?
_tmemset(&logfont,0,sizeof(LOGFONT)); memset( &logfont,0,sizeof(LOGFONT)); これってどう違うの?UNICODEに合わせて用意された関数? それと _tmemcpy(&logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR)); ここで、logfont.ltFaceNameのアドレスを渡してる logfont.ltFaceNameは配列なので 正しくは _tmemcpy(logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR));
- 517 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:28:40 ]
- こっちでもおk
_tmemcpy(&logfont.lfFaceName[0],facename,_tcslen(facename)*sizeof(TCHAR)); 只の勘違いだろうけど、ポインタ周りを理解してないうちはUNICODEは控えた方が
- 518 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 11:33:51 ]
- CRTとか…
LOGFONT logfont; ::SecureZeroMemory( &logfont, sizeof( logfont ) ); ::lstrcpy( logfont.lfFaceName, _T("MS ゴシック") );
- 519 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:33:56 ]
- SecureZeroMemoryはコンパイラの最適化を受けずに、確実にゼロクリアされるけど
memsetでゼロクリアって確実にされないの?
- 520 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:46:59 ]
- 今日の1行
LOGFONT logfont = {0};
- 521 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:32:14 ]
-
WaitForSingleObject()ついて質問があります。 パイプを使用してアプリ間で双方向通信を行うプログラムを作成しています。 www.kumei.ne.jp/c_lang/sdk3/sdk_248.htm これを参考にしています。 アプリ間で共有しているイベントオブジェクトを使用してパイプへの書き込み読込みの排他処理を行っています。 正常に動作している場合は問題はないのですが、 仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません これを回避する方法はあるでしょうか?
- 522 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:51:44 ]
- >>512
・片方がアボートした段階で管理者に連絡する ・タイムアウト処理を実装する
- 523 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:52:39 ]
- >>512
>>521 の間違い
- 524 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 16:10:40 ]
- 未処理例外キャチとかでアボートする前にイベント発行とかで通知
1つでもシグナル状態になったら制御を返すWaitForMultipleObject()を使用する
- 525 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:16:54 ]
- GUI操作された処理で、それらの実行/終了した事を知るにはどうしたらいいですか?
- 526 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:54:28 ]
- GUI操作の質問は、521-524と同じ質問なのかな?
>>524のレスの通り、CreateEventでイベントオブジェクトを作成する。 なお、CreateEventの第一引数の名前をユニークなものとし、 両方のアプリで認識できる事とする。 あとは、プロセスが終了する段階でSetEventを指定すれば、 待ち合わせ側でもWaitForMultipleObjectで知る事ができる。 521-524以外なら、WM_KILLFOCUSが操作を終了したヒントの一つなのでは? ※但し、コントロールによってはCBN_SELCHANGEなどもあり、 一概とはいえない。
- 527 名前:521 mailto:sage [2010/03/08(月) 18:01:35 ]
- >>523, 524
返信ありがとうございます。 アボートする前にイベント発行の方法で考えてみます。 パイプの双方向通信て微妙に難しくありませんか? 今まで、送信と受信の2本のパイプで双方向通信してましたが、どうもスマートに見えないので 改良しましたが、今度はイベントの開放時に下手するとWaitForMultipleObject()でとまりますね・・・ なにか、いいオープンソースあったら教えてほしい・・・
- 528 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:31:11 ]
- >>526
521-524とは異なる質問です バッチ処理を行うアプリを作りたいのですが 例えばGUIアプリの、AアプリとBアプリがあるとし Aアプリで処理を実行し、終了ー>その後にBアプリを実行させたいと思っています アプリ自体は、作者が異なる者を想定していますので、イベント名などは合わせることは出来ません この状態で対応出来ますか?
- 529 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:52:34 ]
- エスパー
- 530 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:52:54 ]
- >>521
>仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません 嘘書くな。
- 531 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:57:03 ]
- そもそもpipeの読み書きに排他処理は不要。
- 532 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:14:24 ]
- >>528
まずは、Spy++でトレースして考えたほうがよいかと
- 533 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:17:18 ]
- あるウィンドウが別のウィンドウの子孫かどうかを一発で判定するAPIは無いのでしょうか?
深い親子階層を持つウィンドウの中で、 フォーカスを持つウィンドウが自分の子孫に含まれているかを判定したいのですが。
- 534 名前:533 mailto:sage [2010/03/08(月) 19:27:53 ]
- IsChild()で子だけでなく子孫も判定できるようでした。失礼しました。
- 535 名前:デフォルトの名無しさん [2010/03/08(月) 19:36:01 ]
- CreateWindowでコンボボックスを作ったんだけど、枠線消す方法誰か知ってる?
- 536 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:50:20 ]
- WS_EX_STATICEDGE,
WS_EX_CLIENTEDGE, WS_EX_WINDOWEDGE 該当するフラグをマスクでアンド演算してね
- 537 名前:521 mailto:sage [2010/03/08(月) 20:08:09 ]
- いろいろと返信ありがとうございます。
525とは別人です。 >>531 パイプによるプロセス間通信で双方向通信の場合、 排他処理なしに1本のパイプで行うことは不可能じゃないですか? 以前やってみましたが、自分で書き込んだデータを自分のプロセスが読み込み(ReadFile())ます。
- 538 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 21:35:49 ]
- 意味が分からん
OpenModeをPIPE_ACCESS_DUPLEXにして PeekNamedPipeでスピンロックぐるぐる回してればいいじゃん
- 539 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:27:07 ]
- ttp://school.topposystem.co.jp/PR/Tool/Win32API/System/Pipe.htm
ここの説明も良い説明ではないが、まだまとまった感じ
- 540 名前:uy ◆e6.oHu1j.o [2010/03/09(火) 02:20:02 ]
- post_messageで
プロセスAから プロセスBへメッセージを送れるわけですが、 これを受け取りたくない場合ってプロセスBはどうやって作ればいいんですか? させたくないのは、 とにかくプロセスBは、他プロセスからのメッセージを一切受け取りたくない = 自動操作などをさせたくない ってことです。
- 541 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:32:54 ]
- 特定のメッセージだけなら受け取って握りつぶすだけだけど
送信元が判定できないから難しいと思う
- 542 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:02:41 ]
- つか数日前からプロセス間関連の質問しまくってる人は何をやってるんですか?
宿題?
- 543 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:36:12 ]
- まぁまぁ、プロセス間通信もできればできたで楽しいし。
リダイレクタにも応用できるし!?
- 544 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:57:22 ]
- 夢はあるね
- 545 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:25:42 ]
- リソースダイアログを親ウィンドウとして扱うのってあり?
- 546 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:32:56 ]
- ありかなしか何を基準とすればいいのか分からんよ
確実になしって言えるのは実現できないことだけだ
- 547 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:34:00 ]
- なしではないけど、どうかと
- 548 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:37:21 ]
- 俺は簡単なアプリ作る時はリソースダイアログにしてる
- 549 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:39:26 ]
- ウィンドウかダイアログって時は
UXガイドの450ページから読んだほうが整理付くんじゃね? (あくまでも指標なんだけどね) ttp://msdn.microsoft.com/ja-jp/library/aa511258.aspx ここの「PDF 形式」をクリックすればダウンロードできるぞ
- 550 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:43:24 ]
- 約800ページもあんのか
- 551 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:44:25 ]
- プログラム覚えだした頃って外部プログラム操作したくならない?
いかにも俺はプログマーだぜって気分が味わえる。
- 552 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:48:08 ]
- プロだクマー
- 553 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:03:29 ]
- >>551
別に覚えたてに限らんでしょ。 自分でアプリ作るのは面倒だけど既製品では気に入らない時に ボタンやダイアログのハンドル調べて自動制御する簡単なソフトを作るのは みんなやってると思うんだけど。
- 554 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:08:28 ]
- 自分で作るか別のアプリ探すw
- 555 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:09:47 ]
- メッセージ送ってどうのこうのまではしようと思わないな…
パイプ使ってコマンドライン編集するくらいならやるけど
- 556 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:18:16 ]
- 勝手に操作されたくないという気持ちは分からなくもないが、
たとえ、他のプロセスからのメッセージを弾く方法があったとしても、 アクセシビリティAPI経由で操作できてしまうということになるだろうと思う。
- 557 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 02:10:25 ]
- SendMessageをフックして弾けばいい
- 558 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 04:45:50 ]
- フックをフックして弾けよ
|

|