- 1 名前:デフォルトの名無しさん [2008/04/02(水) 10:21:31 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage 【前スレ】 Win32API質問箱 Build63 pc11.2ch.net/test/read.cgi/tech/1204600558/
- 48 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:33:02 ]
- このスレはシステムプログラミングに明るい人が少ないか、
極度にネガティブなイメージを持ってる人が多いらしいので聞くだけ無駄なことが多い フックとかマルウェア技術に関してはぐぐーる先生のほうがよっぽど使える
- 49 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:34:43 ]
- >>40
それは現象ではなく仕様。 ウィンドウの移動中に、ユーザの他の操作を受付けるのはナンセンスだし、 基本は移動枠が出るだけで描画は一切行わないので、メッセージポンプを回す必要もない。 逆に、回してしまったら変なことになるぞ。 ウィンドウの移動を自前で処理すりゃ メッセージポンプを回すこともできるが、 そんな気持ち悪いことをするのもなぁ。
- 50 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:36:53 ]
- >>48
- 51 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:37:29 ]
- >>48
マルウェア作成技術にはネガティブなイメージを持って当然だろ。 ちなみに、 悪さするプログラムを作った人間が逮捕され、 2chのスレでやり方を教えてもらったと言ったら、 教えたほうは幇助で逮捕されかねんぞ。
- 52 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:44:41 ]
- 他プロセスにdllを注入して〜とかそういうのが多すぎ
質問するなとは言わんがスレの半分ぐらいがそんなのばっかりなんてどう考えても異常だろ 同じ奴が何度も質問してるのか?
- 53 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:48:21 ]
- 悪さするプログラムを作っても一切に罪には問われません
- 54 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:53:48 ]
- >マルウェア作成技術にはネガティブなイメージを持って当然だろ。
そーなのかー その辺に自分とほかとの意識の違いがあるらしいことは理解した (個人的には、いろんなサンプルコード片を書いたり教えたりするけど、 それを第三者がどういう目的で利用しようが関係ないと思ってる) 「既出杉。調べれば判るだろ」ってのは同意だけどね
- 55 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:57:17 ]
- めんどくせぇからwizard bibleでも見てろって感じだな
- 56 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:11:15 ]
- ウザい頻出ネタまとめ
問) 他プロセスのコマンドライン文字列を取得するにはどうすればいいですか? 答) 次のどちらかで取得できる。 ・CreateRemoteThreadでGetCommandLineを送る。 ・NtQueryInformationProcessでPEBからReadProcessMemoryする。 問) フックしたプロセスでメインウィンドウのHWNDを取得するにはどうすればいいですか? 答) そのものズバリな方法は無い。 ウィンドウクラス名が分かっている時はFindWindow(Ex)する。 分かっていない時はEnumWindowsとGetWindowThreadProcessIdを組み合わせる。 問) 特定のプロセスの音量を制御するにはどうすればいいですか? 答) Vista買え。
- 57 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:26:46 ]
- ochinchin.h を omanko.cpp に include したのに童貞のままです。
どうしたらいいですか。
- 58 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:29:03 ]
- はいはいよかったですね
- 59 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:29:42 ]
- >>57
先っちょだけだからです! じゃなくて、その ochinchin.h はあなたの物ではありません
- 60 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:36:50 ]
- やり方が間違っている。
まずお前のイチモツをDLL化する。ochinchin.dll そしてomanko.exeのプロセスにDLLインジェクションでochinchin.dllを挿入すればいい。
- 61 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:39:20 ]
- >>52
周囲の人間に聞いても教えてもらえない or 聞くのが憚られる 匿名ではない掲示板で聞いても教えてもらえない or 聞くのが憚られる それで2chのこのスレに殺到する ってことかもしれんな。
- 62 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:42:23 ]
- >>57 のことかーーーーー!!!
ってか親切に解説してくれているサイトを見るの方が 関連情報も一箇所にまとまってるから よっぽど早く目的達成できるのにな
- 63 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:45:27 ]
- >>57-60
質問して断られて逆恨みして粘着してる人間がいるんだな。 >>56 こういうのはどうだ? Q. 他プロセスのコマンドライン文字列を取得するにはどうすればいいですか? A. 他プロセスにコマンドライン文字列を教えるためのインタフェースを設ける。 質問の主が後ろめたいことをやろうとしているのではなく、 複数のプロセスで協調動作するプログラムを書いているという仮定をしてさ。 他のプロセスが他人の書いたプログラムだって言うのなら、 その他のプロセスを自分でCreateProcessして、 その時のコマンドラインを覚えとけ、と。
- 64 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:52:34 ]
- >>63
うしろめたいってか、UNIX系だと簡単にコマンドライン取れるんじゃね。 よく知らんけど。
- 65 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:00:35 ]
- だったらUNIX系を使っとけ
- 66 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 02:30:35 ]
- Win32サブシステムではなくPOSIXサブシステムを使えばいいんじゃね?
Interixの会社をマイクロソフトが買収してSFUとして無料で提供してるのを使えばいいんじゃね?
- 67 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:19:30 ]
- 1ヶ月ぐらい前にウイルス作成方法を公開してた奴が逮捕されたとかいうニュースを見た気がする
- 68 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:23:02 ]
- 裁判で有罪になるかどうかは別として、
自力で調べられないようなタイプのハッカーもどきは、 十中八九、簡単に足が付くようなやり方をするから、 あんまり関わらないほうがいい。
- 69 名前:デフォルトの名無しさん [2008/04/04(金) 10:21:37 ]
- iniファイルを扱いたいのですけど
WritePrivateProfileSectionつかうと同じセクションの内容を上書きしてしまいますよね 追加はどうすればいいのでしょうか
- 70 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:26:22 ]
- >>69
追加というのは、具体的に、どういうこと? 同一セクション内に同一のキーはダメだよ?
- 71 名前:デフォルトの名無しさん [2008/04/04(金) 10:28:55 ]
- >>70
別キーを同じセクションに保存できないのです 説明下手でスマン
- 72 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:29:39 ]
- >>67
ウィルス作成では現行の法運用では罪を問えなかったので 著作権違反の疑いで逮捕した
- 73 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:36:51 ]
- >>71
WritePrivateProfileStringな
- 74 名前:デフォルトの名無しさん [2008/04/04(金) 10:39:17 ]
- >>73
ありがとう!
- 75 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 11:02:49 ]
- WritePrivateProfileSection
> 指定された .ini ファイル(初期化ファイル)の、指定されたセクション内の > 既存のキー名と値を削除し、 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 指定されたキーとその値のペアを書き込みます。
- 76 名前:デフォルトの名無しさん [2008/04/04(金) 11:34:43 ]
- WinXPのタスクバーの自分のアプリ部分の領域に描画することは可能ですか?
プログレスバーのように進捗を表示したりといった感じです。
- 77 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 11:43:34 ]
- タイトルのこと?アイコンのこと?
まあどっちも可能
- 78 名前:デフォルトの名無しさん [2008/04/04(金) 11:48:49 ]
- 両方です。その方法を教えてください。
- 79 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:35:21 ]
- UNIXでも他プロセスのコマンドラインを取るのは素直にはできへんよ。
- 80 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:43:10 ]
- タスクバーの奴もボタンなわけだから
フックで入って描画ルーチンをのっとる 下手くそなフックするとExplorerが落ちまくりになるけどNe!
- 81 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:46:51 ]
- タスクバーのフックならTClockのソースでも見るがよろし
- 82 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:56:27 ]
- Jane Styleは空のDLLを注入しただけで落ちるんだけどw
中でとんでもない事をしてそうで気になる
- 83 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 14:01:13 ]
- >>79
psコマンドで一発じゃね?
- 84 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:11:16 ]
- psでも引数が見えないのはある。
例えばsendmailとか。
- 85 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:19:57 ]
- forkで親はとっくにいないとかじゃなくて?
- 86 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:35:24 ]
- >>80-81
タスクバーなんてOSのバージョンが上がる度に構造が変わるような物を安易にフックすべきでは無かろう 進捗状況を出したいならメインウィンドウのタイトルを"10% 完了"みたいに変えればいい
- 87 名前:40 mailto:sage [2008/04/04(金) 19:52:31 ]
- >>49
なるほど。 そういった仕様ということはあきらめるしかないですね。 参考になりました、ありがとうございます!
- 88 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:57:30 ]
- ISAPI用のDLLの中でファイルの属性を変更するために
SetFileAttributes()を使いました。 その際、windows2000server、IIS5環境では問題なく動作したのですが windows2003、IIS6環境ではSetFileAttributes()が失敗します。 原因としてはどのようなことが考えられるでしょうか
- 89 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:59:16 ]
- 途中で送信してしまいました。
また、代用となる関数、方法などありましたら教えてください。
- 90 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 20:12:08 ]
- GetLastErrorの戻り値は?
- 91 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 20:35:05 ]
- 十中八九、アクセス権の問題だと思う。
- 92 名前:デフォルトの名無しさん [2008/04/04(金) 20:46:58 ]
- EM_GETLINEを送ってもバッファに文字列が格納されないんですが、
int iLine = 1; char buf[256]={0}; *(WORD *)buf = (WORD)sizeof(buf); SendDlgItemMessage(hWnd,IDCEDIT,EM_GETLINE,(WPARAM)iLine,(LPARAM)buf);
- 93 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:00:48 ]
- SendDlgItemMessageの戻り値は?
- 94 名前:デフォルトの名無しさん [2008/04/04(金) 21:36:47 ]
- >>93
戻り値はどうやって取得すればいいんですかね? LRESULT er; er = Send(ry; こうですか?
- 95 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:45:52 ]
- MSDN見るなりググるなりヘッダファイルみるなりするナリよ
- 96 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:07:03 ]
- >>67
平気で嘘つくの辞めようぜ
- 97 名前:デフォルトの名無しさん [2008/04/04(金) 22:12:37 ]
- >>95
GetLastErrorですか?
- 98 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:36:30 ]
- >>92
EM_GETLINEの説明を読め
- 99 名前:デフォルトの名無しさん [2008/04/04(金) 22:50:28 ]
- >>98
WPARAMで行を指定 LPARAMでバッファを指定 バッファの先頭2byteはバッファサイズを入れておく 足りませんか?
- 100 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:11:52 ]
- 1. SendDlgItemMessageがSendDlgItemMessageW
2. 対象Editの2行目に1文字も無い
- 101 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:17:58 ]
- >>86
どうせアイコンは小さいのだから、 あらかじめアイコンを5パターンくらい用意して、 Shell_NotifyIcon で切り換えればいいと思う。
- 102 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:19:42 ]
- それはタスクトレイの話じゃないのか?
タスクトレイなら動的にアイコンを描画してアイコン切り替えればいいだけだぜ。
- 103 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 01:05:25 ]
- タスクバー右クリック->ツールバー で一覧が出てくる
WMPやらGoogleデスクトップ検索みたいに表示したいってことか? 俺はやり方知らないけどググれば出てきそう
- 104 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 04:39:10 ]
- >>102
× タスクトレイ ○ 通知領域 Win32スレでそういう間違った名称使うのやめとけ
- 105 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 05:16:35 ]
- メディアプレイヤーのProgIDとインタフェイス名とID(IID_Xxxxみたいなの)教えてください。
CreateWindowとAtlAxGetControlを利用したいのです。 Win32じゃないかもしれないけどお願いします。
- 106 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 05:32:09 ]
- >>105
OLE/COM Object Viewer
- 107 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 05:33:00 ]
- 帰れw
- 108 名前:デフォルトの名無しさん [2008/04/05(土) 07:09:53 ]
- モマエら
よその国の人はどんどん進歩しているのに、日本人同士で足引っ張り合って 自滅するかも知れないと思ったことはないのか。 攻める先を取り違えるな。
- 109 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 07:41:03 ]
- >>104
つ Microsoft.com Japan サイトの検索 そこまで厳密にしなくてもいいんじゃね?と思った。
- 110 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 08:53:03 ]
- この件で誰を攻めるとか考えてる時点で終わりだ。
そんなのは無駄な時間だ。
- 111 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 09:31:06 ]
- アイコンが並んでいる部分はタスクバー上のタスクトレイの中の通知領域だよ
XPではWindows9xの頃とタスクバーの実装が変わっていてタスクトレイと呼べるのか微妙だけど 互換性の為かShell_TrayWndというクラスのWindowは存在している
- 112 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 09:36:37 ]
- トレイはTrayNotifyWndの方だな
このWindow構成を見るとタスクトレイというのは本来はタスクバー自体の事なのかもしれないな
- 113 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 10:10:35 ]
- タスクトレイは時計を含む領域だけど、
通知領域は時計は含まないってこと?
- 114 名前:デフォルトの名無しさん [2008/04/05(土) 11:31:27 ]
- >>100
出来ませんでした。
- 115 名前:デフォルトの名無しさん [2008/04/05(土) 11:34:10 ]
- >>100
自己解決しました。
- 116 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 11:42:46 ]
- このスレて寒いレスするバカが常駐してるよな
- 117 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:09:07 ]
- >>116
痛い質問して、期待した回答が得られなくて、逆恨み粘着だろうな。
- 118 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:14:02 ]
- >>117
とりあえず、答えればいいんだよバカが
- 119 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:15:59 ]
- >>118
お前みたいなスタンスの人は、 マイクロソフトの有償サポートを使えよ。
- 120 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:25:38 ]
- >>116=寒いレスするバカ
- 121 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:53:56 ]
- 何でここの人はやさしさが無いんだろうな。ゆとりがたりないのか?
- 122 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:54:46 ]
- 俺は普通に答え取るがな(´・ω・`)
- 123 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:56:40 ]
- >>121
優しさがないのは、約一名の粘着して荒らしている人だけ。
- 124 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:58:03 ]
- なんで仲良くできないの!あなたたちは!
- 125 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 13:00:47 ]
- あと、自分を正当化ばかりしてる人ってまぁ、リアルでも2chでも多いよな。
自信があるのはいいことだけどさ。
- 126 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:39:11 ]
- >>16のようなレスにいつまでも釣られるお前らの責任でもあるんだよ
2chのしきたりとか分かってない
- 127 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:58:55 ]
- 言いたい事も言えないこんな世の中じゃ(ry
- 128 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:15:26 ]
- POISON!
- 129 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:16:50 ]
- >>108
モマエら よその星の人はどんどん進歩しているのに、地球人同士で足引っ張り合って 自滅するかも知れないと思ったことはないのか。 攻める先を取り違えるな。
- 130 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:18:29 ]
- 防衛省もUFO対策を論じるくらいだからやばいな
- 131 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:21:51 ]
- 中華対策はしないのにな
- 132 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:19:36 ]
- スレを荒らすのヤメロ。
ちょっと自重しろ。
- 133 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:59:08 ]
- エクスプローラーのフォルダアイコンってどこから取ってくればええんでしょうか。
2kとxpで違ったりしますか?
- 134 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:19:24 ]
- >>133
マイクロソフトに「アイコンください」と言えばもらえるよ。
- 135 名前:デフォルトの名無しさん [2008/04/05(土) 17:22:33 ]
- このスレの住人なら知っていますね、あの糞開発ツールのことを
・自分のプログラムのバグなのかコンパイラのバグなのかわからない ・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している ・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている ・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる 糞だけど、政治的な理由で無理やり使わされているんですよね。 もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。 ・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。 ・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。 ・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。 バグレポートなどしてはいけません。改善要求などもってのほかです。 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。 ・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」 なんて話が出たら力強く机を叩き、会議室を出ましょう。 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。 糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
- 136 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 18:05:43 ]
- >>106
そういえばそんなのあったの思い出した さんくす
- 137 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 19:57:39 ]
- ちなみにOLE/COM Object Viewerの使い方はこの本に載ってるよ
Visual C++プログラマのためのCOM入門 www.seshop.com/detail.asp?pid=1022
- 138 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:05:09 ]
- MCI_OPEN_PARMS mop;
case WM_CREATE: mop = MCIOPEN(filename , MCI_DEVTYPE_SEQUENCER, hWnd); return 0; case WM_KEYDOWN: if(wp == VK_UP) mciSendCommand(mop.wDeviceID , MCI_PLAY , MCI_NOTIFY , (DWORD)&mop); else mciSendCommand(mop.wDeviceID , MCI_STOP , 0 , 0); return 0; case MM_MCINOTIFY: mciSendCommand(mop.wDeviceID , MCI_STOP , 0 , 0); mciSendCommand(mop.wDeviceID,MCI_SEEK,MCI_SEEK_TO_START,0); mciSendCommand(mop.wDeviceID , MCI_PLAY , MCI_NOTIFY , (DWORD)&mop); return 0; } 上記のような、midiファイルを↑キーで再生、他のキーで停止、曲の最後まで行ったらまた初めからループするプログラムを作ったのですが、 ↑以外のキーを押して曲を止めても、勝手に曲の初めから流れ始めます。 MCI_PLAYのMCI_NOTIFYを外してみると曲が止まったままにすることが出来たのですが、それだとループになりません。 ループするようにしたmidiを、停止することはできないのでしょうか?
- 139 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:07:19 ]
- >>138
MM_MCINOTIFYのwParam見れ
- 140 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:15:37 ]
- >>139
if(wp == MCI_NOTIFY_SUCCESSFUL) で、できました。 ありがとう。 >>139を見て MM_MCINOTIFY wparam でググったら出てきましたが、 こういう〜に〜が格納されるという情報はどこから仕入れているんですか?
- 141 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:20:24 ]
- >>140
www.google.com/search?q=MM_MCINOTIFY+site%3Amicrosoft.com
- 142 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:20:44 ]
- 普通はMSDNだろう。
時々ウソ書いてるのと、オンライン版は重たいのが難点だが。
- 143 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:28:53 ]
- ありがとうございました。
英語勉強しないと;
- 144 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 08:47:55 ]
- ツールバーのボタンをクリックするごとに、そのボタンのアイコン画像が変化するようにしたいのです。
ツールバーを作成するときに // hwndTB : ツールバーウィンドウ HBITMAP hBMP = ::LoadBitmap(::GetModuleHandle(NULL), MAKEINTRESOURCE(ID_TOOLBARBMP)); HIMAGELIST hIL = ImageList_Create(16, 16, ILC_COLOR32 | ILC_MASK, 0, NUM_TBICONS); ImageList_AddMasked(hIL, hBMP, RGB(0, 255, 0)); ::SendMessage(hwndTB, TB_SETBITMAPSIZE, 0, MAKELONG(16, 16)); ::SendMessage(hwndTB, TB_SETIMAGELIST, NUM_TBICONS, (LPARAM)hIL); のようにして、マスクつきの画像を使うことにしていまして クリックのメッセージが飛んできたときに // hwndTB : ツールバーウィンドウ // iIcon : アイコンの番号 ::SendMessage(hwndTB, TB_CHANGEBITMAP, ID_TBBUTTON1, MAKELPARAM(iIcon, 0)); を呼んでアイコンを変更しています。 XP ではこれで問題ないのですが、 Vista では、前の画像が消えなくて、その上に新しい画像を重ねたような表示になります。 (透過マスク付きなので、前の画像が上塗りされない) 何か使い方を間違えているのでしょうか?
- 145 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:40:31 ]
- VC6で自分のプログラムが組み込んだコンポーネントにキー入力を渡したくて
いろいろ試行錯誤してまつ。BasicでのSendKey的なイメージ。 ActiveXコントロールにtranslateAccellatorのメソッドがあったので、 以下のようなMSG構造体を作って引数として渡す方法で実験してみた。 message <= WM_KEYDOWN wparam <= VK_RIGHT するとActiveX Control側では、キーボードの現在の修飾キー状態を読み取ってしまい、 コントロールキーが押されてると、Ctrl+右ボタンになってしまう。 現在の修飾キーの状態にかかわらず、ActiveXに「右ボタン」だけを渡すには どうすればいいですか?
- 146 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:43:13 ]
- SendInputでも使えば
- 147 名前:デフォルトの名無しさん [2008/04/06(日) 13:20:24 ]
- CreateFileの最後の引数って(別に指定する必要が無い場合)NULLを指定するの?それともINVALID_HANDLE_VALUE??
- 148 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 13:24:19 ]
- >>147
NULL
|

|