- 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/
- 152 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:40:23 ]
- 無効な値が NULL か INVALID_HANDLE_VALUE かで型名を変えればいいのに。
同じ型に別名与えるだけでいいんだからさ。
- 153 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 16:04:33 ]
- >>152
そしたら、CloseHandleは?
- 154 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 18:39:45 ]
- Win32とかMFCって互換性に縛られすぎてて汚い
.NETFrameworkのクラスライブラリはVB6のソレを焼直した感があってこれまた中途半端 MSはもっと直感的で分かりやすく作れないものなの?
- 155 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 18:41:13 ]
- 1からクリーンに作って普及したものってあまり聞かない気がする。
- 156 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 19:20:33 ]
- WPFはそこそこ
- 157 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 19:43:22 ]
- >>153
どっちも CloseHandle でいいじゃないか WINAPI と APIENTRY と CALLBACK が同じものだったりする感じで。
- 158 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 20:29:48 ]
- PASCALは
- 159 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 21:31:27 ]
- Vistaのソースコードゲットした
すげーでけーよw
- 160 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 21:34:37 ]
- そういえばHalfLife2のソースどこいったっけ・・
- 161 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 21:40:39 ]
- 俺が持ってる
- 162 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 21:42:20 ]
- 俺も預かってやってる
- 163 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 22:02:23 ]
- XPとVistaのソースコードを手に入れたので、試しにXPにAeroGlassを移植してみた俺が来ましたよ
- 164 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 22:06:58 ]
- 一人で移植できるような規模なのか
Microsoftは五年かかったのにな
- 165 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 22:16:43 ]
- >>163ならVistaのDirectSound HALを復活させられるに違いない。
とりあえずEAX2.0までのエミュレーションコードも入れといてね。
- 166 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 22:16:56 ]
- ぶっちゃけソースほしいわ
ReactOSとwineとカーネルデバッガから辿るのは結構しんどい
- 167 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 22:46:56 ]
- デバッグシンボルを落としてきてdumpbin /disasmでリバースエンジニアリングすればいい
ぶっちゃけこれで十分
- 168 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 23:22:15 ]
- フィルタドライバ作ったことあるひとがいれば教えて欲しいんだけど、
標準で定義されているハード情報取得するときのコントロールコード をDeviceIoContorol()にわたして、そのときに返ってくる値を フィルタドライバのなかでうその値に変換して戻せる?
- 169 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 23:26:51 ]
- 日本語でおk
- 170 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 23:53:40 ]
- リバースエンジニアといえば
XP の CommandLineToArgvW は argv[argc] に NULL を格納しようとしてし忘れている感じがした記憶がある。
- 171 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 23:59:00 ]
- >>170
それはきっと前世の記憶だ。さぁ、今すぐMSに行ってバージョンアップしてきなさい。
- 172 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:02:54 ]
- >>170
2000のやつも忘れてた気がする まあCランタイムの__argc/__targvを使うかUnderTheHoodのやつからパクってくればいいだろう 俺の場合リバースエンジニアして非公開APIを使いまくっていたソフトが Vistaになって大多数の非公開APIが廃止されたせいでエラーが出て起動しなくなってて泣いた
- 173 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:18:52 ]
- そういうことになるから非公開なんじゃないのかw
- 174 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:23:46 ]
- >>146
即レスどうもありがとう!徹夜プログラムで確認中に寝落ちしますた。 でうまくいかなくてまだ確認中なんだけど、sendInputは、TranslateAccellalatorと違って、 送り先のコンポーネント(hWndなど)を指定することができない。これが原因と関係するのかなあと。 やっぱりWM_KEYDOWNのMSG構造体を作る当初方針でがんばるのが必要なのかな。
- 175 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:31:28 ]
- >>173
だってさ、95〜XPまで問題なく使えたんだぜ? いきなり廃止するとは思わないじゃない でも互換モードでXPSP2にすると普通に動くあたりがMSらしい きっと古いMS製品も動かなかったのだろうw シンボル取ってきて見てみたらAPIの前にRETIRED_とか付いててワロタ
- 176 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:50:30 ]
- 互換モードでやることの中には、古いファイルを使うなんてこともなかったっけ?
- 177 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:52:33 ]
- >>175
洒落が聞いてるなw Vistaにするにあたって、整理したのかねぇ。 で、古い非公開APIは別の所にまとめたとか。
- 178 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 01:06:11 ]
- そういうスーパーハッカーみたいな技術はどうすればつくんですか
- 179 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 01:08:44 ]
- DLLを覗けばいいんじゃね
- 180 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 02:55:01 ]
- >>174
自己レスです。送り先指定がないので自アプリのトップへ送ると固定されてるのかなと思ってたけど 考えてみたら、XKeymacsみたく、外部アプリへキーボード入力を送り込むアプリもあるので、 そういう制限はないはず。なのでよくわからんが、Xkeymacsのソースを解析中。 そもそも単にキーボードカスタマイズの自由度を広げるためにやってたんだが、深みにはまりそうな予感してきたw
- 181 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 05:01:11 ]
- >>180
だれも気にしてないと思うけど、知識共有になるかもなので、うまくいったコードおば。 void Hander_For_Ctrl_F() { MSG oMsg = { m_hWndObj, WM_KEYDOWN, VK_RIGHT, 0, 0, 0 }; BYTE cKeyStates0[ 256 ], cKeyStates[ 256 ]; ZeroMemory( (void *)cKeyStates0, 256 ); GetKeyboardState( cKeyStates ); SetKeyboardState( cKeyStates0 ); m_pAxObj->TranslateAccelerator( &oMsg ); <= 修飾なし右ボタンをActiveXへ SetKeyboardState( cKeyStates ); } ActiveXにそれ用のコマンドがなかったので、偽装キー入力で対応したんだが、 キーボードのEmuは奥が深い…。というか泥臭い。なんかあとからバグりそうねw
- 182 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 13:35:42 ]
- >>178
デペンデンシー・ウォーカー眺めてると楽しいよ。
- 183 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 14:13:12 ]
- 指定のウィンドウにWM_DROPFILESを投げるとき、
DROPFILES構造体のために確保した領域は 投げてからすぐ解放してしまっていいのでしょうか? サンプルを探したら、しているものといないものがあって 判断に迷います。
- 184 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 14:23:56 ]
- WM_DROPFILESそういう使い方をするもんではない
思うに、COMのOLED&Dと勘違いしてないか?
- 185 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 14:45:10 ]
- >184
では、ウィンドウにファイルをドロップするには何のメッセージを使えばいいのでしょうか?
- 186 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 14:54:03 ]
- >>183
別のプロセスに送るなら、すぐに解放しても構わないはず。
- 187 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 14:57:19 ]
- >>184
そういう使い方"も"出来る訳だが 知らないのか? >>183 対象アプリがDragFinishで開放するからいらないんじゃないの?
- 188 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:03:09 ]
- 知らないならレスしないでください
- 189 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:06:17 ]
- 知ったか厨うぜえ
勘違いしてるのはお前だろw
- 190 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:08:19 ]
- 誰が誰に言ってるのかも書いてクレヨン
- 191 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:11:50 ]
- とにかく知らないクズはレスしないでくださいよ。うざい
- 192 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:14:44 ]
- お前らレスアンカーぐらいつけろ
- 193 名前:デフォルトの名無しさん [2008/04/07(月) 15:20:28 ]
- >>184
- 194 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:22:22 ]
- だから知らないならレスするなよクズ
- 195 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:29:08 ]
- また荒れてきたなあ
とりあえず>>184は切腹
- 196 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:29:44 ]
- >>184
- 197 名前:デフォルトの名無しさん [2008/04/07(月) 15:29:49 ]
- >>195
荒らすなよお前
- 198 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:55:34 ]
- VistaでもWin16アプリって動くの?
- 199 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:58:41 ]
- >>お前らへ
>>121
- 200 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 15:58:50 ]
- >>198
空気読めよ
- 201 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 16:18:02 ]
- オマエモナー
- 202 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 16:34:38 ]
- これまた懐かしい
- 203 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 16:45:32 ]
- (・∀・)ジサクジエンデシタ
- 204 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 16:46:45 ]
- もう、ぬるぽ
- 205 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 16:56:24 ]
- わっしょいわっしょい
- 206 名前:デフォルトの名無しさん [2008/04/07(月) 17:51:02 ]
- ファイル又はメモリ内のデータを圧縮するAPIと解除するAPIを教えてください
- 207 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 18:21:58 ]
- zlib
- 208 名前:デフォルトの名無しさん [2008/04/07(月) 18:54:51 ]
- cabinet.dllの簡単な使い方を教えてくださいよ
- 209 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 18:59:14 ]
- 知らないならレスしないでください に一致する日本語のページ 約 141,000 件中 1 - 100 件目 (0.69 秒)
- 210 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 19:05:07 ]
- >>206
RtlCompressBuffer / RtlDecompressBuffer
- 211 名前:デフォルトの名無しさん [2008/04/07(月) 19:14:15 ]
- >>209
お前>>184だろ 知らない癖に主観で嘘を書いたら叩かれて当然 そんな当然の事も分からず被害者ヅラするぐらいなら最初から書くな
- 212 名前:デフォルトの名無しさん [2008/04/07(月) 19:16:36 ]
- >>210
すんません、それぐぐっても悲しいくらいにヒットしないんですが それって簡単なんですか?
- 213 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 19:28:22 ]
- >>212
あるじゃんwww しっかり検索しようよ undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Compression/RtlCompressBuffer.html
- 214 名前:デフォルトの名無しさん [2008/04/07(月) 19:33:02 ]
- >>213
あ、これは失礼しますた。 WEB全体からぐぐるとある程度でてきました。
- 215 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 19:45:25 ]
- >>214
∧∧ ヽ(・ω・)ノ ズコー \( \ ノ 、ハ,、  ̄  ̄
- 216 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 21:46:19 ]
- こんにちは。
エクスプローラーのリストビューのタイプの変更を行いたく思い、少し調べているのですがよくわからない部分があるので質問させてください。 yokohama.cool.ne.jp/chokuto/urawaza/lv_icon.html を読んでタイプの変更は出来そうなのですがWindows Vistaの特大アイコンなどはどのようなメッセージを送ればいいのかわからないのです。 ヒント等ご教授戴ければ幸いです。
- 217 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 21:49:10 ]
- つ Spy++
- 218 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 22:01:34 ]
- >>217
どうもありがとうございます。 その発想はありませんでした。
- 219 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 01:39:44 ]
- Windowsプログラミング用にtypedefしたデータ型の変数を扱うときは
Cの標準ライブラリを使うかで悩んだりするけど、他の人はどうしてる のかな。 例えばWindowsプログラムには、文字列用にいろいろなtypedefした型が あるけど、実際には同じくcharの配列だしsprintfとかstrlenとかも使え るだろうが、それは反則とみなすのか。 wspritnfとかlstrlenのようにWindows用の関数があればいいけど、それ がないやつは困りそうだ。あったとしても、MSDNで調べて理解して解決ま で持っていくのも大変そうだな。 ところでファイル入出力も、fputs、fprintf、fgets等に似たWindows用 の関数もあるんでしょうか。あるかないかだけ聞ければいいです。
- 220 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 01:40:52 ]
- _tcslen とか、文字系の関数には全部 TCHAR 用の関数が用意してあるでよ。
- 221 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 05:08:02 ]
- それってVCの独自拡張じゃないのか?
- 222 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 05:15:04 ]
- ウインドウに描画はするけど、クリックしたら下にあるウインドウにメッセージが届くようにするにはどうすればできますか?
- 223 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 05:58:55 ]
- 俺様拡張よりはマシだろう。
VC以外のコンパイラを使うことも考慮するなら、 VCのTCHARマクロと互換性のあるものを別に作って使えばいいと思うよ。
- 224 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 06:28:42 ]
- tchar.hなんてWindows用コンパイラなら標準みたいなもんだろ
- 225 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 07:23:58 ]
- ていうか、C標準にwchar_tが導入されたときに、TCHARマクロのようなものも標準化されなかったんか?
- 226 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 07:36:30 ]
- >>221
そもそも Windows プログラミングをしようってんだから TCHAR 使うのは普通だろ?
- 227 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 07:59:08 ]
- いい加減9xは切り捨ててwchar_tで書けばいいと思うんだ
- 228 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 08:14:23 ]
- VC特有を嫌うくらいなら、
wchar_tがWin32APIのWCHARと互換性があるという仮定は、 すべきではないだろう。 gccではwchar_tが32ビット幅だったりするしな。
- 229 名前:デフォルトの名無しさん [2008/04/08(火) 09:15:12 ]
- ttp://www.forest.impress.co.jp/article/2004/02/27/otorinasai.html
のようにCTRL+ALT+DELを押した時の画面のキャプチャを取ろうと思ってます。 アプリケーションのサービス化、デスクトップハンドルの取得、 EnumDesktopWindowsでウインドウ列挙、までは可能ですが GetDCによるHDCの取得ができません。 何か別の方法があるのでしょうか? 「SAS Window」のウインドウハンドルを取得しSetWindowTextでタイトルを 変更する事ができましたのでウインドウハンドルまでは取得できています。 よろしくおねがいします。
- 230 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 09:16:58 ]
- >>229
マニュアルとかのドキュメント作成のために画面キャプチャが欲しいっていうのなら、 リモートデスクトップとかVMwareとか、そういうのを使うといいよ。
- 231 名前:229 mailto:sage [2008/04/08(火) 11:33:56 ]
- >>230
すみません、プログラムでなんとかできればと考えております。
- 232 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 11:51:13 ]
- >>231
とりあえずGetDC失敗した後GetLastErrorで原因を探ってみてはどうじゃろ。
- 233 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:04:02 ]
- さすがにサービスアプリを作って試してみるのはめんどくさすぎるw
- 234 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:14:14 ]
- sexeを使ってみ。
- 235 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:15:12 ]
- >>233
知らないのに無理に答えようとしてガンバル必要はないぞ。
- 236 名前:デフォルトの名無しさん [2008/04/08(火) 12:18:27 ]
- >>234
このエロめ!
- 237 名前:デフォルトの名無しさん [2008/04/08(火) 12:19:51 ]
- 知らないならレスしないでください
- 238 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:27:26 ]
- また荒れてるのかw
- 239 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:33:27 ]
- そんなもん知ってる奴なんて作者とMSの人間ぐらいだアホか
- 240 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:34:28 ]
- >>239
無知ならレスしないでください
- 241 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:35:37 ]
- >>228
gccで一括りにしてはダメ。Windows用のgccはwchar_tが16ビット。
- 242 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:37:31 ]
- ふつうにできるやん
- 243 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:42:51 ]
- メールやん
- 244 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:49:56 ]
- shlwapiのHashDataって、OSやDLLのバージョン違ってもアルゴリズム同一と保証されてる?
- 245 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:09:15 ]
- 英語版MSDNの検索がタイムアウトしまくって使い物にならん
- 246 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:20:06 ]
- >>244
されてないと思うよ。 NT4.0の頃のIEの暗号化が標準か高度かによって違っていただろうしね。 CryptoAPIを使うことは考えてみた?
- 247 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:28:00 ]
- 244です。
>>246 あー。いや暗号強度とかはあんまり関係なかったんです。 データ管理に128bitのハッシュが必要だったんだけど、ソースをあまり増やさないで欲しい というんでMD5ルーチンが使えなかった、でこれを利用したかった。 ポータブルなデータではないんで絶対同一であることが必要でもないんだけどちょっと気になったので。
- 248 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:39:23 ]
- MD5ルーチンってどっかのDLLが持ってたはず
SDKヘルプで出てきたし
- 249 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:44:24 ]
- MSDNライブラリのネット版がクソ重くて見れないんだけど嫌がらせか?
- 250 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:48:31 ]
- 英語版もさっきそんな感じだったなあ
今は復帰してるが Windows Filtering Platform超ワケワカンネ
- 251 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:52:16 ]
- ファイアウォールでも作るのw?
- 252 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 14:01:01 ]
- >>245
>>249 独り言やめれ。 MSDNライブラリくらいローカルのHDDにインストールしろよ。
|

|