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

Win32API質問箱 Build47

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

過去スレ、関連リンクは>>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:14
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/
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:45
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/
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:22
- MSDN ホームページ
http://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/
- Google
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:06
勝手に追加

MSDN日本語版は誤訳があったり、一部欠けていたりするなど不完全なため、英語版推奨。
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:02
これも

MSDN ライブラリ 2006年8月版
http://www.microsoft.com/downloads/details.aspx?FamilyID=6671F8DA-B0CB-41DE-AD93-798FC71D344D&displaylang=ja
0007デフォルトの名無しさん2006/11/13(月) 10:21:14
プリンタとFAXを開くのは、
>CreateProcess()で"c:\windows\system32\control.exe printers"をキックる
でできました。

次に、デフォルトプリンタの印刷設定プロパティを開く方法を教えて下さい。
0008デフォルトの名無しさん2006/11/13(月) 12:42:49
>>7
うっきききー!!
(DocumentProperties関数じゃないっけ?)
000972006/11/13(月) 12:44:19
DocumentProperties関数でやったところ、Windowsに保存されませんですた。

で、あきらめて、シェルのコマンドラインでWindowsに起動&保存を丸ごとお願いしようかな、と。
001072006/11/13(月) 12:45:46
ttp://support.microsoft.com/kb/167345/ja

このソースでやってみましたが、保存されないんです><
0011デフォルトの名無しさん2006/11/13(月) 13:07:25
>>7
またそれか
printui.dll PrintUIEntryでできるんじゃないの?
001272006/11/13(月) 13:57:31
>printui.dll PrintUIEntry

ファイル名を指定して実行、で上手く動きません><
0013デフォルトの名無しさん2006/11/13(月) 14:11:37
>>7
rundll32 printui.dll,PrintUIEntry /e /n"(標準のプリンタ名を取得してここに入れる)"
罵倒と煽りは面倒なので省略
0014デフォルトの名無しさん2006/11/13(月) 14:38:09
UNICODE や _UNICODE 定義済でコンパイルされたバイナリ(W系API使ってるって意味?)は
9xでは起動すらしないんでしょうか? 
よく「対応していない」って表現されてるんですがもってないのでよくわからないです
0015デフォルトの名無しさん2006/11/13(月) 15:07:05
>>14
CreateFile関数の場合#defineでCreateFileAとCreateFileWを振り分けている。
意図してCreateFileWを利用すると起動時にDLLエラーが出ると思う。
001672006/11/13(月) 15:25:20
上手くいきました、有難うございました>>13


ttp://support.microsoft.com/kb/167345/ja

最後の最後ですが、このソースでPCの設定変更出来た方ありますか?

全然上手く行かないお。
0017デフォルトの名無しさん2006/11/13(月) 15:26:21
複数あるWindowからIEのWindowを絞り出し、そのHTMLDocumentを抜き出すという
事をしたいのですが、その方法で煮詰まっています。

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:30
>>15サンクス
9xのDLLはW系をエクスポートしてないってことか
0019デフォルトの名無しさん2006/11/13(月) 15:54:43
>>14>>18
エントリポイントはあるので、プログラムの起動はできる。
しかし中身がなく、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
なんで9XはW系サポートしないの?

あほじゃね?
0021デフォルトの名無しさん2006/11/13(月) 17:03:22
>>17
http://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:14
ヒント:ダブルディスプレイ
0024デフォルトの名無しさん2006/11/13(月) 17:23:14
ヒントの意味がわからない

orz
0025232006/11/13(月) 17:25:42
ごめん、画面の位置を右にして画面からはみ出させるのと勘違いした。
サイズ変更なら大丈夫かも。





変だけど
0026デフォルトの名無しさん2006/11/13(月) 17:33:30
>>23
やっぱり変か・・・

ダイアログベースなのだが
WM_CREATE:のタイミングで設定用ダイアログを出して、
その内容によってメインウィンドウのダイアログの内容を変えるって可能?

0027デフォルトの名無しさん2006/11/13(月) 18:11:30
>>22
俺ならShowWindow(SW_HIDE)で隠す。
0028デフォルトの名無しさん2006/11/13(月) 18:14:51
ダイアログの実サイズってフォント設定によって違うから
動的にウィンドウサイズいじるのは面倒なんだよね。
俺は外見を切り替えるときは、ダイアログそのものを
切り替えるようにしている。
0029デフォルトの名無しさん2006/11/13(月) 18:33:52
>>28
フォントによって表示が変わるのか・・・

エントリポイントでCreateDialog()したダイアログの内容を途中から切り替える方法
もしくはそれ以前に設定値を入力できる方法
ってありますかね・・・?
0030デフォルトの名無しさん2006/11/13(月) 19:13:38
> 9xでW系
MSLU使えばいろいろ問題はあるけど一応動くよ。
0031デフォルトの名無しさん2006/11/13(月) 19:54:49
もう面倒だからCHtmlDialogでいいじゃないか、と。Win32APIじゃないが。
0032tsurarete yarou.2006/11/13(月) 21:54:57
>>20
今時 9x ?

貧乏なの?
0033デフォルトの名無しさん2006/11/13(月) 22:30:46
CreateProsecceでできたプロセスIDから
OpenProsecceでハンドルは取得できないの?
0034デフォルトの名無しさん2006/11/13(月) 22:41:54
>>32
貧乏言うなー!って、俺は20じゃねぇけど、未だに Win98 や WinMe 使ってるヤツって結構居るらしいぞ。
一般的なコンシューマなユーザはウェブブラウザとメーラが使えりゃそれで充分だしなぁ。
で、そういうマシンがボットネットの温床と化していたりもするらしい。
0035デフォルトの名無しさん2006/11/13(月) 23:03:19
名前とかに予防線貼ってあるあたり
余程喰らいつきたかったんだろうから
そっとしておいてあげなよw
0036デフォルトの名無しさん2006/11/13(月) 23:04:51
>>33
ttp://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
ウィルス対策ソフトも、9x系は非対応になってきてるしなあ。
早くLinux陣営がそういうユーザを取り込んでくれればいいのに。もっと頑張れ。
0038デフォルトの名無しさん2006/11/13(月) 23:18:36
>>36
あれ、ハンドル??
ハンドルだったの?

確かに、
BOOL TerminateProcess(
HANDLE hProcess,
UINT uExitCode
);

とかって、ゆってるけど、よく見るとハンドル?!


すっげぇ衝撃だ!
0039デフォルトの名無しさん2006/11/13(月) 23:56:32
つっこむところなのか?
00407642006/11/14(火) 00:13:40
>>22 ChooseColor
0041デフォルトの名無しさん2006/11/14(火) 05:01:55
>>37
最近のLinuxはカーネルだけじゃなくていろんなもんがごてごてしすぎて、
9xの代わりにはならなそう。
00425672006/11/14(火) 05:53:02
                             |
                             |
       {    !      _,, -ェェュ、   |
ィ彡三ミヽ  `ヽ     ,ィハミミミミミミミミミヽ、|
彡'⌒ヾミヽ   `ー  /ililハilミilミliliミliliミ.  |
     ヾ、        /iiiiイ!ヾヾミ、ミニ=ー-ミ |
  _    `ー―' i!ハ:.:.\\_::::::::::::::/:.|
彡三ミミヽ        i! ヽ:.:.:.:冫': : :::/,,∠|
彡'   ヾ、    _ノ i!::: ̄二ー:: : ::::ソ ・ ,|
      `ー '    {ヘラ' ・_>シ;テツ"''''"|
 ,ィ彡三ニミヽ  __ノ ヽヘ`" 彡' 〈     |
彡'      ` ̄       `\   ー-=ェっ |
      _  __ ノ  {ミ;ヽ、   ⌒   |
   ,ィ彡'   ̄        ヾミミミミト-- '  |
ミ三彡'        /⌒ / ̄ ̄ | : ::::::::::|
       ィニニ=- '     / i   `ー-(二つ
     ,ィ彡'         { ミi      (二⊃
   //        /  l ミii       ト、二)
 彡'       __,ノ   | ミソ     :..`ト-'
        /          | ミ{     :.:.:..:|
0043デフォルトの名無しさん2006/11/14(火) 07:02:52
私鉄?
0044デフォルトの名無しさん2006/11/14(火) 10:07:58
オーバーレイ周りはおいといて
拡張子ごとではなくファイルごとにアイコンが変化しうるものって
.lnk .exe .ico, フォルダ以外にありますか?
また、これのリストを厳密に取得することは出来ますか?
0045デフォルトの名無しさん2006/11/14(火) 10:47:04
はい
はい
0046デフォルトの名無しさん2006/11/14(火) 13:47:34
BMPファイルの読み込みと表示をするプログラム↓
ソース→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:39
適当にいってみるとdeleteのタイミングが怪しい
0048デフォルトの名無しさん2006/11/14(火) 14:16:05
delete 後に値参照かましてるな。
 |delete pIn;
........
 |width=pH->biWidth;
0049デフォルトの名無しさん2006/11/14(火) 14:22:51
そうでした。
47,48の人ありがとう!
0050デフォルトの名無しさん2006/11/14(火) 14:37:36
deleteに[]つけなくていいんだっけ?
0051デフォルトの名無しさん2006/11/14(火) 14:40:09
この場合は結果的にセーフだろうけど… [] つけるべきだろうな。
0052デフォルトの名無しさん2006/11/14(火) 14:46:25
質問者があほしてるんじゃなくて、サンプルソースに非があるケースってのも珍しいな('A`)
0053デフォルトの名無しさん2006/11/14(火) 14:52:38
入力データは用済みってコメントの次の行で使ってるからな・・・
0054デフォルトの名無しさん2006/11/14(火) 18:58:50
配列をnewするようなソースは古い。
0055デフォルトの名無しさん2006/11/14(火) 19:04:21
>>54
STL と WinAPI 相性悪そうな組み合わせだけど、実際のトコロどうなん?
0056デフォルトの名無しさん2006/11/14(火) 19:25:16
このネタスレ違いだろ
0057デフォルトの名無しさん2006/11/14(火) 19:25:20
STLは内部でnewしてるしな
newせず動的にメモリー確保する新しい方法って何だ?
gcnew?
0058デフォルトの名無しさん2006/11/14(火) 19:42:18
おや?アロケータの存在を知っていれば、
「STLは内部でnewしてる」などという(ry
0059デフォルトの名無しさん2006/11/14(火) 20:09:47
黙ってLoadImage使っとけってこった
0060デフォルトの名無しさん2006/11/14(火) 20:34:03
>>55
std::basic_stringが文字列を受け取るバッファに使えないのが痛い。
0061デフォルトの名無しさん2006/11/14(火) 20:51:30
気にせずstd::vector<TCHAR>でGO
0062デフォルトの名無しさん2006/11/14(火) 21:39:16
>>44
他にもいろいろあります。

調べる方法としてはレジストリのDefaultIconキーとshellex¥IconHandlerキーをチェックします。
「DefaultIconキーに%1が*含まれて*いる」もしくは「shellex¥IconHandler キーがあれば」、
ファイル毎にかわるもんだと思っていいです。
0063デフォルトの名無しさん2006/11/14(火) 22:18:24
モーダルダイアログ内でキーボードフォーカスを持つコントロールを調べるAPIってありませんか?
GetFocusはNULLが帰ってくるので・・・
0064デフォルトの名無しさん2006/11/14(火) 22:35:01
>>63
> 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:13
GetFocusだが。
0066デフォルトの名無しさん2006/11/15(水) 04:48:00
1000バイトのファイルがあるとして、先頭の100バイトを削って
900バイトのファイルにしたいんですが、どうやるのが最もよいでしょうか?

お願いします。
0067デフォルトの名無しさん2006/11/15(水) 05:21:10
切り取り線を入れる
0068662006/11/15(水) 05:36:23
SetFilePointer()で一発でできたらうれしいんですが無理ですよね。
0069デフォルトの名無しさん2006/11/15(水) 06:04:19
読んで書くだけ
0070662006/11/15(水) 07:32:56
すいません。もうひとつ質問があります。

WriteFileでファイルに書いている際、PCが落ちた場合、元のファイル
がどの程度まで壊れているかの情報ってありますでしょうか?

それとも全部壊れたとみなすべきでしょうか?

少なくとも、すでに存在していたファイルの場合で、そのファイルに
追加書き込みしていた場合、元のファイル分までは壊れてないと
みなしていいのでしょうか?
0071デフォルトの名無しさん2006/11/15(水) 07:51:17
俺には解答が分からないが
俺なら作業用のテンポラリファイル作って、作業が終わったら上書き保存する。
0072デフォルトの名無しさん2006/11/15(水) 08:16:11
ntfsなら壊れない
0073デフォルトの名無しさん2006/11/15(水) 15:58:11
>>66
SetEndOfFile
0074デフォルトの名無しさん2006/11/15(水) 16:02:24
まぁ
その時書いてた部分までは残ってるわな
0075デフォルトの名無しさん2006/11/15(水) 16:34:32
WriteFileしただけじゃ、バッファに書かれただけで、
実際にディスクに書かれてるかどうかは分からんけどナ
0076デフォルトの名無しさん2006/11/15(水) 20:33:07
>>72
NTFSはメタデータのジャーナルしか取らないよ。
だからファイルシステムが矛盾しないことは保証されるけど
ユーザーデータが壊れてないかどうかまではNTFSの関知するところではない
0077デフォルトの名無しさん2006/11/15(水) 20:33:40
>>73
先頭と末尾を取り違えてませんか
0078デフォルトの名無しさん2006/11/15(水) 21:15:05
ホントダー
0079デフォルトの名無しさん2006/11/15(水) 22:12:24
結論:NTFSは屑(pgr
0080デフォルトの名無しさん2006/11/15(水) 22:43:24
_beginthreadを使用しているコードはWM_CREATEを処理する時に_beginthreadを呼び出しているみたいですが、
ウィンドウプロシージャでスレッドを作成しないとダメなんでしょうか。
0081デフォルトの名無しさん2006/11/15(水) 22:47:49
そんなことはない。
そのプログラムではたまたまWM_CREATEのときに作る必要があっただけだろう。
0082デフォルトの名無しさん2006/11/15(水) 22:48:17
>>80
そのサンプルがたまたまWM_CREATEの処理中に _beginthread を使ってるだけ。
基本的にはどこでやってもええよ。
0083デフォルトの名無しさん2006/11/15(水) 23:14:22
>>81
>>82
ありがとうございます。
0084デフォルトの名無しさん2006/11/15(水) 23:43:27
どこでもいいわけではない。
DllMainや一部のコールバックでは制限されている。
0085デフォルトの名無しさん2006/11/15(水) 23:47:55
スレッドで実行してる長いループはちゃんと1000msでSleep呼び出してるのに、
肝心のWinMainがスレッド作成から動いていない・・・何故だ・・・。
0086デフォルトの名無しさん2006/11/15(水) 23:48:11
>>84
ソースきぼんぬ(死語?)
0087デフォルトの名無しさん2006/11/15(水) 23:53:51
きぼんぬ!出た!きぼんぬ出た!得意技!きぼんぬ出た!きぼんぬ!これ!きぼんぬ出たよ〜〜!
0088デフォルトの名無しさん2006/11/16(木) 00:12:05
>>87
俺は限界だと思った。
0089デフォルトの名無しさん2006/11/16(木) 01:14:04
XPまではデスクトップのlistviewのLVITEM.lParamにpidlが入ってたのに
Vistaじゃ入ってない?
0090デフォルトの名無しさん2006/11/16(木) 02:12:00
MSDNにそんなこと書いてあった?
009184ではない2006/11/16(木) 02:28:16
記憶が確かならCOM関係の本で見かけたような。
具体的にはDLLを動的にロードしたあとDLL側が勝手にスレッドを作ったりして作られたスレッドが走ってる最中にアンロードされたりすると・・・
だったような・・・
・・・でCOMでスレッドを作りたい場合はプロセス内サーバは避けろとかあったような。
(とりあえずEffective COMの項目32で確認)
0092デフォルトの名無しさん2006/11/16(木) 06:40:53
Win32Apiの勉強をかねてVC2005EEでランチャーソフトを作ってます。

ボタンを押し、その状態のままボタン外へマウスをドラッグさせ、マウスのボタンを放すと
ボタンに登録したアイコンを消す。

という動作をさせようと思い "WM_LBUTTONDOWN" / "WM_LNCBUTTONDOWN" /
"WM_LBUTTONUP" / " WM_LNCBUTTONUP" で処理を書いてみたのですが。
どうもメインフォーム上でのみ反応し、ボタン上では反応しませんでした。

ボタンを対象に何かをしなくてはならないとは思うのですが
良い方法が思い浮かびません。アドバイスをお願いします。
0093デフォルトの名無しさん2006/11/16(木) 07:05:11
>>92
SetCapture
0094デフォルトの名無しさん2006/11/16(木) 07:08:52
つ SetCapture/ReleaseCapture
0095デフォルトの名無しさん2006/11/16(木) 07:14:05
>>93-94
ありがとうございます。
早速調べてみます。
0096デフォルトの名無しさん2006/11/16(木) 07:21:25
PtInRegionとの組み合わせで解決しそうですありがとうございました。



.NET Framework 2.0 廃止予定の API 一覧
ttp://www.microsoft.com/japan/msdn/netframework/programming/obsoleteapi/
他スレで見かけたので貼っておきますね。
0097デフォルトの名無しさん2006/11/16(木) 13:48:00
はじめまして、
C++Builderで画像処理ソフトを作っているものですが、
VideoForWindowsで動画をチャプチャしております。
そこで質問なんですが、

1.bmpを介さずに直接メモリにチャプチャする方法
2.動画の描画を行わずに画像を取得(表示すると遅くなるため)

を教えていただけませんか。
いろいろ調べてみたものの解決に至っていません。
DirectShowはちょっと難しかったので使っていません。
どうぞよろしくお願いいたします。
0098デフォルトの名無しさんNGNG?2BP(200)
DirectShowの方が圧倒的に簡単。
0099デフォルトの名無しさん2006/11/16(木) 20:23:43
ttp://wisdom.sakura.ne.jp/system/winapi/win32/index.html
だとCでコンパイルしろっていってるけどC++でWin32APIは使えないの?
このサイトだけでの話?
0100デフォルトの名無しさん2006/11/16(木) 20:28:15
帰れ低脳
使える使えないを語る以前の問題じゃ
0101992006/11/16(木) 20:33:25
自己解決したわ。そのサイトだけっぽい。
猫のとこなら.cppだったわ・・・
■ このスレッドは過去ログ倉庫に格納されています