■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API質問箱 Build35
251 名前:デフォルトの名無しさん :2005/09/14(水) 00:29:10
訳す人もある程度Win32知ってないとだめだね

252 名前:デフォルトの名無しさん :2005/09/14(水) 01:22:54
昔はMSの新入社員に訳させていた。余りにも誤訳が多いので、外注するようになった。
根本的な解決になっていないらしい。

253 名前:デフォルトの名無しさん :2005/09/14(水) 02:21:53
>>252
新入社員にやらせることじゃないだろ…
本国はMSDNを新人に書かせてたり社外に丸投げしてるのか? そんなわけないだろうに

254 名前:デフォルトの名無しさん :2005/09/14(水) 04:19:06
スクロールバー、なんかもう、なんかもう、ああぁぁぁ......っ。
ごちゃごちゃごちゃっ............................................。

255 名前:デフォルトの名無しさん :2005/09/14(水) 05:09:10
windowsにwinsockはありますか?

256 名前:デフォルトの名無しさん :2005/09/14(水) 05:20:56
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

257 名前:デフォルトの名無しさん :2005/09/14(水) 05:28:53
可哀相に、winsockが何かもわかって無いんだな

258 名前:デフォルトの名無しさん :2005/09/14(水) 05:31:07
Windows Socket

259 名前:デフォルトの名無しさん :2005/09/14(水) 07:40:44
windowsにマインスイーパはありますか?

260 名前:デフォルトの名無しさん :2005/09/14(水) 08:30:03
windowsにWINAPIはありますか?

261 名前:デフォルトの名無しさん :2005/09/14(水) 09:01:07
WindowsにC言語はありますか?

262 名前:デフォルトの名無しさん :2005/09/14(水) 09:21:12
Windowsに真心はありますか?

263 名前:デフォルトの名無しさん :2005/09/14(水) 09:50:38
>>255 >>259-262
すべてあります。

264 名前:デフォルトの名無しさん :2005/09/14(水) 10:04:28
>>261
標準では付いていません。
>>262
相性問題が多発しているのでサポート外です。

265 名前:デフォルトの名無しさん :2005/09/14(水) 11:10:12
Windowsにバグはありますか?

266 名前:デフォルトの名無しさん :2005/09/14(水) 11:11:26
Windowsにバグはありません。すべて、仕様です

267 名前:デフォルトの名無しさん :2005/09/14(水) 12:14:21
Windowsにマニフェストはありますか?

268 名前:デフォルトの名無しさん :2005/09/14(水) 12:21:58
あるよ

今日からあなたもLUNAスタイル!! 月に代わっ(ry

269 名前:237 == 240 :2005/09/14(水) 14:13:29
ttp://www.ne.jp/asahi/oh/landd/prog_html/prog64.html
ここから見つけてきました。

>IME関連のメッセージで
>開始と終了を示すのは以下のふたつです。

>WM_IME_STARTCOMPOSITION
>変換を開始した時のみこのメッセージが送られます。

>WM_IME_ENDCOMPOSITION
>変換を終了した時のみこのメッセージが送られます。

変換終了メッセージは
WM_IME_ENDCOMPOSITION
なんですね。
ためになりました。

270 名前:デフォルトの名無しさん :2005/09/14(水) 14:19:54
ダイアログボックスから浮動小数を取得するにはどうすればよいのですか?
整数を取得するには GetDlgItemInt を使用すればいいのですが
浮動小数がわからなくて

271 名前:デフォルトの名無しさん :2005/09/14(水) 14:24:29
>>270
APIは用意されてない

GetDlgItemTextで文字列として取得して変換

272 名前:270 :2005/09/14(水) 15:25:58
>>271
答えてくれてありがとうございました。

>GetDlgItemTextで文字列として取得して変換
とあるのですが、C言語の atof のようなAPIはあるのでしょうか?
答えてもらって今までずっとググっていたんですが 見つけられなくて

273 名前:デフォルトの名無しさん :2005/09/14(水) 15:27:20
>>218
ExtractAssociatedIcon()ってのがある。
バグ持ちなのか、期待通りの動作をしてくれないんで使えないけどな。
結局、同等の関数を自作して実装してるよ。

274 名前:デフォルトの名無しさん :2005/09/14(水) 15:44:24
>>272
atof使えば良いかと・・・

275 名前:デフォルトの名無しさん :2005/09/14(水) 16:05:04
Cを使ってるとは限らないぞ

276 名前:274 :2005/09/14(水) 16:20:02
>>275
それもそうだな

>>272
ともあれ、atofのようなAPIはないはずなんで、
何とか自分でがんがれ

277 名前:デフォルトの名無しさん :2005/09/14(水) 16:27:41
Outlook Express のメールを総て.DBXから.emlに変換をするアプリを作りたいです。
アドレス帳も.wabファイルを読み込んで、アドレスだけテキストに変換したいのです。
こういうプログラムを作りたいのですが、どうやって良いのかさっぱり分かりません。
手動で出来るのは分かるのですが、プログラムだとどうやるのでしょう?

278 名前:デフォルトの名無しさん :2005/09/14(水) 16:28:32
Cを使ってるとは限らないが、
相当するAPIなぞ無いのだから、
どのみちatofのような各言語に用意された型変換関数を使うしかあるまい

279 名前:デフォルトの名無しさん :2005/09/14(水) 16:29:22
DBXやWABの構造をグーグルやら駆使して暴き出せ

280 名前:270 :2005/09/14(水) 17:18:33
全部 masm で作ろうかなと思ってプログラミングしてたんですけど
API には atof のようなものはないんですね・・・



281 名前:デフォルトの名無しさん :2005/09/14(水) 17:29:36
masm使ってるとは思えないヘタレ発言

282 名前:デフォルトの名無しさん :2005/09/14(水) 18:31:55
ReadProcessMemoryで数千byteの中身を4byteずつみていきたいんですが、
for(i=0;i<1000;i++){
ReadProcessMemory(hProcess, (LPVOID)dwPtr, &dwMl, 0x4, NULL);
printf("%x\",dwMl);
dwPtr = dwPtr + 0x4;
}
こんな感じにするとめちゃめちゃメモリにアクセスする回数増えるので
ReadProcessMemory(hProcess, (LPVOID)dwPtr, &dwMl, 0xFA0, NULL);
って感じに一気に読み込んでから4byteずつ見た方がいいかなーって思ってるんですが、
どうやって4byteずつ読み込んでいくかわかりません。
なんかうまいやり方ありませんか?

283 名前:デフォルトの名無しさん :2005/09/14(水) 18:35:28
ポインタ知らない人かと思ったら
ポインタ使ってるじゃないか

284 名前:デフォルトの名無しさん :2005/09/14(水) 18:58:10
考えてみればDWORDじゃ0xFA0分の中身読み込めないから戻り値0になってましたorz
char[4000]とかにして4文字ずつとってatoiすればいいのかな・・・

285 名前:デフォルトの名無しさん :2005/09/14(水) 19:02:02
そーゆーのはもうWin32APIの質問じゃありませんから。

286 名前:デフォルトの名無しさん :2005/09/14(水) 19:05:29
すんません。自分で何とかします。

287 名前:デフォルトの名無しさん :2005/09/14(水) 20:07:30
cpuの温度を返す関数ってありますか?

288 名前:デフォルトの名無しさん :2005/09/14(水) 20:14:54
GetTemp

289 名前:デフォルトの名無しさん :2005/09/14(水) 20:16:49
ごめん低脳スレとまちがえた

290 名前:デフォルトの名無しさん :2005/09/14(水) 22:15:03
WMIで出来ないかな?

291 名前:218 :2005/09/15(木) 02:01:41
>>273
取得したいのはアイコンハンドルではなくて、アイコンのファイル名とインデックスです。

292 名前:273 :2005/09/15(木) 03:25:15
>>291
おまいさんはMSDNに目を通したのかと小一時間(ry

If the icon is extracted from an associated executable file,
the function stores the full path and file name of the executable file in the string pointed to by lpIconPath,
and stores the icon's identifier in the WORD pointed to by lpiIcon.

って書いてあるだろ。

・・・まぁ、>>273の通りなんで、結局は役に立たないけどな。

293 名前:287 :2005/09/15(木) 07:02:21
WMI・・面白いと思ったけど温度の関数ないなぁ・・もう少し調べてみます

294 名前:デフォルトの名無しさん :2005/09/15(木) 09:34:28
>>277
たとえばMAPI?

見てないけど。
FILE: Windows Address Book (WAB) Documentation
http://support.microsoft.com/default.aspx?scid=kb;en-us;266347

295 名前:デフォルトの名無しさん :2005/09/15(木) 12:35:09
>>287
それで何をしたいのか?
もし、CPUの温度を表示する様なツールを作りたい、と言う事なら、
電子温度計のセンサ部分を直接CPUに付けた方が便利だと(以下略

296 名前:デフォルトの名無しさん :2005/09/15(木) 14:17:52
マウスホイールのチルトに対応するにはどのメッセージを捕まえればよいのでしょうか?

297 名前:デフォルトの名無しさん :2005/09/15(木) 14:46:29
win98 での話で気が引けるが、StretchDIBits() で 2240x1488 から 73x49 に
縮めようとすると失敗する。(winXP ではOK)
拡大ではバグの資料が MSDN に見つかったが、縮小では見つからない。
どれくらいの比率の縮小で失敗するか、ご存知の方どうか教えて下さい。
(失敗したら自分で SetPixel() で間引いて HDC に移しているが遅い。
尚、縮小はサムネイルを作るため。写真の枚数でサイズを決めて縮小して
いるが、たまたま写真の枚数が多くて、不具合がばれた。)

298 名前:デフォルトの名無しさん :2005/09/15(木) 15:06:55
>>295
そんなことしなくても、たいていのCPUには
温度センサーついてるだろw

299 名前:デフォルトの名無しさん :2005/09/15(木) 15:11:58
マザーボードによって取得方法が違うからねぇ

300 名前:デフォルトの名無しさん :2005/09/15(木) 16:09:41
>>297
知らんがドライバ次第だったりするんじゃないか?

つか、せめて自分で画像いじるときはDIBSectionぐらい使おうぜ。

301 名前:287 :2005/09/15(木) 17:53:53
>>295
いや、熱暴走が気になるから表示できて警告できるソフトみたいなのつくろうかなーとか思っただけなんですが・・

>298
そなの?

302 名前:デフォルトの名無しさん :2005/09/15(木) 18:03:10
普通にMBMとか使えばいいだけじゃないのか?

303 名前:デフォルトの名無しさん :2005/09/15(木) 18:07:03
あのDLLってソース公開されてたはず

あれだよあれ、名前が出てこない・・・もう歳か・・・・

304 名前:デフォルトの名無しさん :2005/09/15(木) 18:42:51
>>301
MotherBoardMonitorでぐぐれ。その方が早い。

305 名前:デフォルトの名無しさん :2005/09/15(木) 18:51:23
スレ汚しすみません。

親ウィンドウと子ウィンドウを作って、それぞれのWM_CREATEに入った回数を数えてみたのですが、
親のWM_CREATEにはなぜか二回も入るのに、子のやつには一回も入りません orz
両方とも一回ずつ入るようにしたいのですが、
これは子ウィンドウの作り方が決定的に間違っているのでしょうか?

すみませんが、どなたかお願いします m(__)m

http://aploda.com/dl.php?mode=pass&file_id=0000028955

306 名前:デフォルトの名無しさん :2005/09/15(木) 19:07:08
同じウィンドウプロシージャを使っていたりしませんか?

307 名前:306 :2005/09/15(木) 19:09:14
あ、ソースアップされていましたね...。

308 名前:デフォルトの名無しさん :2005/09/15(木) 19:09:55
>>305
同じWinProcを参照してるから。
子のWinProcを使いたいなら、フックするのではなく、
子のWinProcを登録したウィンドウクラスを作成し、それでCreateしてみれ。


309 名前:305 :2005/09/15(木) 19:12:51
もしかして子のWNDCLASS構造体を作って
色々ぶち込むんですかね?

さっそくやってみまっす!!

310 名前:306 :2005/09/15(木) 19:12:59
同じウィンドウクラスを使っていますよ。

311 名前:デフォルトの名無しさん :2005/09/15(木) 19:13:13
memcpyと置き換えができるAPIはありますか?

312 名前:デフォルトの名無しさん :2005/09/15(木) 19:14:00
初心者な質問でごめんなさい。
最近APIの勉強を始めて練習がてらにウィンドウをスクリーンの端などに持っていった時に
自動に端に引っ付かせる(例:WINAMPなど)方法を考えているのですがうまくいきません。
WM_WINDOWPOSCHANGEDやWM_MOVEで特定座標に来たらSetWindowPos()で端に
移動させてみたのですが、それではそれらのメッセージ前に一度マウスで指定した座標のところに
一瞬ウィンドウを描写してから端に描写するので困っています。
ウィンドウを移動不可にする関数もしくはスタイル(?)など探しているのですが小生の力では探せず・・・
どなたかヒントだけでも教えていただけないでしょうか?
お願いします。

313 名前:デフォルトの名無しさん :2005/09/15(木) 19:14:21
説明が足りなかったかもしれんので、追記

ソースでは親のWinProcを登録したWNDCLASSを作成し、
そのWNDCLASSでもって両方のウィンドウをCreateしてる。

その後子のWinProcをSetWindowLongで設定しているが、
CreateWindowが完了して時点で、対象のウィンドウには
WM_CREATEは既に送信されている。
このため、親のWinProc上でWM_CREATEが2回呼ばれている。

なので、>>308のようにしなさいということ。

314 名前:デフォルトの名無しさん :2005/09/15(木) 19:20:31
すいません、
キー入力について教えていただきたいんですが、
ハードウェア的に直接キーボードを入力したのとまったく変わらない状態を作り出せる
そんなAPIはありませんでしょうか?


315 名前:287 :2005/09/15(木) 19:26:17
>>304
結構いいかも、ありがと♪

316 名前:デフォルトの名無しさん :2005/09/15(木) 19:26:50
>>314
SendInput

317 名前:デフォルトの名無しさん :2005/09/15(木) 19:29:24
>>312
MFCのCControlBarのソースを参考に

318 名前:デフォルトの名無しさん :2005/09/15(木) 19:31:38
>>312
WM_WINDOWPOSCHANGING

319 名前:デフォルトの名無しさん :2005/09/15(木) 19:44:09
>>311
静的なら CopyMemory
動的なら RtlMoveMemory

320 名前:305 :2005/09/15(木) 19:49:47
できた?かも。
http://aploda.com/dl.php?mode=pass&file_id=0000028985

>>310 >>313
大変大変参考になりました。
どうもありがとー m(__)m

InitWndClass()という関数でWNDCLASS構造体を作るようにしました。
子は親と違うクラスネームですが、これはいいんですかね?
あと、子のプロシージャの戻り値は親と同じようにDefWindowProc()関数にしてるんですが、
これで親と同じようにWM_TIMERとか使えば
子が消滅するまで無限ループ?すると考えていいんでしょか?

321 名前:312 :2005/09/15(木) 20:13:50
レスありがとうです。
>>318
なるほど、このメッセージで送られるWINDOWPOSポインタの座標を変更すればできました。
すっかり見落としてました。
スレ汚しすみません。

>>317
MPCですか・・・今度時間があれば参考程度に見てみます。

322 名前:321 :2005/09/15(木) 20:16:35
ごめんなさい、訂正

>WINDOWPOSポインタの座標
WINDOWPOSポインタ先に格納されてるXY座標

323 名前:311 :2005/09/15(木) 20:16:55
>>319
静的だったのでCopyMemoryを使いうまくいきました
ありがとうございます

324 名前:デフォルトの名無しさん :2005/09/15(木) 21:44:29
>>323
CopyMemoryは最終的にはmemcpyが呼び出される。
MoveMemoryも結局はmemmoveの呼び出しになる。(が、一応kernel32.dllにエントリもある)

少なくともVCでは/Oiを指定するとmemcpyはインライン展開されCランタイムライブラリは不要になるはず。

325 名前:デフォルトの名無しさん :2005/09/15(木) 21:53:38
なんでそんな物をAPIに求めるのかねえ。

326 名前:デフォルトの名無しさん :2005/09/15(木) 22:30:46
現在ダイアログを作成して、ダイアログ上にエディットボタンを置いています。
ダイアログ上のエディットが操作された事を
WM_COMMANDを取得することで知っているのですが、
エディットボタンに送られてくるWM_メッセージを全て盗みたいと思っています。
何かいい方法はないでしょうか?

327 名前:デフォルトの名無しさん :2005/09/15(木) 22:31:59
>>326
サブクラス化

328 名前:デフォルトの名無しさん :2005/09/15(木) 22:37:17
>>311
一応貼っとく。
[SDK32] C ランタイム関数の Win32 で対応する関数一覧
ttp://support.microsoft.com/default.aspx?scid=kb;ja;99456

329 名前:デフォルトの名無しさん :2005/09/15(木) 22:38:47
>>328
ありがとうございます!!!

330 名前:デフォルトの名無しさん :2005/09/15(木) 22:42:10
>>325
たとえばCPUに応じて最速のコピー命令を使えるとか。
関数呼び出しのオーバーヘッドが誤差の範囲になる程度のまとまった量の
コピーじゃないと意味ないけど

331 名前:デフォルトの名無しさん :2005/09/15(木) 22:43:20
>>328
おぉ、テンプレに入れてもいい気がする。

332 名前:デフォルトの名無しさん :2005/09/15(木) 23:16:15
>>328
ちょっと感動した

333 名前:デフォルトの名無しさん :2005/09/16(金) 00:42:42
さっそくブックマーク

334 名前:デフォルトの名無しさん :2005/09/16(金) 01:55:55
ちなみに言うとVC++で最適化するとDWORD単位でのブロック転送に置き換えられる。

てか、APIコールのオーバーヘッドのほうがでかいから。
本当に高速なコピーができることが重要な場面では、とりあえずスタートアップ時に
cpuidで判定して、movdqaなりmovqなりを使うルーチンに関数ポインタをセットする。

Intel C++だとわざわざ自作しなくとも専用のmemcpyが自動的にリンクされたような。

335 名前:デフォルトの名無しさん :2005/09/16(金) 09:27:04
>>328
久しぶりに感動した

336 名前:デフォルトの名無しさん :2005/09/16(金) 13:44:56
マウスを使うゲーム今作ってるんだけど頻繁にウインドウの外にでてちょっとうざったいのです。
マウスカーソルをウインドウの中に閉じ込めることってできますか?


337 名前:デフォルトの名無しさん :2005/09/16(金) 14:06:44
質問しないとわからんことか?

338 名前:デフォルトの名無しさん :2005/09/16(金) 14:08:05
ヒント
デスクトップもウインドウ

339 名前:デフォルトの名無しさん :2005/09/16(金) 14:17:29
>>336
出来ないことは無いが、そのプログラムを終わらせないとタスク切り替えもままならなくなる。
そんな糞プログラムにするくらいなら設計し直せ。

340 名前:デフォルトの名無しさん :2005/09/16(金) 14:19:21
VirtualPCが確かそんなことをやってた気がする。
マウスの移動をチェックしてウインドウの外に出たらウインドウの中に強制的に移動じゃちょっと違うのかな。

341 名前:デフォルトの名無しさん :2005/09/16(金) 14:36:19
ClipCursor

342 名前:デフォルトの名無しさん :2005/09/16(金) 16:10:51
環境は VC.net sdk で作成しています。
質問なのですが、現在ヘッダーコントロールを勉強しているのですが、
指定した位置にヘッダーコントロール表示はできたのですが、ヘッダーを指定した位置から
動かさないで中身のみスクロールさせたいのですが、有効なAPI御存じないでしょうか?
MoveWindowでスクロールさせると指定位置から動いてしまうので困っています。

343 名前:デフォルトの名無しさん :2005/09/16(金) 16:17:55
まずは日本語をやり直せ。逆接が4つもある

344 名前:342 :2005/09/16(金) 16:30:24
質問です。現在ヘッダーコントロールを勉強してます。
指定した位置にヘッダーコントロールの表示はできました。
しかし、ヘッダーを指定した位置から動かさないで中身のみ
スクロールさせたいのですが、よくわかりません。
MoveWindowでスクロールさせると指定位置から動いてしまうので
困っています。上記の目的に有効なAPIありますか?
環境は VC.net sdk です。

…で、答えは↓の辺りかな?
ttp://www.kumei.ne.jp/c_lang/sdk3/sdk_294.htm


345 名前:デフォルトの名無しさん :2005/09/16(金) 16:54:00
Windowsが管理している全てのウィンドウの内、
キーボードフォーカスを持つウィンドウのハンドルを取得したいのですが、
WindowFromPoint
ChildWindowFromPoint
を使うのが普通で簡単なのでしょうか?

346 名前:デフォルトの名無しさん :2005/09/16(金) 16:59:38
>>344
返事ありがとうございます。
kumeiさんのHPは、よく勉強させていただいてます。
でも、指定位置からのヘッダースクロールの解決方法はありませんでした。。

347 名前:デフォルトの名無しさん :2005/09/16(金) 17:09:05
http://jbbs.livedoor.jp/bbs/read.cgi/game/14836/1125989416/

「RGSS+Win32API」のスッドレをしたらばに立てました。
RGSSとWin32APIの両方に興味のある方は
どうぞごりようください

348 名前:デフォルトの名無しさん :2005/09/16(金) 18:20:01
どうしてここでは名無しなんだOmoti

349 名前:デフォルトの名無しさん :2005/09/16(金) 18:22:25
名前出さないほうが人が呼べると踏んだんだろう。馬鹿なりに考えて。

350 名前:デフォルトの名無しさん :2005/09/16(金) 18:41:13
RGSSなんてわけのわからん略語使うな
ブラクラ踏んじまったじゃないか

351 名前:デフォルトの名無しさん :2005/09/16(金) 18:52:24
そして被害者がまた一人…

352 名前:デフォルトの名無しさん :2005/09/16(金) 20:29:30
ダイアログボックスの様なタスクに表示されない
普通のウィンドウ(MDIではない子ウィンドウ)を作りたいのですが、可能でしょうか?
もし、そうならばその方法を教えてください。

353 名前:デフォルトの名無しさん :2005/09/16(金) 20:49:15
>>399
Alt+Tab、知ってますか?

354 名前:287 :2005/09/16(金) 21:05:46
>>399
ふぁいと

355 名前:デフォルトの名無しさん :2005/09/16(金) 21:06:30
ぉ、名前ミス

356 名前:デフォルトの名無しさん :2005/09/16(金) 21:14:38
名前だけか?

357 名前:デフォルトの名無しさん :2005/09/16(金) 21:15:17
>>353
知りませんでした…この機能
が、意図するものが見えません。スマソ。教えてください。
>>354
誰だか知らないけどありがとう?

358 名前:デフォルトの名無しさん :2005/09/16(金) 21:24:40
>>357
>>399を読めばなにを意図しているか分かるよ

359 名前:357 :2005/09/16(金) 21:28:35
>>358
気長に待つしかないのでつか・・・。

360 名前:353 :2005/09/16(金) 21:44:41
どうやったら>>349と399を間違えるんだ俺!!

361 名前:デフォルトの名無しさん :2005/09/16(金) 21:45:50
>>349じゃなくて>>339だし・・・

362 名前:357 :2005/09/16(金) 22:25:40
スマソ。猫でもに載ってたorz。

363 名前:デフォルトの名無しさん :2005/09/16(金) 22:34:12
>>353
Alt+TabやAlt+Escで出来ても、見えてるのにマウスカーソルが動かないClipCursorとか
マウスのボタンを押してもないのに続くSetCaptureとかは、使う側はストレス溜まるだろう。

364 名前:354 :2005/09/16(金) 22:34:32
いや、399のレスが楽しみだなってw

365 名前:デフォルトの名無しさん :2005/09/16(金) 22:36:49
>>345
座標とフォーカスに何の関係があるんだ?

366 名前:デフォルトの名無しさん :2005/09/16(金) 22:39:30
ゲームなんだからいんじゃね >ClipCursor
オプションにしてもいいし。

367 名前:デフォルトの名無しさん :2005/09/16(金) 22:44:26
>>366
ClipCursorとか使う位ならフルスクリーンで動いた方がいい

368 名前:デフォルトの名無しさん :2005/09/16(金) 22:50:32
そのを操作中は一切マウスがウィンドウの外に出ず、
Alt+Tabやらでアプリを切り替えれば普通に全体にマウスを持っていけるゲームなぞ掃いて捨てるほどありますがね

369 名前:デフォルトの名無しさん :2005/09/16(金) 22:52:32
そんなゲームプレイする側からすれば鬱陶しいだけだ。

370 名前:デフォルトの名無しさん :2005/09/16(金) 22:53:17
掃いて捨ててください。

371 名前:デフォルトの名無しさん :2005/09/16(金) 22:56:16
>>367
個人的な好みじゃねぇかw
俺も個人的な好み言うなら、別にゲーム中にクリップされても全然構わんし、ゲーム内容によってはそのほうがいいだろうし。
フルスクリーンもそれはそれで希望してる人がいれば取り込めばいいわけだ。

372 名前:デフォルトの名無しさん :2005/09/16(金) 23:11:59
あるダイアログ1上からダイアログ2を呼び出します。
ダイアログ2上でユーザーに文字列を入力してもらい、
その文字列のエラーチェックをし、エラーでなければ
ダイアログ1に入力された文字列を渡したいと思っています。

今はexternを使い、char *ポインタを共用することで
問題を解決していますが、ダイアログ上でバイナリ
データのやり取り、または引数としてポインタを渡す
ことは可能でしょうか?
もし可能でしたらその方法を教えてください。

373 名前:デフォルトの名無しさん :2005/09/16(金) 23:21:31
DialogBoxParam()

374 名前:デフォルトの名無しさん :2005/09/16(金) 23:21:38
>>369
個人の趣味で「側」を語らないでくださいね^^

375 名前:デフォルトの名無しさん :2005/09/17(土) 00:01:01
>>374
お断りしますね^^

376 名前:デフォルトの名無しさん :2005/09/17(土) 01:52:53
ゲームだなんだの話は他所でやれ。

377 名前:デフォルトの名無しさん :2005/09/17(土) 02:03:45
ゲ製作技術
http://pc8.2ch.net/gamedev/

378 名前:デフォルトの名無しさん :2005/09/17(土) 08:14:46
>>375
断るとか関係ありませんよ^^

379 名前:デフォルトの名無しさん :2005/09/17(土) 18:54:06
>>378
そんなことありませんよ^^

380 名前:デフォルトの名無しさん :2005/09/17(土) 22:25:05
どなたかAdobansd Windows 下さいよ

381 名前:デフォルトの名無しさん :2005/09/17(土) 22:27:11
VisualStudio2005が出たら、.net academicpack漏れはどうなるの?w

382 名前:デフォルトの名無しさん :2005/09/17(土) 22:28:01
.net academicpackの漏れは

383 名前:デフォルトの名無しさん :2005/09/17(土) 22:28:17
どなたか〜

384 名前:デフォルトの名無しさん :2005/09/17(土) 22:28:36
academicpackな漏れは

385 名前:デフォルトの名無しさん :2005/09/17(土) 22:30:05
意味深

386 名前:デフォルトの名無しさん :2005/09/17(土) 22:31:20
一万円もするコンピュータの本買ったって言ったら、彼女びっくりするよ

387 名前:デフォルトの名無しさん :2005/09/17(土) 22:31:40
>>380
advanced じゃなくて?

388 名前:デフォルトの名無しさん :2005/09/17(土) 22:32:54
>>387
それですよ〜ww

389 名前:デフォルトの名無しさん :2005/09/17(土) 22:35:51
2005からVC++/CLI っていうのが強化されたらしいんだけど。
どうなんかな?

390 名前:デフォルトの名無しさん :2005/09/17(土) 22:40:58
Win32APIとは何の関係もないな

391 名前:デフォルトの名無しさん :2005/09/17(土) 22:45:39
頑張ってterapadでコーディングしてください

392 名前:デフォルトの名無しさん :2005/09/18(日) 00:51:21
これからWin64になるの?

393 名前:デフォルトの名無しさん :2005/09/18(日) 06:10:13
WinFXになるってエロイ人がいってたお(^^)

394 名前:デフォルトの名無しさん :2005/09/18(日) 16:33:58
Winsock LSPの詳しい資料ってどっかにありませんか??
散々探したけど、全然見つかりません・・・

395 名前:デフォルトの名無しさん :2005/09/18(日) 16:59:54
C++でWin32APIを使ってるのってもう古い?
C#に移行したほうがいいのかな

396 名前:デフォルトの名無しさん :2005/09/18(日) 17:01:23
ttp://www.microsoft.com/msj/0599/LayeredService/LayeredService.aspx


397 名前:デフォルトの名無しさん :2005/09/18(日) 17:02:09
>>396>>394宛ね。
>>395御好きにどうぞ。

398 名前:デフォルトの名無しさん :2005/09/18(日) 17:08:38
>>395
VS2005だとdllimportだらけになるなあ。
ま作るものによるんだけど

399 名前:394 :2005/09/18(日) 17:46:41
>>396
dクス。

400 名前:デフォルトの名無しさん :2005/09/18(日) 18:38:18
ところで400ゲット

401 名前:デフォルトの名無しさん :2005/09/18(日) 20:54:20
MAX_PATH廻りで

char path[MAX_PATH + 1];
Win32Api(path, MAX_PATH)
とやっている人と
char path[MAX_PATH];
Win32Api(path, MAX_PATH)
とやっている人がいますが、
どちらが正しいのですか?

Win32ApiはGetModuleFileNameやらGetFullPathNameやらその他もろもろです。

402 名前:デフォルトの名無しさん :2005/09/18(日) 20:55:28
+1 しとけば安心

403 名前:デフォルトの名無しさん :2005/09/18(日) 21:05:07
またそのネタか

404 名前:デフォルトの名無しさん :2005/09/18(日) 21:53:01
TCHAR path[MAX_PATH + 2];


405 名前:デフォルトの名無しさん :2005/09/18(日) 21:57:58
なんで2を足してるの?

406 名前:デフォルトの名無しさん :2005/09/18(日) 21:59:13
TCHARを理解していないから

407 名前:デフォルトの名無しさん :2005/09/18(日) 22:33:49
TCHARくらい理解してますよ^^

408 名前:デフォルトの名無しさん :2005/09/18(日) 22:35:04
>>407
は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?
は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?
は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?
は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?
は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?は?

409 名前:デフォルトの名無しさん :2005/09/18(日) 23:01:30
TCHARというよりC言語の配列を理解してないんじゃ

410 名前:デフォルトの名無しさん :2005/09/18(日) 23:02:54
malloc()とゴッチャになっている、に一票

411 名前:デフォルトの名無しさん :2005/09/18(日) 23:34:41
ひょっとして、Buiild33 の >>323 の再来ですか?

412 名前:デフォルトの名無しさん :2005/09/18(日) 23:35:47
Buiild33 ⇒ Build33 だ、スマソ

413 名前:デフォルトの名無しさん :2005/09/18(日) 23:43:36
質問です。Windows XP の互換モード(exeファイルのプロパティの「互換性」で
設定できるやつ)によって起動されたことを検出する方法があれば教えてください。
もしくは、互換モードの設定情報が保存されている場所を教えてください。

414 名前:デフォルトの名無しさん :2005/09/19(月) 01:14:30
ダイアログボックスを作成し、
その作成されたダイアログボックスのハンドルを取得したいのですが
何かいい方法はありませんでしょうか?

現在はWPARAMに子のハンドルを格納して子から親へメッセージを送り
親側ではWPARAMを基に子にメッセージを送信するということにしています。

WM_DIALOGINIT時に親に自分のハンドルを教えているのですが、
上のような方法はあまり賢くないような気がします。

415 名前:デフォルトの名無しさん :2005/09/19(月) 07:09:13
>>414
CreateDialogの戻り値がそうだろ。
まさか、モーダルでハンドル取ろうなんて考えてる訳じゃないだろ?

416 名前:デフォルトの名無しさん :2005/09/19(月) 09:55:35
>>395
GDI+用のラッパーどっかにいいの落ちてないか?
面倒臭くて面倒臭くて・・・

417 名前:デフォルトの名無しさん :2005/09/19(月) 11:45:23
自分で作れば?

418 名前:デフォルトの名無しさん :2005/09/19(月) 13:06:39
gdiplusクラスはすでにラッパーなわけだが、それをさらにラップしてどうするんだろ。

419 名前:デフォルトの名無しさん :2005/09/19(月) 13:16:46
C#と手間も変わらんよな

420 名前:デフォルトの名無しさん :2005/09/19(月) 16:12:24
どのあたりが面倒?

421 名前:デフォルトの名無しさん :2005/09/19(月) 16:32:10
CreatePopupMenu()をして
InsertMenu()で状況に応じたメニューを表示したいのですが、
選択したメニューの処理は、あらかじめID等を決めておいて
前もって作っておくしかないのでしょうか。

422 名前:not 416 :2005/09/19(月) 16:44:12
>>420
多分DC->Gdiplus::Graphics変換とかRECT→Gdiplus::Rect変換とかが
しょっちゅう必要で一段余計に手間が増えてウザイ、とかじゃまいか

423 名前:デフォルトの名無しさん :2005/09/19(月) 17:25:40
>>421
当然だろ
実行中にプログラムを作って動かすことなどできんのだから
それに、状況に応じたっていっても、無限じゃないだろ?
もし無限ならそんなのできません

424 名前:デフォルトの名無しさん :2005/09/19(月) 17:42:48
普通はメニューと処理は1対1だけど
「IEのお気に入り」や「最近使ったファイル」なんかは
複数のメニューをまとめて1つの処理でやってる

425 名前:デフォルトの名無しさん :2005/09/19(月) 18:52:03
Delphiのメニューと処理はあらかじめIDで結び付けられてるわけじゃないぞ
あれをWin32APIだけ使って真似するのは大変だと思うが

426 名前:デフォルトの名無しさん :2005/09/19(月) 19:22:02
>>424
ありゃあどんなリンクだろうとやる処理が同一だからだろ

427 名前:421 :2005/09/19(月) 20:11:34
>>423
ありがとうございます。

右クリックしたとき関数呼んででCreatePopupMenu()、
しているのですが関数終了時にDestroyMunu()は、したほうが
いいんでしょうか。

428 名前:デフォルトの名無しさん :2005/09/19(月) 21:05:48
関数無いで無条件にCreatePopupMenuしてるんなら関数終了時にDestroyした方がええじゃろう


429 名前:デフォルトの名無しさん :2005/09/19(月) 21:07:17
関数無い→関数内


430 名前:デフォルトの名無しさん :2005/09/19(月) 23:11:25
>>395
あたりまえだろ

431 名前:デフォルトの名無しさん :2005/09/19(月) 23:15:47
winsockは64ビットですか?

432 名前:421 :2005/09/20(火) 08:19:29
>>428
レスどうもです。

DestroyMenu()をしないとわずかづつ
メモリ使用量が増えていました。

433 名前:デフォルトの名無しさん :2005/09/20(火) 08:36:09
>>421
どういう状況かわからんが、
スクリプト処理系でも作ればいいんじゃないか?
処理内容を機械に作らせたい、となればまた別の話だけど。

予めIDを決めなければいけない、ってことはない。
WM_MENUSELECTとGetMenuStringとかでなんとかなるんじゃないか?
同じメニューストリングのメニューが無限にあるとかなら知らんが。

といっても普通はIDで事足りるかと。
さすがに「お気に入り」なんかでも6万もないだろ。


434 名前:デフォルトの名無しさん :2005/09/20(火) 11:15:48
>>416
Managed C++ または C++/CLI
他にも色々まとめてラップしてくれるぜ

435 名前:デフォルトの名無しさん :2005/09/20(火) 11:26:30
イェアイェアチェケラッチョ

436 名前:デフォルトの名無しさん :2005/09/20(火) 17:06:38
WS_EX_LAYEREDを立てて、ウインドウを作るとWM_KEYDOWN、WM_KEYUPなどのキーイベントが取得出来なくなってしまいます。
(キーを押すとシステムの警告音が鳴ってしまう「カン、カン・・・」って感じの)
何とか回避する方法ご存じな方いらっしゃいませんでしょうか。
よろしくお願いします。


437 名前:デフォルトの名無しさん :2005/09/20(火) 17:09:19
>>436
バグを直す。

438 名前:421 :2005/09/20(火) 20:06:36
>>433
メニュー項目で選択した文字列を関数の引数にしたかったんです。

TrackPopupMenu()のnFlagにTPM_RETURNCMDオプションを設定して
返り値の番号からどの文字列が選択されたか判断することで解決しました。

439 名前:デフォルトの名無しさん :2005/09/21(水) 00:25:22
メタファイルに関して質問があります。
プリンタへ印字するためのメタファイル作成で詰まっています。

現在CreateEnhMetaFileでメタファイルを作成しているのですが、
第一引数がNULLの状態からDPIを変更することは出来るのでしょうか?
SetWindowExやらSetViewportExやらでいじっても何も変わらなかったり、
真っ白になったりします。

第一引数がNULLでは出来ない場合、プリンタのDCを
取得せずにする方法はあるんでしょうか?



440 名前:436 :2005/09/21(水) 12:02:41
>>437
レスありがとうございます。

>バグを直す。
これは、WS_EX_LAYEREDを立ててウインドウを作る事とキーイベントが取得出来なくなる事に関係は無いという事でしょうか?


441 名前:デフォルトの名無しさん :2005/09/21(水) 16:50:41
他にどういう意味があると?

442 名前:439 :2005/09/21(水) 18:22:18
一部解決しました。MapMode換えると座標系も変わるのか…
プロパティのDPIは変わりませんが…

443 名前:デフォルトの名無しさん :2005/09/21(水) 21:21:17
こんばんは、よろしくお願いいたします。

ダイアログボックスに、ウィンドウを引っ付けて、
文字を書き込んでいますが、そのフォントサイズを変えたいのです。
そんなことできるのでしょうか。

444 名前:デフォルトの名無しさん :2005/09/21(水) 21:25:47
できます。

445 名前:デフォルトの名無しさん :2005/09/21(水) 21:47:26
やったねっ

446 名前:初心者 :2005/09/22(木) 13:56:45
質問があります。
現在、ボーランドでプログラムを作っているのですが、
TransparentBlt()関数が読み込めないらしく、
 Error: 外部シンボル 'TransparentBlt' が未解決
と出てしまいます。

何かをインクルードし忘れているからでしょうか?
windows.hだけをインクルードしているのですが。


447 名前:デフォルトの名無しさん :2005/09/22(木) 13:57:08
>>446
Msimg32.libをリンク

448 名前:初心者 :2005/09/22(木) 14:02:25
>>447
ありがとうございます。
すいませんが、リンクはどのようにするのでしょうか?

449 名前:デフォルトの名無しさん :2005/09/22(木) 14:12:17
返れ

450 名前:デフォルトの名無しさん :2005/09/22(木) 14:12:30
>>448
コマンドプロンプトからコンパイルしているのなら、
たぶんbcc32の引数にソースファイルと共にmsimg32.libを並べればいいはず。

451 名前:デフォルトの名無しさん :2005/09/22(木) 14:12:38
     /\___/ヽ
   / -‐'  'ー-  \
  . | (●),(、_,)、(●) ::|
  |    /,.ー-‐、i  :::::|
  |    //⌒ヽヽ  .::|
  |    ヽー-‐ノ  :::::|
   \    ̄   ...::/
   /`ー‐--‐‐―´\

452 名前:デフォルトの名無しさん :2005/09/22(木) 14:15:48
>>448
BCC5.5.1の事を言っているんなら、コマンドラインに単に msimg32.lib を
付け加えるだけでは?

453 名前:デフォルトの名無しさん :2005/09/22(木) 14:23:43
>448 >450 >452
返れ

454 名前:初心者 :2005/09/22(木) 14:25:39
ダメでした。いろいろなところに入れてみたのですが。


455 名前:デフォルトの名無しさん :2005/09/22(木) 14:25:44
返れって何?帰れならわかるけどwwww
日本語わかりまちぇんか??

456 名前:デフォルトの名無しさん :2005/09/22(木) 14:26:39
>>454
荒れてるようだからこっち言って聞いた方がいいかも。

タダで使えるBorland C++ Part4
http://pc8.2ch.net/test/read.cgi/tech/1091066805/

457 名前:初心者 :2005/09/22(木) 14:29:10
>>456
どうもです。行ってきます。

458 名前:デフォルトの名無しさん :2005/09/22(木) 14:30:48
多分PlatformSDKをインストールしてないってオチだろうな。

459 名前:デフォルトの名無しさん :2005/09/22(木) 14:32:40
>>458
bccは必要ない。ヘッダとインポートライブラリすべて同梱

460 名前:初心者 :2005/09/22(木) 14:39:35
それは何でしょうか。
ぜひインストールしたいものです。

461 名前:デフォルトの名無しさん :2005/09/22(木) 14:51:05
>>460
PlatformSDKは最新のWindows.hなどが入っている。
プログラムの実行が早くなったりするわけじゃないから、
インストールするのは必要に迫られてからでいい。

462 名前:デフォルトの名無しさん :2005/09/22(木) 14:52:31
下手に最新のPSDK入れたりすると、古いコンパイラでコンパイル出来なく
なったりするんだな、これが。

463 名前:デフォルトの名無しさん :2005/09/22(木) 14:56:12
PlatformSDKも知らんとWindowsプログラムやっとんのか・・・
恐ろしい世の中じゃのう

464 名前:デフォルトの名無しさん :2005/09/22(木) 15:19:53
>>455
返れ

465 名前:デフォルトの名無しさん :2005/09/22(木) 15:42:28
ファイルの上書き確認をするメッセージボックスを出したいのですが、
普通のメッセージボックスではなく、
「はい」「いいえ」だけでなく、「すべて」「中止」のボタンを付けなければなりません。
それで、Win32APIのメッセージボックスじゃ出来ないと思い、メッセージボックスを自作したのですが、
メッセージボックスのように、処理を中断させるのをどうすればいいかわかりません。
そういうことできる関数ありませんか?

466 名前:デフォルトの名無しさん :2005/09/22(木) 15:54:28
DialogBox

467 名前:デフォルトの名無しさん :2005/09/22(木) 15:54:55
モーダルダイアログ、モードレスダイアログ
で検索してみれ

468 名前:デフォルトの名無しさん :2005/09/22(木) 15:57:30
MessageBoxじゃダメなのか?

469 名前:デフォルトの名無しさん :2005/09/22(木) 16:09:32
MessageBoxに「すべて」ボタン作る引数なんてないだろ

470 名前:デフォルトの名無しさん :2005/09/22(木) 16:10:05
>>465
関数でなきゃ「厭ねっ」なのかっ!
あぁん!

471 名前:デフォルトの名無しさん :2005/09/22(木) 16:11:48
デスクトップアイコンを非表示にするAPIを知りませんか?


472 名前:デフォルトの名無しさん :2005/09/22(木) 18:49:26
>>465
CodeProjectにこんなのがあった。
ttp://www.codeproject.com/dialog/xmessagebox.asp

473 名前:デフォルトの名無しさん :2005/09/22(木) 19:26:27
>>443です
>>444さんありがとうございます。
CreateFontを使ってできました。

474 名前:デフォルトの名無しさん :2005/09/22(木) 22:58:58
すみません、ペゾルド本について質問させてください。
本書において DrawBezier (hdc, apt) ;というコードがありますが、ビルドするとエラーが発生してしまいます。
PSDKのドキュメントを探してもこんな引数を取る GDIファンクション は見当たりませんでした。
しかしながら、付属CDのプロジェクトをビルドした場合、エラーなくビルドすることが出来ました。これは何かをリンクする必要があるのでしょうか?

475 名前:デフォルトの名無しさん :2005/09/22(木) 23:40:01
>>474
へえーそういうのがあるんかとぐぐって見たら、こういうのがあったが、
この引数の関数型はユーザ定義じゃないの? 引数の数が多いのも同名の関数で
出てくる。はずしていたらごめん。
ttp://www.cmlab.csie.ntu.edu.tw/~yichin/WindowsProgramming/aslin/222324.htm

476 名前:デフォルトの名無しさん :2005/09/22(木) 23:57:30
>>474
おまいさんが持ってるのが第五版ならP.191に載ってるコードをちゃんと上から下まで見ろ。

477 名前:Mathiz ◆Ho9erQuSOQ :2005/09/22(木) 23:57:57
>>475
わざわざ調べていただいてありがとうございます。
よくソースを見直したら定義していた関数をまるっきり見落としていました....。
これもGDIファンクションかと勝手な思い込みをしてコーディングしていました。ご迷惑をかけてごめんなさいです..。

478 名前:477 :2005/09/22(木) 23:59:25
474は477です....orz

479 名前:デフォルトの名無しさん :2005/09/23(金) 07:33:16
>>471
こういうことか?

Win32API質問箱 Build28
http://pc8.2ch.net/test/read.cgi/tech/1108199304/

271 名前: デフォルトの名無しさん Mail: sage 投稿日: 05/02/20(日) 15:43:18

>>267
こんなもんでどう?検証で書いたからそのまま載せる。

HWND hWnd = NULL;
hWnd = ::FindWindow( "Progman", "Program Manager" );
hWnd = ::GetTopWindow( hWnd );
hWnd = ::GetTopWindow( hWnd );
::ShowWindow( hWnd, SW_HIDE ); // to hide
// ::ShowWindow( hWnd, SW_SHOW ); // to show

あとは、SPYで該当ウィンドウの意味を調べて自分なりにアレンジしてくらさい。


276 名前: デフォルトの名無しさん Mail: sage 投稿日: 05/02/20(日) 16:06:10

とりあえず場所はここのようです
HKEY_CURRENT_USER
Software
Microsoft
Windows
CurrentVersion
Explorer
Advanced
HideIcons

480 名前:デフォルトの名無しさん :2005/09/23(金) 17:00:14
すいません、質問です。
VC7でプロジェクトを新規に作成する際に使われている
ディレクトリを選択するためのダイアログと同じものを出したいのですが
よくわかりません。
ttp://with2ch.net/cgi-bin/pict/image-box/img20050923165516.png

OPENFILENAMEとGetOpenFileNameあたりを使うのではないかとあたりをつけて
いろいろ試してみましたが通常のファイルを保存するダイアログにしかなりません。
(ファイル名、ファイルの種類を指定するものあがあるやつです)

何か情報がありましたら、よろしくお願いします。

481 名前:デフォルトの名無しさん :2005/09/23(金) 17:35:58
あれはMSオリジナル

482 名前:デフォルトの名無しさん :2005/09/23(金) 18:24:33
質問なのですが、デスクトップ上に複数のウィンドウ(インターネットエクスプローラーやら、ペイントとか色々)
を出した状態で、それらのウィンドウの内、特定のウィンドウだけをスクリーンショットとして取りたいの
ですが、どうすればよいのですか?

483 名前:デフォルトの名無しさん :2005/09/23(金) 18:34:00
「Alt + PrintScreen」後にペイントに貼り付けじゃダメなの?

484 名前:デフォルトの名無しさん :2005/09/23(金) 18:35:57
>>483
それだといかんのです。
バックグラウンドにあるウィンドウとかをフォアグラウンドにもってきて
撮影するとかそういう感じでやりたいのですが、どうすりゃいいのかさっぱり・・・・

485 名前:デフォルトの名無しさん :2005/09/23(金) 18:45:02
特定のウィンドウはどうやって指定するんだよ
クリックしたら最前面にくるんだから最前面にあるウィンドウを撮影するのが
楽に決まってると思うんだが何をやりたいのかさっぱり

486 名前:デフォルトの名無しさん :2005/09/23(金) 18:47:32
>バックグラウンドにあるウィンドウとかをフォアグラウンドにもってきて撮影
1:バックグラウンドにある特定のウィンドウを見つける
2:フォアグラウンドに持ってくる
3:撮影

撮影はデスクトップの DC 持ってきて BitBlt で平気だったような気がする
ちなみにタイマー撮影を使うと1〜2が省略できて良いよ

487 名前:デフォルトの名無しさん :2005/09/23(金) 18:50:30
>>486
タイマー撮影というのを詳しく教えてください。

とりあえずBitblt関数を使ってキャプチャ作ってみます

488 名前:デフォルトの名無しさん :2005/09/23(金) 18:55:40
>>487
ちょうどカメラのセルフタイマーみたいな機能
これがあると、撮影ボタンを押した後に撮影したいウィンドウを最前面にもってこさせる操作ができる

489 名前:デフォルトの名無しさん :2005/09/23(金) 19:08:42
だからさ、自分で最前面に持ってくるんだったらそのときAlt+PrintScreenも
押すのではあかんの? プログラムを作ること自体が目的化してない?

490 名前:471 :2005/09/23(金) 19:49:16
>>479
レスありがとうございます。
いろいろテストしてみたら、以下のコードで出来ました。

Public Declare Function ShowWindow Lib "user32" (ByVal hwindow As Long, ByVal cmdshow As Long) As Long
Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long

hWndProgman = FindWindow("Progman", "Program Manager")
hWndProgman = FindWindowEx(hWndProgman, 0, "SHELLDLL_DefView", vbNullString)
hWndProgman = FindWindowEx(hWndProgman, 0, "SysListView32", vbNullString)
ShowWindow hWndProgman, SW_HIDE

ありがとうございました。

491 名前:デフォルトの名無しさん :2005/09/24(土) 01:52:34
ドラッグ アンド ドロップの質問です。
IEから、<a>タグで指定されてるリンクをドラッグして、
自分のプログラムにドロップしたいのですが受け付けてくれません。
どうやったらいいんでしょうか?

492 名前:デフォルトの名無しさん :2005/09/24(土) 03:06:42
>>491
OLE D&D

493 名前:デフォルトの名無しさん :2005/09/24(土) 06:20:33
>>491
IDropTarget

494 名前:461 :2005/09/24(土) 07:09:50
Win32コンソールアプリへのキー入力をインターセプトし、加工するにはどうしたらいいですか?

495 名前:デフォルトの名無しさん :2005/09/24(土) 12:44:38
  |
  |
  J

496 名前:デフォルトの名無しさん :2005/09/24(土) 15:00:39
バックバッファにDrawText等で描画した複数の文字列をBitBltで一気に画面に出力する手法を
以下のように記述したのですが何も表示されません。
何がまずいのでしょうか…。

HDC hdc, cdc;
PAINTSTRUCT ps;
RECT rect;

GetClientRect(hwnd, &rect);
hdc = BeginPaint(hwnd, &ps);
cdc = CreateCompatibleDC(hdc);

DrawText(cdc, "Hello,", -1, &rect, DT_LEFT);
DrawText(cdc, "2ch.", -1, &rect, DT_CENTER);

BitBlt(hdc, 0, 0, rect.right, rect.bottom, cdc, 0, 0, SRCCOPY);
DeleteDC(cdc);
EndPaint(hwnd, &ps);

497 名前:デフォルトの名無しさん :2005/09/24(土) 15:03:21
あるウィンドウをフォアグラウンドに持ってくるのに、
ttp://techtips.belution.com/ja/vc/0012/
この方法をやってみたのですが、
元のフォアグラウンドがタスクマネージャーで見ると「応答なし」のウインドウだと、上手くいきません。

ALT+TABなら目的のウィンドウに切り替えることはできるので、
この状態でもフォアグラウンドを変更する方法はあると思うのですが、
どのあたりのAPIを使えば良いでしょうか?

498 名前:デフォルトの名無しさん :2005/09/24(土) 15:22:16
>>496
RECTは使った事が無いから違うかもしれないけど、
HBITMAPと同じように関連付けを行わないとダメかも。

RECT rectOld;

***

cdc = CreateCompatibleDC(hdc);
rectOld = SelectObject(cdc, rect); //関連付け

BitBlt(hdc, 0, 0, rect.right, rect.bottom, cdc, 0, 0, SRCCOPY);

SelectObject(cdc, rectOld); //元に戻す
DeleteDC(cdc);

***

499 名前:デフォルトの名無しさん :2005/09/24(土) 15:28:44
>>498
RECT を関連付けしてどうする

500 名前:デフォルトの名無しさん :2005/09/24(土) 15:29:11
>>498
SelectObjectの第二引数にRECTは指定できないとエラーが出てしまいます。
&rectにすると一応実行は出来ますがやはり何も表示されないようです。
この場合何を関連付けたらいいのかを調べてみます。
レスありがとうございました。


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.