トップページ⇒tech
1001コメント254KB

Win32API質問箱 Build63

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2008/03/04(火) 12:15:58
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-10くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(http://msdn2.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
http://wiki.livedoor.jp/program1/d/FrontPage

【前スレ】
http://pc11.2ch.net/test/read.cgi/tech/1202060403/
0002デフォルトの名無しさん2008/03/04(火) 12:16:20
- MSDN ホームページ
http://www.microsoft.com/japan/msdn/
- MSDN ライブラリ
http://msdn.microsoft.com/library/
http://msdn.microsoft.com/library/ja/
- MSDN2 ライブラリ
http://msdn2.microsoft.com/en-us/library/
http://msdn2.microsoft.com/ja-jp/library/
- MSDN ライブラリ (ローカル版)
http://www.microsoft.com/downloads/details.aspx?familyid=6FF3BC60-32C8-4C22-8591-A20BF8DFF1A2&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=ja
- Windows SDK & Platform SDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=74dd6e2d-89c6-4e1e-af00-fc7d70f15439&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b1e300-f358-4523-b479-f53d234cdccf&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=ff6467e6-5bba-4bf5-b562-9199be864d29&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=7614FE22-8A64-4DFB-AA0C-DB53035F40A0&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?FamilyId=484269E2-3B89-47E3-8EB7-1F2BE6D7123A
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
0003デフォルトの名無しさん2008/03/04(火) 12:16:42
- Google
http://www.google.com/
- 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
- Win32 API入門
http://wisdom.sakura.ne.jp/system/winapi/
- Win32 プログラミング入門
http://www7.plala.or.jp/keny01/

- Advanced Windows (書籍)
http://www.amazon.co.jp/dp/4756138055

-おまけ
Build19が見たい人で余裕のある人は●でも買ってくれ。
0004デフォルトの名無しさん2008/03/04(火) 12:17:28
61 ttp://pc11.2ch.net/test/read.cgi/tech/1199514664/
60 ttp://pc11.2ch.net/test/read.cgi/tech/1196874830/
59 ttp://pc11.2ch.net/test/read.cgi/tech/1194701996/
58 ttp://pc11.2ch.net/test/read.cgi/tech/1191781463/
57 ttp://pc11.2ch.net/test/read.cgi/tech/1189255282/
56 ttp://pc11.2ch.net/test/read.cgi/tech/1186989201/
55 ttp://pc11.2ch.net/test/read.cgi/tech/1184853465/
54 ttp://pc11.2ch.net/test/read.cgi/tech/1181645965/
53 ttp://pc11.2ch.net/test/read.cgi/tech/1178882828/
52 ttp://pc11.2ch.net/test/read.cgi/tech/1176828891/
51 ttp://pc11.2ch.net/test/read.cgi/tech/1174416295/
50 ttp://pc11.2ch.net/test/read.cgi/tech/1171721448/
49 ttp://pc10.2ch.net/test/read.cgi/tech/1168708801/
48 ttp://pc10.2ch.net/test/read.cgi/tech/1166172047/
47 ttp://pc8.2ch.net/test/read.cgi/tech/1163375772/
46 ttp://pc8.2ch.net/test/read.cgi/tech/1159158014/
45 ttp://pc8.2ch.net/test/read.cgi/tech/1156032806/
44 ttp://pc8.2ch.net/test/read.cgi/tech/1151501925/
43 ttp://pc8.2ch.net/test/read.cgi/tech/1148005509/
42 ttp://pc8.2ch.net/test/read.cgi/tech/1144962549/
0005デフォルトの名無しさん2008/03/04(火) 12:18:14
41 ttp://pc8.2ch.net/test/read.cgi/tech/1141392216/
40 ttp://pc8.2ch.net/test/read.cgi/tech/1138893959/
39 ttp://pc8.2ch.net/test/read.cgi/tech/1136673250/
38 ttp://pc8.2ch.net/test/read.cgi/tech/1133798345/
37 ttp://pc8.2ch.net/test/read.cgi/tech/1131884991/
36 ttp://pc8.2ch.net/test/read.cgi/tech/1128951330/
35 ttp://pc8.2ch.net/test/read.cgi/tech/1125850096/
34 ttp://pc8.2ch.net/test/read.cgi/tech/1122723009/
33 ttp://pc8.2ch.net/test/read.cgi/tech/1120153520/
32 ttp://pc8.2ch.net/test/read.cgi/tech/1117271829/
31 ttp://pc8.2ch.net/test/read.cgi/tech/1114762194/
30 ttp://pc8.2ch.net/test/read.cgi/tech/1112345886/
29 ttp://pc8.2ch.net/test/read.cgi/tech/1110281860/
28 ttp://pc5.2ch.net/test/read.cgi/tech/1108199304/
27 ttp://pc5.2ch.net/test/read.cgi/tech/1106103119/
26 ttp://pc5.2ch.net/test/read.cgi/tech/1104109858/
25 ttp://pc5.2ch.net/test/read.cgi/tech/1101393155/
24 ttp://pc5.2ch.net/test/read.cgi/tech/1098967135/
23 ttp://pc5.2ch.net/test/read.cgi/tech/1095534704/
22 ttp://pc5.2ch.net/test/read.cgi/tech/1092524669/
0006デフォルトの名無しさん2008/03/04(火) 12:19:01
21 ttp://pc5.2ch.net/test/read.cgi/tech/1090422324/
20 ttp://pc5.2ch.net/test/read.cgi/tech/1088140233/
19 ttp://pc5.2ch.net/test/read.cgi/tech/1084697545/
18 ttp://pc5.2ch.net/test/read.cgi/tech/1081702990/
17 ttp://pc5.2ch.net/test/read.cgi/tech/1077470361/
16 ttp://pc2.2ch.net/test/read.cgi/tech/1073830065/★
15 ttp://pc2.2ch.net/test/read.cgi/tech/1069339866/★
14 ttp://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
13 ttp://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
12 ttp://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
11 ttp://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
10 ttp://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
9 ttp://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
8 ttp://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
7 ttp://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
6 ttp://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
5 ttp://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
4 ttp://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
3 ttp://pc.2ch.net/tech/kako/1017/10170/1017072275.html
2 ttp://pc.2ch.net/tech/kako/1006/10067/1006783012.html
0007デフォルトの名無しさん2008/03/04(火) 12:21:11
1 ttp://pc.2ch.net/tech/kako/991/991576947.html
0008デフォルトの名無しさん2008/03/04(火) 12:29:05
>>1乙です
0009デフォルトの名無しさん2008/03/04(火) 13:32:15
前スレ、ベジエに回答してくれた人ありがとうございます><
0010デフォルトの名無しさん2008/03/04(火) 15:08:52
WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, OL, OL, hInstance,
NULL, NULL, NULL, NULL, _T("My Window"), NULL};

某参考書で勉強しているんですが、サンプル通りに打つと↑のOLが識別子が登録されていない、ということでエラーになってしまいます。
MSDNで調べてとりあえず0に置き換えてみたら動いたんですが、OL=0という認識で良いんでしょうか?
参考書の環境はVisualC++2005で、自分は2008を使っているので。その差なのかと思っているんですが、、、


似たようなもので
PeekMessage(&msg,NULL,OU,OU,PM_REMOVE))

ここでのOUも0に置き換えないと識別子のエラーで動きませんでした。

OUとかOLとか検索しても解説が見つからないので、誰か説明頂けるとありがたいです、、、
0011デフォルトの名無しさん2008/03/04(火) 15:09:44
>>10
たぶん オー じゃなくて ゼロ
0012デフォルトの名無しさん2008/03/04(火) 15:09:50
前スレのCONIMEはタスクマネージャに表示されるしCreateWindow呼んでるぽいけど
ウインドウないの?
0013デフォルトの名無しさん2008/03/04(火) 15:09:53
>>10
数字の後ろのL はlong のL Uはunsigned のU
0014デフォルトの名無しさん2008/03/04(火) 15:11:19
>>9
× OL
○ 0L

× OU
○ 0U
0015102008/03/04(火) 15:13:37
うお、、なんという早い返答。

あー、そういうことだったのか、これは非常に見づらい。

とりあえずややこしい話にならなくて安心しました、どうもありがとうございましたー。
0016デフォルトの名無しさん2008/03/04(火) 15:38:22
jpgやpngファイルの画像の幅と高さを取得したいんだけど、
画像全体を読み込まずに、幅と高さを取得するAPIやお手軽な方法ってありますか?
0017デフォルトの名無しさん2008/03/04(火) 15:58:31
>>12
Message-Only Windowってやつだよ。
0018デフォルトの名無しさん2008/03/04(火) 16:03:24
MDIフレームのデフォルト処理::DefFrameProcってMDIクライアントが作られるまでは、::DefWindowProcでもいいの?

ごめん、なんか無茶苦茶変な質問になっちまった...orz
でも知りたいの...orz
0019デフォルトの名無しさん2008/03/04(火) 16:15:46
>>16
あります。どちらもヘッダ部分に書かれているのでそこだけ解析すれば、全部を読む必要はありません。
とは言え、面倒ですが。
0020デフォルトの名無しさん2008/03/04(火) 16:59:08
>>19
JPGの場合は・・・、とかPNGの場合は・・・、とかTIFFの場合は・・・、とか処理分けて自分で読むしかないでしょうか?
0021デフォルトの名無しさん2008/03/04(火) 17:26:05
>>20
そうです。それが嫌なら既存のライブラリで済ませるしかないでしょう。
例えばImageMagickならその辺りは全部サポートしています。
0022デフォルトの名無しさん2008/03/04(火) 17:34:32
でもその手のライブラリを使うとなると、
大抵データ全体を読み込むことになると思う。
0023デフォルトの名無しさん2008/03/04(火) 17:38:22
libpngやjpeglibならヘッダだけ読む関数もある
0024デフォルトの名無しさん2008/03/04(火) 17:45:38
でもその手のライブラリを使うとなると、
大抵フォーマットごとに処理を分けることになると思う。
0025デフォルトの名無しさん2008/03/04(火) 17:50:23
全部で読んで成功したやつを採用、とか
0026デフォルトの名無しさん2008/03/04(火) 18:22:15
>>18
OKだが、普通は常にDefFrameProcに投げる
0027デフォルトの名無しさん2008/03/04(火) 18:27:36
Jpegの場合は、ヘッダの構造上、ファイルを全部読んだ方が処理は簡単です
GifやPngは、画像サイズの位置が固定されているので一部だけ読んで処理しても問題は無いです
0028デフォルトの名無しさん2008/03/04(火) 18:31:26
>>26
ありがとう!!!
今、ウインドウズのプログラムの勉強がてら、クラスライブラリ作ってて
ウインドプロシージャ見てたら統一できそうだなぁと思ってたんです
これで心置きなく統一できます!!!
0029デフォルトの名無しさん2008/03/04(火) 18:35:41
その考え方は危険すぐる
0030デフォルトの名無しさん2008/03/04(火) 18:53:13
// ウインドハンドルデータベース
std::map<HWND, pUBaseWindow> WndToPointer;

/*******************************************************************************/
// ウインドプロシージャ
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
LPCREATESTRUCT lpcs;
pUBaseWindow pWindow = WndToPointer[hwnd];

if (!pWindow){
if (msg == WM_CREATE){
lpcs = (LPCREATESTRUCT)lParam;
pWindow = (pUBaseWindow)lpcs->lpCreateParams;
pWindow->SetHandle(hwnd);
WndToPointer[hwnd] = pWindow;
} else {
return ::DefWindowProc(hwnd, msg, wParam, lParam); // この部分が::DefFrameProcになる
}
}
if (msg == WM_DESTROY){
WndToPointer.erase(hwnd);
}

return pWindow->WndProc(msg, wParam, lParam);
}

こんな感じっす
0031デフォルトの名無しさん2008/03/04(火) 18:59:52
>>30
それだったら、俺はDefWindowProcにする。
ちなみに、WM_CREATEより前にWM_NCCREATEが送られてきて、
そっちでもlParamからCREATESTRUCTへのポインタが得られる。

現在のWindowsでは、WM_NCCREATEの前に
WM_GETMINMAXINFOが送られるということが知られている。
逆に言えば、それしかやってこないということ。
だから、俺はDefWindowProcで済ます。

ついでに言えば、WM_DESTROYのあとにはWM_NCDESTROYがやってくる。
eraseはそっちでやればいいと思う。
0032デフォルトの名無しさん2008/03/04(火) 19:29:21
Win32使わずにEMFファイル作りたくてEMFの仕様書を読んだんだが、
EMR_HEADERとEMR_EOFの間にどのレコードを作ればいいかわかりません。
具体的には、
 任意の色、サイズをもった文字列、四角形、線がかければ良いんですが?



0033デフォルトの名無しさん2008/03/04(火) 19:51:09
>>31
アドバイスありがとう!!!
0034デフォルトの名無しさん2008/03/04(火) 22:09:31
ぽまいらSTLとか使ってますか?

0035デフォルトの名無しさん2008/03/04(火) 22:56:36
>>34
stringは絶対に使わない
0036デフォルトの名無しさん2008/03/04(火) 22:57:51
MFC だと CString のが親和性高いからまあ使わなくてもいいかもな。
たまに使うけど。
0037デフォルトの名無しさん2008/03/04(火) 22:58:46
え、std::stringはSTLなの?
0038デフォルトの名無しさん2008/03/04(火) 23:03:16
ど  っ  ち  で  も  い  い

強いて言うならC++標準。
つまんないことにこだわらんでも良いよ。

頻出ネタの上に面白くない議論にしかならないのでスルー。
0039デフォルトの名無しさん2008/03/04(火) 23:12:47
apiじゃない
0040デフォルトの名無しさん2008/03/04(火) 23:51:28
ウィンドウが生きてるかどうか、どうやって調べたらいいですか?
ちなみにタイトルバーのキャプションは刻々と変化するかもしれず、また存在しないかもしれないです。
0041デフォルトの名無しさん2008/03/04(火) 23:54:10
>>40
IsWindow
0042デフォルトの名無しさん2008/03/04(火) 23:54:21
IsWindow
IsHungAppWindow
とか?
0043デフォルトの名無しさん2008/03/05(水) 00:24:43
>>41-42
トンクス!!
0044デフォルトの名無しさん2008/03/05(水) 03:05:52
ダイアログボックスでWM_KEYDOWNを受けるにはどうしたらいいですか?
0045デフォルトの名無しさん2008/03/05(水) 11:27:24
SendDlgItemMessage?関数の使い方がわかりません。
最後の引数2つがわからないのです。(あとはわかります)
最後の二つの引数はwpalam lpalamとか設定する?いったいなにを
設定すべきなの?
0046デフォルトの名無しさん2008/03/05(水) 11:30:40
自分で好きなもの
0047デフォルトの名無しさん2008/03/05(水) 11:31:16
>>45
あなたが伝えたいと思う熱いメッセージの内容を
0048デフォルトの名無しさん2008/03/05(水) 11:31:40
>>45
SendDlgItemMessage(hDlg, nIDDlgItem, Msg, wParam, lParam)
 = SendMessage(GetDlgItem(hDlg, nIDDlgItem), Msg, wParam, lParam)

これで分からなかったらCとWin32を勉強しなおせ
0049デフォルトの名無しさん2008/03/05(水) 14:39:51
FindFirstFileでファイルの存在をチェックしているのですが、ロングファイルネームだと
Run-Time Check Failure #2 - Stack around the variable が出てしまいます。

> + cAlternateFileName 0x0013e578 "????200712~2.JPG" wchar_t [14]

ググってもFindFirstFileでこんなレベルのエラーが出た人は居ない様です…orz
何をミスっているのでしょうか?

環境はXP SP2、VC++ 2008EE、後はDirectX9 2007Novを入れている位です。
0050デフォルトの名無しさん2008/03/05(水) 14:44:09
> FindFirstFileでファイルの存在をチェックしているのですが
その程度なら PathFileExists で良かろう
0051デフォルトの名無しさん2008/03/05(水) 14:50:59
>>49
>何をミスっているのでしょうか?

配列の長さ
0052デフォルトの名無しさん2008/03/05(水) 15:05:40
>>50
そうですね、PathFileExistsを使う様にします。
それと後出しになって申し訳ないのですが、フォルダの中身をなめる事も
別の個所でやっていました。
元の問題についてもアドバイス頂けませんか?

>>51
具体的にはどこを修正すれば良いのでしょうか?
0053デフォルトの名無しさん2008/03/05(水) 15:16:16
>>52
デバッガの使い方でも覚えたらどうかね?
0054デフォルトの名無しさん2008/03/05(水) 15:17:44
WIN32_FIND_DATAがANSIになってんじゃね?
0055デフォルトの名無しさん2008/03/05(水) 16:07:10
>>54
定義を手繰るとFindFirstFile、WIN32_FIND_DATA共にW付きでした。

16文字帰ってきている様に見えるのですが、そういうものなのでしょうか?
0056デフォルトの名無しさん2008/03/05(水) 16:23:21
そういう妄想は最少のコードで検証してから。
wmainにFindFirstFileだけ書いて動かしてみればいい。
0057デフォルトの名無しさん2008/03/05(水) 16:46:47
コード1行も貼らないでどこを修正、とか聞かれてもなー
0058デフォルトの名無しさん2008/03/05(水) 18:56:10
         |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ノ|
         |丶、 ;;; __;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;_,,: ィ";;_|
         ト、;;;;;;;;;;;;;;;` ` '' ー -- ‐ '' ";;;;;;;;;,:ィ;:;!
        ,';:``' ‐ョ 、 ,_ ;;;;;;;;;;;;;;;;;;;;;;;;;;; , - '"l;:;:;:;:l
        l;:;:;:;:;:;:;ミ   ` ` '' ー -‐ '"    ,リ;:;:;:l
        l;:;:;:;:;:;:;:ゝ   く三)   (三シ  `ヾ;:t、
       fミ{;:;:;:;:f'´  , -−-_,, _,ィ 、_,,ィ,.-−、  };f }
       l トl;:;:;:;:l  、,ィ或tュ、゙:ミ {,'ィt或アチ l:l,/
       ゙i,tヾ:;:;:!  `ヽ 二ノ   ト ` ‐''"´  l:l:f
        ヽ`ー};:l       ,r'、   ヽ      リ_)
         `"^l:l      ,/゙ー、  ,r'ヽ    l
           ゙i    ,ノ    `'"  丶.   ,'    コードを貼らずして修正とな!?
             ゙l、   ′ ,, ィrェェzュ、,_ 〉 } /
            ',ヽ  ヘヾ'zェェェッ',シ' //ヽ
             } 丶、 ` ー--‐ '"'´,/ノ:.:.:ヽ
            /l   丶、      ,.イ:.:.:.:.:.:.:.:丶、、
          ,r'"^l !    ` ー‐;オ´:.:.:.:.:.:.:.:.:.,ノ  ,}、
     ,. -ァ=く(:.:.:.l  l      //:.:.:.:.:.:., - '"  ,/ ヽ、
  , - '"´ / ,/`>'t、_」___,ィ'゙,ィ,.: -‐ '" ,. -‐ '"    \
/    ヽ-(  / / f   }li,     ,. -‐ '"          \
0059デフォルトの名無しさん2008/03/05(水) 21:26:32
じゃあ、張りますね。

int _tmain(int argc, _TCHAR* argv[])
{
WIN32_FIND_DATA fileDataBuff;
HANDLE hFind;

hFind = FindFirstFile(_T("C:\\20051215105022.png"), &fileDataBuff);
if (hFind != INVALID_HANDLE_VALUE)
FindClose(hFind);

return 0;
}
0060デフォルトの名無しさん2008/03/05(水) 23:27:52
>>59
このコードでランタイムエラーが起きると?
0061デフォルトの名無しさん2008/03/06(木) 00:23:14
ウィンドウプロシージャ内でSleepすると、
他のスレッドも一緒に止まってしまっているようなのですが、
止まらないようにするにはどうすればいいのでしょうか。
0062デフォルトの名無しさん2008/03/06(木) 00:26:56
win32apiとjavaのSWTとではどちらの方が2D描画が高速ですか
0063デフォルトの名無しさん2008/03/06(木) 00:32:22
win32apiだろ?
0064デフォルトの名無しさん2008/03/06(木) 01:15:22
SWTのほうが実は早かったりする
0065デフォルトの名無しさん2008/03/06(木) 01:29:21
まじかよ
0066デフォルトの名無しさん2008/03/06(木) 01:32:14
wavデータをバイナリ化するにはどうしたらいいですか
0067デフォルトの名無しさん2008/03/06(木) 01:35:57
wavデータはバイナリデータです
0068デフォルトの名無しさん2008/03/06(木) 01:36:27
wavデータをリソースとして実行ファイルに埋め込むにはどうしたらいいですか
0069デフォルトの名無しさん2008/03/06(木) 01:41:35
リソースコンパイラかIDEのリソースエディタを使う
0070デフォルトの名無しさん2008/03/06(木) 02:04:48
SWTってDirectXみたいにハードウェア資源を利用して描画速度を上げたりしてるの?
0071デフォルトの名無しさん2008/03/06(木) 02:31:10
>>64
いや、まじで

>>70
Yes
HALのハード寄りの低位なところをVMが使ってるらしいよ
意外と知られてない事実
0072デフォルトの名無しさん2008/03/06(木) 02:38:22
前提となる条件が明示されていないのに、速い遅いの議論はナンセンス。
0073デフォルトの名無しさん2008/03/06(木) 02:41:43
>>61
本当にスレッド分けてるのか?
0074デフォルトの名無しさん2008/03/06(木) 06:25:18
>>61
別スレッドからメッセージをSendしているからじゃね?
0075612008/03/06(木) 08:05:08
簡単にコードを書くと、やってるのはこんな感じです。

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
CreateThread(スレッド処理);
while(GetMessage(&msg, NULL, 0, 0)){
DispatchMessage(&msg);
}
return 0;
}

LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){
switch(uMsg){
case WM_CLOSE:
StopFlg = TRUE;
Sleep(100); //ここでスレッドも止まる
FreeApp();
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
0076デフォルトの名無しさん2008/03/06(木) 08:30:34
スレッド側の処理を書かないのは本当は解決したくないからだよな。
だったら出ていけ。
0077デフォルトの名無しさん2008/03/06(木) 09:14:32
情報後出し野郎はスルー汁
0078デフォルトの名無しさん2008/03/06(木) 10:07:14
俺も>>74だと思う
0079デフォルトの名無しさん2008/03/06(木) 13:25:41
ファイルのプロパティの詳細タブの情報ってどうやって取得するの?
文字列と値を取得したいです。
0080デフォルトの名無しさん2008/03/06(木) 14:58:56
IShellFolder2.GetDetailsOf/GetDetailsEx
0081デフォルトの名無しさん2008/03/06(木) 16:48:20
>>59
その内容だけで
> + cAlternateFileName 0x0013e578 "????200712~2.JPG" wchar_t [14]
みたいにはならんぞ。????には実際に何が入ってる?
0082デフォルトの名無しさん2008/03/06(木) 16:49:00
デバッグ中にfileDataBuffウォッチして確認してみてくれ
0083デフォルトの名無しさん2008/03/06(木) 17:18:53
そもそもてめぇのC:\のファイル構成が分からんのに
hFind = FindFirstFile(_T("C:\\20051215105022.png"), &fileDataBuff);
で何が返ってくるかなんて知るかぼけ
0084デフォルトの名無しさん2008/03/06(木) 17:27:16
タイトルバー左のアイコンを表示しないようにするにはどうすれば出来ますか?
0085デフォルトの名無しさん2008/03/06(木) 18:07:23
コード貼れとかスルー汁とか、このスレの住人の愛情の裏返しだから誤解すんな。
おまいさんが当たり前のことをしなかったから、それを戒めただけ。
おまいさんが本当に困ってるという前提で、それぞれ反応しただけ。
コードが貼れない理由もあるんだろうけど、このスレの住人のこと信頼してるなら
きちんとコードを示してな。ここは困った人に知識を分け与えてくれる住人が
いるから続いてるわけだ。それに比べおまいさんの書き込みからは問題を解決
したいという真っ直ぐな気持ちが伝わってこないんだよ。俺の言いたいことは
それだけ。

激しくスレ違いなのでさげ
0086デフォルトの名無しさん2008/03/06(木) 20:22:25
どうでもいいけどFindCloseをCloseHandleと間違えてしまうことがよくあるw
なんでFind系だけ違うのだろう・・・
0087デフォルトの名無しさん2008/03/06(木) 22:31:55
見つけて欲しいからさ。
0088612008/03/06(木) 22:36:40
でかくてコード全部貼れないから、一部だけ貼ったんですが。
アプロダにソース上げたら、見てくれるというなら、
見てもらいたいです。

Sleepで止まっていたのは、
スレッド処理にあるDirectXの、
IDirect3DDevice9::EndScene();が原因でした。
この1行を抜けば止まらないんですが、
理由はまだよく分かりません。

DirectXの問題のようなので、DirectXスレで聞いてみます。
0089デフォルトの名無しさん2008/03/07(金) 02:56:48
EndSceneする時に描画サーフェイスからウィンドウに転送してるからじゃねえの
んで転送先のウィンドウがロックされてるから止まる
0090デフォルトの名無しさん2008/03/07(金) 03:59:15
>>80
ありがとう。
プロパティの文字列(値ではなく表題)を取るには、IShellFolder2::MapColumnToSCIDで取得するしかないでしょうか。
これだと200ぐらいループが回るw

SHCOLUMNIDのGUID fmtidに対応した文字列と、
GUID fmtid + DWORD pidの組み合わせに対応した文字列を取得する方法はありませんか?
0091デフォルトの名無しさん2008/03/07(金) 12:31:50
>>59
その名前のファイル置いてやってみたけど特に問題ないな。
XP SP2 で NTFS のパーティション。

デジカメでフォーマットしたSDとか、そういう変なボリュームを相手にしてない?
(だからってバッファオーバーランは困るけど)
0092デフォルトの名無しさん2008/03/07(金) 12:47:17
C:\がSDカードとかあり得なくね?
0093デフォルトの名無しさん2008/03/07(金) 13:15:09
うちのB:\はsubstしたデスクトップフォルダ
0094デフォルトの名無しさん2008/03/07(金) 14:16:30
いやC:\以外はどうにでも出来るだろw
0095デフォルトの名無しさん2008/03/07(金) 17:11:47
学校にD:にOS入ってて、USBメモリとか挿すとC:として表示されるPCが1台あるんだが
0096デフォルトの名無しさん2008/03/07(金) 17:21:56
>>95
やめときなされ
事実を語っても推奨される環境云々って自説に固執するオバカが騒ぎ出すだけだから
無知は無知のまま放って置けばよいのだ
0097デフォルトの名無しさん2008/03/07(金) 18:08:02
そういえばPC-98とかでC:がFDDだと動作しないソフトがあったな
0098デフォルトの名無しさん2008/03/07(金) 18:12:02
98はAから始まってたし、どーなんだろ
0099デフォルトの名無しさん2008/03/07(金) 21:48:01
>>90
IPropertyUI
0100デフォルトの名無しさん2008/03/08(土) 00:48:20
98 もなにも、今でもフロッピーは A だっしょ。
A, B がフロッピー用に空けられていて、
HDD が C からなのが通例。
あくまで通例であってそうしないといけないわけじゃないが。
0101デフォルトの名無しさん2008/03/08(土) 00:51:26
                |
                |
                |
                |
     /V\        ,J>>100
    /◎;;;,;,,,,ヽ
 _ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'
■ このスレッドは過去ログ倉庫に格納されています