Win32API質問箱 Build47
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/13(月) 08:56:12やさしいお兄さんやお姉さんたちが答えてくれるかも。
過去スレ、関連リンクは>>2-5くらい。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(http://msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
0002デフォルトの名無しさん
2006/11/13(月) 08:57:1445 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/
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/
0003デフォルトの名無しさん
2006/11/13(月) 08:57:4531 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/
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
1 ttp://pc.2ch.net/tech/kako/991/991576947.html
0004デフォルトの名無しさん
2006/11/13(月) 08:58:22http://www.microsoft.com/japan/msdn/
- MSDN ライブラリ
http://msdn.microsoft.com/library/ja/
- MSDN 2 ライブラリ
http://msdn2.microsoft.com/ja-jp/library/
- 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
http://www.google.com/
MSDN ライブラリ 2006年6月版
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=373930CB-A3D7-4EA5-B421-DD6818DC7C41
- Platform SDK Update
(WindowsR Server 2003 R2 Platform SDK Full Download)
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
- Win32 API入門
http://wisdom.sakura.ne.jp/system/winapi/
- Win32 プログラミング入門
http://www7.plala.or.jp/keny01/
- Advanced Windows (書籍)
http://www.amazon.co.jp/exec/obidos/ASIN/4756138055
-おまけ
dat落ちしている過去スレが見れるかも。Build19が見たい人、余裕のある人は●でも買ってやってくれ。
http://makimo.to/cgi-bin/search/search.cgi?q=Win32API&andor=AND&sf=2&view=table&D=tech
0005デフォルトの名無しさん
2006/11/13(月) 09:14:06MSDN日本語版は誤訳があったり、一部欠けていたりするなど不完全なため、英語版推奨。
http://msdn.microsoft.com/library/
http://msdn2.microsoft.com/en-us/library/
おまけ;Windows SDK for Windows Vista RC1の文書。
http://windowssdk.msdn.microsoft.com/en-us/library/
0006デフォルトの名無しさん
2006/11/13(月) 10:08:02MSDN ライブラリ 2006年8月版
http://www.microsoft.com/downloads/details.aspx?FamilyID=6671F8DA-B0CB-41DE-AD93-798FC71D344D&displaylang=ja
0007デフォルトの名無しさん
2006/11/13(月) 10:21:14>CreateProcess()で"c:\windows\system32\control.exe printers"をキックる
でできました。
次に、デフォルトプリンタの印刷設定プロパティを開く方法を教えて下さい。
0008デフォルトの名無しさん
2006/11/13(月) 12:42:49うっきききー!!
(DocumentProperties関数じゃないっけ?)
00097
2006/11/13(月) 12:44:19で、あきらめて、シェルのコマンドラインでWindowsに起動&保存を丸ごとお願いしようかな、と。
00107
2006/11/13(月) 12:45:46このソースでやってみましたが、保存されないんです><
0011デフォルトの名無しさん
2006/11/13(月) 13:07:25またそれか
printui.dll PrintUIEntryでできるんじゃないの?
00127
2006/11/13(月) 13:57:31ファイル名を指定して実行、で上手く動きません><
0013デフォルトの名無しさん
2006/11/13(月) 14:11:37rundll32 printui.dll,PrintUIEntry /e /n"(標準のプリンタ名を取得してここに入れる)"
罵倒と煽りは面倒なので省略
0014デフォルトの名無しさん
2006/11/13(月) 14:38:099xでは起動すらしないんでしょうか?
よく「対応していない」って表現されてるんですがもってないのでよくわからないです
0015デフォルトの名無しさん
2006/11/13(月) 15:07:05CreateFile関数の場合#defineでCreateFileAとCreateFileWを振り分けている。
意図してCreateFileWを利用すると起動時にDLLエラーが出ると思う。
00167
2006/11/13(月) 15:25:20ttp://support.microsoft.com/kb/167345/ja
最後の最後ですが、このソースでPCの設定変更出来た方ありますか?
全然上手く行かないお。
0017デフォルトの名無しさん
2006/11/13(月) 15:26:21事をしたいのですが、その方法で煮詰まっています。
public static bool IECallBack(IntPtr hwnd, IntPtr lParam)
{
StringBuilder sbClassName = new StringBuilder(256);
GetClassName(hwnd, sbClassName, sbClassName.Capacity);
if( sbClassName.ToString().StartsWith("IEFrame"))
{
Form1.al.Add(hwnd);
}
return true;
}
// EnumWindows でIECallBack へさせる。
EnumWindows(new EnumWindowCallBack(Form1.IECallBack), IntPtr.Zero);
こんな感じでWindowのハンドルは取得できるのですが、Window内のオブジェクトを取得する
方法が分からなくて困っています。
どなたかご教授していただけませんでしょうか?よろしくお願い致します。
※板違いだったらすいません。。。
0018デフォルトの名無しさん
2006/11/13(月) 15:40:309xのDLLはW系をエクスポートしてないってことか
0019デフォルトの名無しさん
2006/11/13(月) 15:54:43エントリポイントはあるので、プログラムの起動はできる。
しかし中身がなく、W版関数を呼び出すと失敗となって帰ってくる。
GetLastError()を呼ぶとERROR_CALL_NOT_IMPLEMENTEDが返ってくることがある。
Programming WindowsかAdvanced Windowsのどっちかでは、
MessageBoxWが9xにも実装されていることを使って、RegisterClassが失敗したら
MessageBoxで9xに対応していないというメッセージを表示するというコードを使っていた。
また、Microsoft Layer for Unicodeを使えば、9xでもW版APIを使えるようになる。
実態は文字列を変換してA版APIを呼ぶラッパだったと思う。
0020デフォルトの名無しさん
2006/11/13(月) 16:07:12あほじゃね?
0021デフォルトの名無しさん
2006/11/13(月) 17:03:22http://www.google.co.jp/search?sourceid=navclient&ie=UTF-8&q=IE+Iunknown+AtlAxGetControl
0022デフォルトの名無しさん
2006/11/13(月) 17:13:35今画面に
A B C D
と表示されてるとする
設定によってはCとDは不必要なのでSetWindowPos()を使って画面サイズを変更して
見えてる 隠れている
A B | C D
として隠して無かったことにして処理を続けてしまうのはテクニック的に有り?
0023デフォルトの名無しさん
2006/11/13(月) 17:15:140024デフォルトの名無しさん
2006/11/13(月) 17:23:14orz
002523
2006/11/13(月) 17:25:42サイズ変更なら大丈夫かも。
変だけど
0026デフォルトの名無しさん
2006/11/13(月) 17:33:30やっぱり変か・・・
ダイアログベースなのだが
WM_CREATE:のタイミングで設定用ダイアログを出して、
その内容によってメインウィンドウのダイアログの内容を変えるって可能?
0027デフォルトの名無しさん
2006/11/13(月) 18:11:30俺ならShowWindow(SW_HIDE)で隠す。
0028デフォルトの名無しさん
2006/11/13(月) 18:14:51動的にウィンドウサイズいじるのは面倒なんだよね。
俺は外見を切り替えるときは、ダイアログそのものを
切り替えるようにしている。
0029デフォルトの名無しさん
2006/11/13(月) 18:33:52フォントによって表示が変わるのか・・・
エントリポイントでCreateDialog()したダイアログの内容を途中から切り替える方法
もしくはそれ以前に設定値を入力できる方法
ってありますかね・・・?
0030デフォルトの名無しさん
2006/11/13(月) 19:13:38MSLU使えばいろいろ問題はあるけど一応動くよ。
0031デフォルトの名無しさん
2006/11/13(月) 19:54:490032tsurarete yarou.
2006/11/13(月) 21:54:57今時 9x ?
貧乏なの?
0033デフォルトの名無しさん
2006/11/13(月) 22:30:46OpenProsecceでハンドルは取得できないの?
0034デフォルトの名無しさん
2006/11/13(月) 22:41:54貧乏言うなー!って、俺は20じゃねぇけど、未だに Win98 や WinMe 使ってるヤツって結構居るらしいぞ。
一般的なコンシューマなユーザはウェブブラウザとメーラが使えりゃそれで充分だしなぁ。
で、そういうマシンがボットネットの温床と化していたりもするらしい。
0035デフォルトの名無しさん
2006/11/13(月) 23:03:19余程喰らいつきたかったんだろうから
そっとしておいてあげなよw
0036デフォルトの名無しさん
2006/11/13(月) 23:04:51ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/process_information_str.asp
CreateProcess が返してくるのはプロセスIDでは無くプロセスハンドル。
0037デフォルトの名無しさん
2006/11/13(月) 23:13:24早くLinux陣営がそういうユーザを取り込んでくれればいいのに。もっと頑張れ。
0038デフォルトの名無しさん
2006/11/13(月) 23:18:36あれ、ハンドル??
ハンドルだったの?
確かに、
BOOL TerminateProcess(
HANDLE hProcess,
UINT uExitCode
);
とかって、ゆってるけど、よく見るとハンドル?!
すっげぇ衝撃だ!
0039デフォルトの名無しさん
2006/11/13(月) 23:56:320041デフォルトの名無しさん
2006/11/14(火) 05:01:55最近のLinuxはカーネルだけじゃなくていろんなもんがごてごてしすぎて、
9xの代わりにはならなそう。
0042567
2006/11/14(火) 05:53:02|
{ ! _,, -ェェュ、 |
ィ彡三ミヽ `ヽ ,ィハミミミミミミミミミヽ、|
彡'⌒ヾミヽ `ー /ililハilミilミliliミliliミ. |
ヾ、 /iiiiイ!ヾヾミ、ミニ=ー-ミ |
_ `ー―' i!ハ:.:.\\_::::::::::::::/:.|
彡三ミミヽ i! ヽ:.:.:.:冫': : :::/,,∠|
彡' ヾ、 _ノ i!::: ̄二ー:: : ::::ソ ・ ,|
`ー ' {ヘラ' ・_>シ;テツ"''''"|
,ィ彡三ニミヽ __ノ ヽヘ`" 彡' 〈 |
彡' ` ̄ `\ ー-=ェっ |
_ __ ノ {ミ;ヽ、 ⌒ |
,ィ彡'  ̄ ヾミミミミト-- ' |
ミ三彡' /⌒ / ̄ ̄ | : ::::::::::|
ィニニ=- ' / i `ー-(二つ
,ィ彡' { ミi (二⊃
// / l ミii ト、二)
彡' __,ノ | ミソ :..`ト-'
/ | ミ{ :.:.:..:|
0043デフォルトの名無しさん
2006/11/14(火) 07:02:520044デフォルトの名無しさん
2006/11/14(火) 10:07:58拡張子ごとではなくファイルごとにアイコンが変化しうるものって
.lnk .exe .ico, フォルダ以外にありますか?
また、これのリストを厳密に取得することは出来ますか?
0045デフォルトの名無しさん
2006/11/14(火) 10:47:04はい
0046デフォルトの名無しさん
2006/11/14(火) 13:47:34ソース→http://www.h4.dion.ne.jp/~zero1341/win01/ex13/ex13.cpp
リソース→http://www.h4.dion.ne.jp/~zero1341/win01/ex13/ex13.rc
ヘッダ→http://www.h4.dion.ne.jp/~zero1341/win01/ex13/resource.h
このプログラムを動かしたいのに出来ない。
実行できるけど画像読み込みのところで止まる。画像を小さくすればなぜかそのまま
進むけど画像表示されず。
なんで?
0047デフォルトの名無しさん
2006/11/14(火) 14:08:390048デフォルトの名無しさん
2006/11/14(火) 14:16:05|delete pIn;
........
|width=pH->biWidth;
0049デフォルトの名無しさん
2006/11/14(火) 14:22:5147,48の人ありがとう!
0050デフォルトの名無しさん
2006/11/14(火) 14:37:360051デフォルトの名無しさん
2006/11/14(火) 14:40:090052デフォルトの名無しさん
2006/11/14(火) 14:46:250053デフォルトの名無しさん
2006/11/14(火) 14:52:380054デフォルトの名無しさん
2006/11/14(火) 18:58:500055デフォルトの名無しさん
2006/11/14(火) 19:04:21STL と WinAPI 相性悪そうな組み合わせだけど、実際のトコロどうなん?
0056デフォルトの名無しさん
2006/11/14(火) 19:25:160057デフォルトの名無しさん
2006/11/14(火) 19:25:20newせず動的にメモリー確保する新しい方法って何だ?
gcnew?
0058デフォルトの名無しさん
2006/11/14(火) 19:42:18「STLは内部でnewしてる」などという(ry
0059デフォルトの名無しさん
2006/11/14(火) 20:09:470060デフォルトの名無しさん
2006/11/14(火) 20:34:03std::basic_stringが文字列を受け取るバッファに使えないのが痛い。
0061デフォルトの名無しさん
2006/11/14(火) 20:51:300062デフォルトの名無しさん
2006/11/14(火) 21:39:16他にもいろいろあります。
調べる方法としてはレジストリのDefaultIconキーとshellex¥IconHandlerキーをチェックします。
「DefaultIconキーに%1が*含まれて*いる」もしくは「shellex¥IconHandler キーがあれば」、
ファイル毎にかわるもんだと思っていいです。
0063デフォルトの名無しさん
2006/11/14(火) 22:18:24GetFocusはNULLが帰ってくるので・・・
0064デフォルトの名無しさん
2006/11/14(火) 22:35:01> GetFocus returns the window with the keyboard focus
> for the *current thread's* message queue.
これにひっかかってるとか?
> To get the window with the keyboard focus on the
> foreground queue or the queue of another thread,
> use the GetGUIThreadInfo function.
0065デフォルトの名無しさん
2006/11/14(火) 22:35:130066デフォルトの名無しさん
2006/11/15(水) 04:48:00900バイトのファイルにしたいんですが、どうやるのが最もよいでしょうか?
お願いします。
0067デフォルトの名無しさん
2006/11/15(水) 05:21:10006866
2006/11/15(水) 05:36:230069デフォルトの名無しさん
2006/11/15(水) 06:04:19007066
2006/11/15(水) 07:32:56WriteFileでファイルに書いている際、PCが落ちた場合、元のファイル
がどの程度まで壊れているかの情報ってありますでしょうか?
それとも全部壊れたとみなすべきでしょうか?
少なくとも、すでに存在していたファイルの場合で、そのファイルに
追加書き込みしていた場合、元のファイル分までは壊れてないと
みなしていいのでしょうか?
0071デフォルトの名無しさん
2006/11/15(水) 07:51:17俺なら作業用のテンポラリファイル作って、作業が終わったら上書き保存する。
0072デフォルトの名無しさん
2006/11/15(水) 08:16:110073デフォルトの名無しさん
2006/11/15(水) 15:58:11SetEndOfFile
0074デフォルトの名無しさん
2006/11/15(水) 16:02:24その時書いてた部分までは残ってるわな
0075デフォルトの名無しさん
2006/11/15(水) 16:34:32実際にディスクに書かれてるかどうかは分からんけどナ
0076デフォルトの名無しさん
2006/11/15(水) 20:33:07NTFSはメタデータのジャーナルしか取らないよ。
だからファイルシステムが矛盾しないことは保証されるけど
ユーザーデータが壊れてないかどうかまではNTFSの関知するところではない
0077デフォルトの名無しさん
2006/11/15(水) 20:33:40先頭と末尾を取り違えてませんか
0078デフォルトの名無しさん
2006/11/15(水) 21:15:050079デフォルトの名無しさん
2006/11/15(水) 22:12:240080デフォルトの名無しさん
2006/11/15(水) 22:43:24ウィンドウプロシージャでスレッドを作成しないとダメなんでしょうか。
0081デフォルトの名無しさん
2006/11/15(水) 22:47:49そのプログラムではたまたまWM_CREATEのときに作る必要があっただけだろう。
0082デフォルトの名無しさん
2006/11/15(水) 22:48:17そのサンプルがたまたまWM_CREATEの処理中に _beginthread を使ってるだけ。
基本的にはどこでやってもええよ。
0083デフォルトの名無しさん
2006/11/15(水) 23:14:22>>82
ありがとうございます。
0084デフォルトの名無しさん
2006/11/15(水) 23:43:27DllMainや一部のコールバックでは制限されている。
0085デフォルトの名無しさん
2006/11/15(水) 23:47:55肝心のWinMainがスレッド作成から動いていない・・・何故だ・・・。
0086デフォルトの名無しさん
2006/11/15(水) 23:48:11ソースきぼんぬ(死語?)
0087デフォルトの名無しさん
2006/11/15(水) 23:53:510088デフォルトの名無しさん
2006/11/16(木) 00:12:05俺は限界だと思った。
0089デフォルトの名無しさん
2006/11/16(木) 01:14:04Vistaじゃ入ってない?
0090デフォルトの名無しさん
2006/11/16(木) 02:12:00009184ではない
2006/11/16(木) 02:28:16具体的にはDLLを動的にロードしたあとDLL側が勝手にスレッドを作ったりして作られたスレッドが走ってる最中にアンロードされたりすると・・・
だったような・・・
・・・でCOMでスレッドを作りたい場合はプロセス内サーバは避けろとかあったような。
(とりあえずEffective COMの項目32で確認)
0092デフォルトの名無しさん
2006/11/16(木) 06:40:53ボタンを押し、その状態のままボタン外へマウスをドラッグさせ、マウスのボタンを放すと
ボタンに登録したアイコンを消す。
という動作をさせようと思い "WM_LBUTTONDOWN" / "WM_LNCBUTTONDOWN" /
"WM_LBUTTONUP" / " WM_LNCBUTTONUP" で処理を書いてみたのですが。
どうもメインフォーム上でのみ反応し、ボタン上では反応しませんでした。
ボタンを対象に何かをしなくてはならないとは思うのですが
良い方法が思い浮かびません。アドバイスをお願いします。
0093デフォルトの名無しさん
2006/11/16(木) 07:05:11SetCapture
0094デフォルトの名無しさん
2006/11/16(木) 07:08:520095デフォルトの名無しさん
2006/11/16(木) 07:14:05ありがとうございます。
早速調べてみます。
0096デフォルトの名無しさん
2006/11/16(木) 07:21:25.NET Framework 2.0 廃止予定の API 一覧
ttp://www.microsoft.com/japan/msdn/netframework/programming/obsoleteapi/
他スレで見かけたので貼っておきますね。
0097デフォルトの名無しさん
2006/11/16(木) 13:48:00C++Builderで画像処理ソフトを作っているものですが、
VideoForWindowsで動画をチャプチャしております。
そこで質問なんですが、
1.bmpを介さずに直接メモリにチャプチャする方法
2.動画の描画を行わずに画像を取得(表示すると遅くなるため)
を教えていただけませんか。
いろいろ調べてみたものの解決に至っていません。
DirectShowはちょっと難しかったので使っていません。
どうぞよろしくお願いいたします。
0099デフォルトの名無しさん
2006/11/16(木) 20:23:43だとCでコンパイルしろっていってるけどC++でWin32APIは使えないの?
このサイトだけでの話?
0100デフォルトの名無しさん
2006/11/16(木) 20:28:15使える使えないを語る以前の問題じゃ
010199
2006/11/16(木) 20:33:25猫のとこなら.cppだったわ・・・
■ このスレッドは過去ログ倉庫に格納されています