- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:23:58 ]
- スレ立てるまでもない、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質問箱 Build68 pc11.2ch.net/test/read.cgi/tech/1215348804/
- 202 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:13:44 ]
- 訳:かまってほしいな
- 203 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:28:35 ]
- >>175
>#define FreeDiskIO(buf) VirtualFree(buf, 0, MEM_RELEASE) あー、そのコードバグってますんで、以下のでよろしく。 #define FreeDiskIO(buf) VirtualFree(buf, 0, MEM_RELEASE | MEM_DECOMMIT)
- 204 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:39:00 ]
- ここで奴がキモイ自己陶酔日記を引っさげて登場
↓ ↓ ↓ ↓
- 205 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:43:19 ]
- CryptCreateHashで作った
HCRYPTHASHオブジェクトは使いまわしていいのでしょうか? CryptHashDataとかでハッシュ値生成して使い終わったら 一度CryptDestroyHashで開放すべきですか?
- 206 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:46:59 ]
- リファレンス嫁よ。ゆとりが
- 207 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:52:43 ]
- わからないんならレスしないでください
- 208 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:56:23 ]
- >>207
リファレンス読めば理解できると分かっている
- 209 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:01:58 ]
- >After one of the functions from this list has been called,
>CryptHashData and CryptHashSessionKey cannot be called. すみませんこの部分を見落としてました><; どもです。 ちなみに>>207は私じゃないですw
- 210 名前:デフォルトの名無しさん [2008/08/09(土) 00:09:26 ]
- ウィンドウを綺麗にC++のクラスで纏めるにはどのAPI使えばいい?wndclassのwndprocにクラスの関数入れたらエラーになるんですが・・・
- 211 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:12:39 ]
- RegisterClass(Ex)
CreateWindow(Ex)
- 212 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:13:27 ]
- >>210
そんなんじゃC++もたいしたレベルじゃねぇだろお前 ヒント:static
- 213 名前:デフォルトの名無しさん [2008/08/09(土) 00:19:02 ]
- URLを指定できるwavファイルを再生するAPIはありますか?
- 214 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:36:33 ]
- 具体的にどういうこと?
- 215 名前:デフォルトの名無しさん [2008/08/09(土) 00:41:48 ]
- ダウンロードした音声ファイルをユーザが使用することのないように、
ネット上の音声ファイルをソフト内で再生したいです。
- 216 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:45:45 ]
- 俺なら数分で作れるな
- 217 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:46:45 ]
- ちなみにVB6を使っています
- 218 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:52:16 ]
- VB6なんてとっくにサポート切れてるのにまだ使ってる人いるんだね・・・
- 219 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:52:57 ]
- 今すぐC#に切り替えることを勧める。VBなんてもはや廃れつつある言語。
- 220 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:55:04 ]
- そうですか、たまたまこれしか家にはないんですよね・・・
- 221 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:57:21 ]
- 大丈夫開発環境はただで揃うから
- 222 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:00:02 ]
- そうなんですか!
そういえばVC++6.0もあったのですが(使ってない) やるなら何がいいのでしょう?
- 223 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:06:48 ]
- 簡単にいきたいならC#
- 224 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:08:01 ]
- たまたまVB6が家にあるってのもおかしな話だな
- 225 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:13:41 ]
- 過去に親が使ってました
- 226 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:19:10 ]
- >>224
俺の家にはたまたまVC6ProとVS2003ProとVS2005Proがあるけど 結局VC6しか使ってない
- 227 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:19:22 ]
- リアル小学生な感じがしてきた・・・
- 228 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:27:07 ]
- VisualStudio6.0があります
- 229 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:27:39 ]
- もちろんたまたま親が
- 230 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:28:48 ]
- 割れ厨()笑だらけですね
- 231 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:31:47 ]
- こんなのがプログラミングしようとしててすみません。
- 232 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:35:03 ]
- 昔と違って3万もあればVS2008std買えるからいい時代になったな。SDKはネットで簡単に入手できるし。
- 233 名前:226 mailto:sage [2008/08/09(土) 01:54:53 ]
- >>232
VS2003ProとVS2005Proが学生の時にtheSpoke版が4kで買えて衝撃的だったんだが 今はDreamSparkなんてやってるんだよなぁ もうMSが何をしたいのか分からなくなってきた・・・
- 234 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:56:42 ]
- 市場を独占気味にしたい
- 235 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:58:45 ]
- Borlandが社名変えたり戻したりしてる間に既に市場独占してただろ
- 236 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:05:21 ]
- いくら無料で手に入る時代でもやっぱ金かけないとダメでしょ
AC版でも学生がン万円出すのはそれなりにしんどいし、 そうして手に入れれば「よし頑張るぞー」って気持ちになれる
- 237 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:07:55 ]
- 逆を言えば物にならなかった時に無駄になるのが嫌で
手を出せなかったという人もいるんだろうけどなー 元々そんな奴は物になんねーよと言う意見は取り合えず置いといて
- 238 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:07:58 ]
- うん、君はそうしとけばいいよ。
- 239 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:15:31 ]
- 無料配布なんて貧乏人救済システムは要らない
ただでさえ無職ニートが多いこんなご時世に「いつかシェアウエアでガッポリ儲けてやる」とか つまらない夢を抱く馬鹿が増えるだけ
- 240 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:33:40 ]
- 増えたところで俺には関係ない
その馬鹿と同じ次元に居る奴にはつらいのかもしれんが
- 241 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:35:48 ]
- 馬鹿で悪かったな
もう死んでも治りそうに無いよ
- 242 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:49:43 ]
- 馬鹿は馬鹿なりに前向きに生きればいいだろ
- 243 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 02:56:59 ]
- もういいから
- 244 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 10:57:28 ]
- 1>------ ビルド開始: プロジェクト: test, 構成: Debug Win32 ------
1>リンクしています... 1>7.obj : error LNK2019: 未解決の外部シンボル __imp__timeGetTime@0 が関数 _ThreadFunc@4 で参照されました。 1>C:\Documents and Settings\****\My Documents\Visual Studio 2008\Projects\test\Debug\test.exe : fatal error LNK1120: 外部参照 1 が未解決です。 1>ビルドログは "file://c:\Documents and Settings\****\My Documents\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm" に保存されました。 1>test - エラー 2、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== このエラーはどうやって直すんですか;;? msimg32.libはリンカから追加しました。
- 245 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 11:03:14 ]
- >>244
winmm ってライブラリは無い?
- 246 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 11:22:33 ]
- >>245
追加したらできました ありがとうございます
- 247 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 13:23:37 ]
- 環境スレ行けよ…
- 248 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 14:29:07 ]
- 行きたきゃお前が逝けよ
- 249 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 15:12:25 ]
- >>247
貴方の気分を害したことを謝罪いたしますと同時に遺憾の意を表します。 誠に申し訳ございませんでした
- 250 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 15:35:53 ]
- 慇懃無礼だな
- 251 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:12:19 ]
- __imp__timeGetTime@0 でググれば分かるけどな
- 252 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:41:06 ]
- テトリスやブロック崩しくらい作れないとWin32APIの基礎を
覚えたとは言えませんか?
- 253 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:46:17 ]
- うん。
- 254 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:47:48 ]
- テトリスやブロック崩しはアルゴリズムのほうがメインになるからWin32APIとは関係ない
- 255 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:48:00 ]
- テトリスやブロック崩しなんて、大半がゲームロジックでほとんどAPI使わないだろ。
ペイントの方が一通りの要素が揃っている。
- 256 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 17:04:30 ]
- ペイントなんて、大半がペイントロジックでほとんどAPI使わないだろ。
- 257 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:21:15 ]
- GDIの基本操作を学ぶには良いんじゃないか?
傾斜・反転・回転以外はほぼGDIに丸投げっぽいし。
- 258 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:44:39 ]
- >>250
どうして慇懃無礼なんでしょうか?
- 259 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:47:59 ]
- >>250
俺のダチが世話になったな 今度群馬こいいい所紹介してやるからよ
- 260 名前:デフォルトの名無しさん [2008/08/09(土) 21:08:00 ]
- ID出んから言いたい放題
わろす
- 261 名前:デフォルトの名無しさん [2008/08/09(土) 21:53:00 ]
- 質問です。既定のブラウザから例として「ぬるぽ ガッ」という検索結果のページをボタン一発で表示させたいのです。
詳しく言うと、 @プログラムのボタンを押す A既定のブラウザで「ぬるぽ ガッ」という検索結果のページがブラウザが起動して結果が表示される といった具合のものを作ろうと思っています。 既定のブラウザの取得方法は、 ://www.atmarkit.co.jp/fdotnet/dotnettips/652getdefaultbrowser/getdefaultbrowser.html でできましたが、その他ができません。 知恵を貸して頂けないでしょうか?
- 262 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:57:36 ]
- つ【俺の知恵】
- 263 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:57:54 ]
- うるちえ
- 264 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:59:29 ]
- www.atmarkit.co.jp/fdotnet/dotnettips/211startmail/startmail.html
こっちの方法でやればいいじゃんていうか.NETじゃん
- 265 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:59:46 ]
- >>261
ShellExecute
- 266 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:04:39 ]
- >>261
#include<windows.h> int main(){ ShellExecute(NULL, "open", "www.google.co.jp/search?hl=ja&q=%E3%81%AC%E3%82%8B%E3%81%BD+%E3%82%AC%E3%83%83&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=", NULL, "", SW_SHOWNORMAL); return 0; }
- 267 名前:デフォルトの名無しさん [2008/08/09(土) 22:06:16 ]
- >>264
参考ページが.NETでしたね。 私の言語はPASCALです。 >>265 function ShellExecute(hWnd: HWND; // 親ウィンドウのハンドル Operation : PChar // 操作 FileName : PChar // 操作対象のファイル Parameters: PChar // 操作のパラメータ Directory : PChar; // 作業ディレクトリ ShowCmd : Integer)// 表示状態 : HINST; ここでは操作がopen、ファイルがレジストリから取得したブラウザファイル、どこにそのアドレスを入れるのでしょう?
- 268 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:06:32 ]
- >>266
クエリストリングのbtnGとか要らないんじゃね?
- 269 名前:デフォルトの名無しさん [2008/08/09(土) 22:07:13 ]
- >>266
っと私が打ち込んでいる間に・・・具体的なコードありがとうございます。 さっそく解決してしまいました。 ありがとうございました。
- 270 名前:デフォルトの名無しさん [2008/08/10(日) 09:23:59 ]
- .NET に PictureBox というコントロールがあるのですが
これを VC++ で表現するならば コントロール上にビットマップイメージを貼ってるだけに相当するんでしょうか? よろしくお願いします
- 271 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 10:03:23 ]
- >>270
Win32だとStatic Controlに相当するな。 IDEのダイアログエディタだと「Picture Control」と表記されているが、 これはダイアログリソース上の表現で、結局はStatic Controlが生成される。
- 272 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 11:24:30 ]
- >>271
ありがとうございます Static Control にスタイルが SS_BITMAP って感じですね
- 273 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:19:38 ]
- SendMessageTimeoutの引数であるpdwResultと
SendMessageTimeout関数自体の戻り値に違いは出るのでしょうか? お願いします。
- 274 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:21:46 ]
- 違いは出ます。意味が違いますから。
- 275 名前:273 mailto:sage [2008/08/10(日) 21:24:47 ]
- >>274
具体的にどういった違いなのでしょうか? MSDNなどの資料には同じようなことしか書かれてなくて・・・ 参考URLの掲示でもかまわないのでお願いします
- 276 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:29:03 ]
- >>275
lpdwResultはSendMessageの戻り値相当じゃないか。 MSDNより lpdwResult 1 個の DWORD 型変数へのポインタを指定します。関数から制御が返ると、この変数に、メッセージの処理結果が格納されます。意味は、送信したメッセージにより異なります。 戻り値 関数が成功すると、0 以外の値が返ります。 関数が失敗した場合や、タイムアウトが発生した場合は、0 が返ります。
- 277 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:29:13 ]
- >>275
SendMessageTimeout の hwnd に無効なハンドルを入れた場合など
- 278 名前:273 mailto:sage [2008/08/10(日) 21:31:23 ]
- >>.276-277
なるほど納得がいきました ありがとうございます
- 279 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:32:13 ]
- >>275
pdwResultは送ったメッセージに対する戻り値。 メッセージを送った先のプロシージャが返した値。 SendMessageTimeoutの戻り値は、SendMessageTimeoutそのものの結果。
- 280 名前:デフォルトの名無しさん [2008/08/11(月) 11:06:58 ]
- RegisterClassExで作ったウィンドウクラスが有効かどうかを判定するAPIを教えてください
- 281 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 11:19:08 ]
- つ RegisterClass(Ex) の戻り値
つ GetClassInfo(Ex) で取得
- 282 名前:デフォルトの名無しさん [2008/08/11(月) 13:52:41 ]
- 直接画面DCには描画せずにバックグランドのDCを介して描画する.
1行または複数行,描画する場合はバックグランドDCに必要な文字を描画してから 画面を無効にしてWM_PAINTでBitBltを使い描画させる. のバックグラウンドDCとは何を指してるのでしょうか? 直接画面DCに描画するのと、バックグラウンドDCを介して描画するのとでは どのような違いがあるのでしょうか?
- 283 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 13:57:47 ]
- それを書いた奴に聞けよ
- 284 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:08:40 ]
- メモリDC
- 285 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:34:55 ]
- >>283
掲示板の過去ログに載っていたので聞きようがありません。 >>284 今から調べてきます
- 286 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 15:54:00 ]
- ダブルバッファ とかそういう話か?
ちらつき防止でやってるだけ 直接DCに描画だと 消しているトコロ も目に見えちゃうからチラツク
- 287 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 19:45:18 ]
- GdiSetBatchLimitを上げればいいんでねーの?
- 288 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:36:18 ]
- >287
全然違うんじゃね? GDI関数呼び出しをまとめて性能を上げるのと、一連の描きかけの絵を バックバッファに描画しておいて描き終わったら前面をInvalidateRect して(=WM_PAINT発生)からバックバッファから一気に転送(BitBlt) するのでは見え方が違う。 >286 の言ってることが正解。さらに描画を1シーケンスで完了できない場合、 描画中の絵が見えないと言うメリットもある。 性能向上の方式ではないので性能あげたいならInvalidateRectの 範囲を描画更新したい場所に限定する必要があるし、そういうの やりたいならGDIでなくDirectXで物理サーフィス×2面のFlipで やるのが普通。
- 289 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 22:15:07 ]
- てか消してるところが見えるって何世代前のPCだよw
- 290 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 22:17:56 ]
- 最新のPC
- 291 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 22:32:57 ]
- >289
最新のPCであっても、GDI関数で描画する時間は人間の一生のような 長い時間ってことが分からない素人かw 消しているトコロがリアルに人間に分からないように処理するには 液晶とグラボの垂直同期周期が60Hzとして、16.6666...msec 以内に 一連の描画処理を完了する必要があるけど? もちろん一度もVSYNC跨がずに、だ。
- 292 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 23:24:41 ]
- 一連の描画処理が16ms以上かかるってどんだけ重い描画なんだよ
- 293 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 23:30:17 ]
- でも、次の画面更新タイミングまでが偶々1msだったら・・・?
- 294 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 23:40:15 ]
- そんなの気にしなくていいよ、今時GDIなんてせいぜいコントロールの描画ぐらいしか使わないんだから
Windows標準のコントロールだって物によってはダブルバッファリングされてなくてちらつくけど誰もそんなの気にしてないし
- 295 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 23:42:13 ]
- >292
かかるでしょ。 ・そのプロセスのプライオリティより高いスレッドやカーネルでの より優先度の高い処理が行われる場合。 ・そのプロセスのプライオリティより低いスレッドが一定周期で ダイナミックブーストされる場合。 ・そのプロセス自身が描画処理中に、HDD等の単一リソースにアクセスした場合。 ・例えば1280x1024x32bit(フルカラー)の描画面(=5MBytes)をグラボに転送するのに、 DMA転送が使えなかった場合。 ・使えたとしても、メモリと他のデバイス間で先にDMA転送の帯域を食いつぶされていた場合。 いくらでもある。292がMS-DOSでシングルタスクのプログラマか、カーネルの設計者と いうなら謝るよ。ここWin32API質問箱なので勘違いしてた。 293は「もちろん一度もVSYNC跨がずに、だ。」を読み取ってくれたね。
- 296 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 23:44:45 ]
- もういいよ
> 例えば1280x1024x32bit(フルカラー)の描画面(=5MBytes)をグラボに転送するのに 今時こんな描画にGDIなんて使わない アンタだって暗にそう言ってるじゃん > GDIでなくDirectXで物理サーフィス×2面のFlipでやるのが普通。
- 297 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 23:53:08 ]
- >>295
こういうKYがいるとテスト工程が無駄に増えるよなw
- 298 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:00:55 ]
- >>297
そうやってシステム見られない自称SEもいるね。 手戻り工数増えるんだよなw 後になって性能が出ない時に言い訳しないようにね。
- 299 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:09:35 ]
- 文章から加齢臭がものすごいんですが・・・
- 300 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:11:58 ]
- WPF使えばちらつきなんか無縁
- 301 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:21:40 ]
- とっととCからWPF使えるようにしろと
- 302 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:25:25 ]
- つ MC++
|

|