Win32API質問箱 Build63
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/03/04(火) 12:15:58やさしいお兄さんやお姉さんたちが答えてくれるかも。
過去スレ、関連リンクは>>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:20http://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:42http://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:2860 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:1440 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:0120 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:110008デフォルトの名無しさん
2008/03/04(火) 12:29:050009デフォルトの名無しさん
2008/03/04(火) 13:32:150010デフォルトの名無しさん
2008/03/04(火) 15:08:52NULL, 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たぶん オー じゃなくて ゼロ
0012デフォルトの名無しさん
2008/03/04(火) 15:09:50ウインドウないの?
0013デフォルトの名無しさん
2008/03/04(火) 15:09:53数字の後ろのL はlong のL Uはunsigned のU
0014デフォルトの名無しさん
2008/03/04(火) 15:11:19× OL
○ 0L
× OU
○ 0U
001510
2008/03/04(火) 15:13:37あー、そういうことだったのか、これは非常に見づらい。
とりあえずややこしい話にならなくて安心しました、どうもありがとうございましたー。
0016デフォルトの名無しさん
2008/03/04(火) 15:38:22画像全体を読み込まずに、幅と高さを取得するAPIやお手軽な方法ってありますか?
0017デフォルトの名無しさん
2008/03/04(火) 15:58:31Message-Only Windowってやつだよ。
0018デフォルトの名無しさん
2008/03/04(火) 16:03:24ごめん、なんか無茶苦茶変な質問になっちまった...orz
でも知りたいの...orz
0019デフォルトの名無しさん
2008/03/04(火) 16:15:46あります。どちらもヘッダ部分に書かれているのでそこだけ解析すれば、全部を読む必要はありません。
とは言え、面倒ですが。
0020デフォルトの名無しさん
2008/03/04(火) 16:59:08JPGの場合は・・・、とかPNGの場合は・・・、とかTIFFの場合は・・・、とか処理分けて自分で読むしかないでしょうか?
0021デフォルトの名無しさん
2008/03/04(火) 17:26:05そうです。それが嫌なら既存のライブラリで済ませるしかないでしょう。
例えばImageMagickならその辺りは全部サポートしています。
0022デフォルトの名無しさん
2008/03/04(火) 17:34:32大抵データ全体を読み込むことになると思う。
0023デフォルトの名無しさん
2008/03/04(火) 17:38:220024デフォルトの名無しさん
2008/03/04(火) 17:45:38大抵フォーマットごとに処理を分けることになると思う。
0025デフォルトの名無しさん
2008/03/04(火) 17:50:230026デフォルトの名無しさん
2008/03/04(火) 18:22:15OKだが、普通は常にDefFrameProcに投げる
0027デフォルトの名無しさん
2008/03/04(火) 18:27:36GifやPngは、画像サイズの位置が固定されているので一部だけ読んで処理しても問題は無いです
0028デフォルトの名無しさん
2008/03/04(火) 18:31:26ありがとう!!!
今、ウインドウズのプログラムの勉強がてら、クラスライブラリ作ってて
ウインドプロシージャ見てたら統一できそうだなぁと思ってたんです
これで心置きなく統一できます!!!
0029デフォルトの名無しさん
2008/03/04(火) 18:35:410030デフォルトの名無しさん
2008/03/04(火) 18:53:13std::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それだったら、俺はDefWindowProcにする。
ちなみに、WM_CREATEより前にWM_NCCREATEが送られてきて、
そっちでもlParamからCREATESTRUCTへのポインタが得られる。
現在のWindowsでは、WM_NCCREATEの前に
WM_GETMINMAXINFOが送られるということが知られている。
逆に言えば、それしかやってこないということ。
だから、俺はDefWindowProcで済ます。
ついでに言えば、WM_DESTROYのあとにはWM_NCDESTROYがやってくる。
eraseはそっちでやればいいと思う。
0032デフォルトの名無しさん
2008/03/04(火) 19:29:21EMR_HEADERとEMR_EOFの間にどのレコードを作ればいいかわかりません。
具体的には、
任意の色、サイズをもった文字列、四角形、線がかければ良いんですが?
0033デフォルトの名無しさん
2008/03/04(火) 19:51:09アドバイスありがとう!!!
0034デフォルトの名無しさん
2008/03/04(火) 22:09:31■ このスレッドは過去ログ倉庫に格納されています