[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/22 11:35 / Filesize : 228 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build52



1 名前:デフォルトの名無しさん [2007/04/18(水) 01:54:51 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

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

862 名前:851 mailto:sage [2007/05/07(月) 01:55:06 ]
>>861さん
確認してみた所、32bitではありませんでした;

それと、何とか解決することができましたorz
GetDIBBitsを使わず、別の方法でビットを取得した所うまく行きました…
原因が全く分かりませんが、このまま作っていきたいと思います
こんな質問に付き合って下さった皆様本当に有り難うございました。

863 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 02:35:08 ]
>>862
CreateIconIndirectで使うマスクは2bitビットマップのはず。
16bitでなく2bitでキャッシュしてみたら?

なんか解決しちゃったみたいだけど。

864 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 08:12:30 ]
>>862
そうやね、可能性あるね。
使う色が違う他のアイコンにしたら、また問題が出るんではないかと

865 名前:デフォルトの名無しさん [2007/05/07(月) 11:24:07 ]
>>863
アイコンのマスクビットマップは2bitじゃなくて高さ2倍の1bitじゃないか?

866 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:14:42 ]
ttp://support.microsoft.com/kb/216686/ja
ここを参考にExcelを操作するプログラムを作っているのですが

Worksheets(2).Delete

に相当することをやるにはどうしたらいいんでしょうか?

867 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:54:18 ]
WM_PAINTについて、OSによってはメッセージループに来ず、
直接コールバックに来るとかなどの、
詳しい挙動が載っているサイトとかありましたら教えてください。

868 名前:866 mailto:sage [2007/05/07(月) 21:55:47 ]
環境
Win2000, Excel2000, VC++6, SDK


869 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:04:57 ]
>>866
>>868

CLSIDFromProgID(L"Excel.Application", &clsid);

こいつは、ProgIDからCLSIDを求めている。
んで、そのCLSIDからExcel.ApplicationインターフェイスのpXlAppを取得してる。
pXlAppからWorkbook伝いにWorksheetsを求めればいいんじゃない?

870 名前:869 mailto:sage [2007/05/07(月) 22:07:39 ]
メソッドとかのノードがわからんだったら
oleviewとかで調べてみてわ?



871 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:08:18 ]
>>867
来ないから安心しろ
来るといったらせいぜいSendMessageした時くらいだろ

872 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:08:34 ]
×てわ
○ては

873 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:09:16 ]
>>871
SendMessageはメッセージループから来るだろ・・・

874 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:09:59 ]
>>873
MSDN嫁

875 名前:867 mailto:sage [2007/05/07(月) 22:13:59 ]
>>871
自分が実験した感じでは、9xでは起動時に、
XPでは通常時でも半々ぐらいで直接コールバックに来るみたいです。
また、XPで直接コールバックに来た場合、
DefWindowProcをしない場合に、メッセージループにも来てくれるみたいです。

876 名前:866 mailto:sage [2007/05/07(月) 22:15:49 ]
// Call Workbooks.Add() to get a new workbook...
IDispatch *pXlBook;
{
 VARIANT result;
 VariantInit(&result);
 AutoWrap(DISPATCH_PROPERTYGET, &result, pXlBooks, L"Add", 0);
 pXlBook = result.pdispVal;
}

この後です。pXlBook を使ってどうAutoWrapを使えばいいのかが分かりません。

ブック.Worksheets(xxx).xxxxxxxx


877 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:19:35 ]
>>875
同一スレッド内で UpdateWindow の類が発生したときには直接コールバックに来る。
他スレッド(プロセス)からの場合はどうだったか覚えてない。

ウィンドウが Activate/Deactivate されたときの再描画の挙動も普段の WM_PAINT とは
違っていたような記憶もある。

878 名前:867 mailto:sage [2007/05/07(月) 22:33:47 ]
>>877
>Activate/Deactivate
自分も違うような感じがしていました。
もう一度実験してみます。

879 名前:869 mailto:sage [2007/05/07(月) 22:52:06 ]
このオブジェクトは大きな流れとして
Application → Workbooks → Workbook → Worksheets → Worksheet
とある。

んでこれ・・・

AutoWrap(DISPATCH_PROPERTYGET, &result, pXlBooks, L"Add", 0);

pXlBookのAddメソッドを、AutoWrapという補佐関数を介して呼んでいる。
なお、Addメソッドの結果は、追加した新しいブックのインターフェイスポインタが入ってる。
(Workbook& Workbooks.Add()な感じで、結果はresultにある)

メンバ一覧
msdn2.microsoft.com/ja-jp/library/microsoft.office.interop.excel.workbooks_members(VS.80).aspx
しかし、DISPATCH_PROPERTYGETとは言うけど、Addはメソッドだよなー
結果、pXlBookには、いい値が入ってる?

880 名前:デフォルトの名無しさん [2007/05/07(月) 23:19:32 ]
WindowsMediaPlayerのパス位置をAPIで取得したいのですが、
どうやればできるでしょうか?
マイドキュメントとかはSHGetSpecialFolderLocationで取得できましたが、
アプリ個別は絶対パスで指定方法しか使えませんか?
よろしくお願いします。



881 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:25:47 ]
COMなレジストリを探索するのはどう?

882 名前:デフォルトの名無しさん [2007/05/08(火) 00:00:18 ]
PATHにないのに、startやファイル名を指定して...で起動できるものは
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\
の下にwmplayer.exeがあるよ

883 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:06:36 ]
その中を漁ると、消したはずのエロゲーのパスとかが残っていて、他人の環境で確認すると楽しいよ。

884 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:12:27 ]
>>880
playerを起動させて、プロセス一覧から取ってくるとか。
ユーザが入力しなくていい分、楽かもしれない。

885 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:18:15 ]
calc, notepadみたいに、Shellでwmplayerって打てば開くんやね

886 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:24:37 ]
>>882
LoadLibraryに"wmplayer"でパスを取る解法もあるのか

887 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:27:32 ]
システムドライブ+\Program Files\Windows Media Player\wmplayer.exe

888 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:30:18 ]
16、24、32、48の各サイズを含むアイコンから
ExtractIconExで取得される
小さいアイコンは16×16と24×24で
大きいアイコンは32×32になるのでしょうか?

DrawIconExでアイコンハンドルをhIconSmallにして、サイズを16より大きくすると
24×24のアイコンが表示されます。
また、ハンドルをhIconLargeにし、サイズを32より大きい値を指定すると
32×32のアイコンが拡大されて表示されてしまいます。

たとえばサイズ16のアイコンを24に拡大して表示とか
サイズ48のアイコンの表示が出来ません。

分かりにくくて申し訳ありませんが、
分かる方いたらお願いします。



889 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:35:26 ]
LoadImage でサイズ指定してロードしたらどう?

890 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 01:09:32 ]
>>882
へー、880じゃないけどすごく参考になった。サンクス



891 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 01:13:52 ]
>>889
すいません、説明が足りませんでした。
dllやexe, iclなどからのロードもあるので
アイコンインデックスを指定する必要があったので
ExtarctIconExを使ってました。

892 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 03:24:12 ]
>>882
環境変数と引用符がある場合があるので注意
scripting.cocolog-nifty.com/blog/2007/03/path_367f.html


893 名前:866 mailto:sage [2007/05/08(火) 05:43:59 ]
>>866,869,876,879

aaaa.bbbb

AutoWrap(DISPATCH_PROPERTYGET, NULL, aaaa, L"bbbb", 0);

aaaa.bbbb(cccc)

AutoWrap(DISPATCH_PROPERTYGET, NULL, aaaa, L"bbbb", 1, cccc);

aaaa(2).bbbb
は出来ないのでしょうか?

894 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 08:10:53 ]
>>893
志村!
itemプロパティ

895 名前:880 [2007/05/08(火) 08:47:01 ]
いろいろな方法があるのですね。
皆さんのおかげで解決できそうです。
ありがとうございました。

896 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 09:44:37 ]
指定したテキスト(ローマ字とか)をしゃべらせるモジュールって
MS系であります?

897 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 10:01:11 ]
MSのSAPIと、それを使ったやつってこと?

898 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:32:55 ]
Win32APIで、猫の本見ながらやってるのですが、
どうしてもBITMAPが表示されません。ソースは↓です!

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3952.txt

どうやらLoadBitmapでエラーが出てるようなのですが・・・。
理由が良く分かりません。助けて管あfじえじそjふぃおあjふぁお

899 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:38:52 ]
もしもLoadBitmap()でエラーが出てるなら、ソースじゃなくてリソースファイルのほうの問題だ
リソースのほうで、"MYBMP"となってるか?
もし、ダブルクオート無しの MYBMP になってるなら、
LoadBitmap(hInst, MAKEINTRESOURCE(MYBMP));
こうしてみ

900 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:40:01 ]
>>898
追記
リソースファイル↓
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3953.txt



901 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:42:40 ]
>>899
MAKEINTRESOURCE(MYBMP)にしたら出来ました!
ありがとうございます!
MAKEINTRESOURCE・・・調べてみます!

902 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:32:56 ]
ビットマップ上にTextOutで文字を書いたり、
エディットコントロールを置いたりすると、文字の背景が白(デフォルト)に
なると思うのですが、これを透過して後ろのビットマップを見えるように
することは可能でしょうか?

903 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:39:02 ]
えっきすおあ

904 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:46:24 ]
TextOut 側は SetBkMode(... TRANSPARENT) でなんとか
コントロール側は… WS_EX_LAYERED する?

905 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:55:23 ]
>>903
BitBltの最後の引数のところですか?SRCINVERTでXORとったら
BMPが真っ白になりました。まぁ当たり前なのですが・・・。
CreateWindow()の中で背景とXORを取れるようなのがあるのでしょうか?

906 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:02:49 ]
>>905
ありません。
WS_TRANSPARENT にして WM_PAINT 時に上書きする程度。
あるいは SetWindowRegion でくりぬく

907 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:04:33 ]
(背景 AND マスク) XOR 文字


908 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:25:42 ]
TextOutについては>>904さんので上手くいきました。
CreateWindowEx()にかえてWS_EX_LAYEREDしたら、文字も消えますね。
結構分からないこと多いので>>906-907について調べてみます・・・

909 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:31:52 ]
>>908
コントロール側を Layered Window にって意味で書いたが… 正解かどうか微妙
BitBltしてる側の window style でどうこうできる代物ではないのは確実だと思われ。

# SetWindowLong(コントロール側wnd, WS_EX_LAYERED) して SetLayeredWindowAttributes(コントロール側wnd)

910 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:38:50 ]
WS_EX_LAYEREDはWS_CHILDは無理



911 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:42:29 ]
コントロールをサブクラス化して、WM_PAINTをがんばる

912 名前:909 mailto:sage [2007/05/08(火) 18:44:56 ]
>>910
ありがと。 WS_CHILD 相手はダメであったかー

913 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 19:15:51 ]
簡易切り替え有効状態のXPまたはvistaで、ユーザー名とパスワードがわかってる
別のユーザー(未ログオン状態)にAPIだけで切り替えって無理ですかね。

すでにログオンしてるならWinStationConnect()で切り替えられるってとこまでは何とか
なったんだけど、未ログオンのユーザーのログオンを自動化する方法が解らなくて・・・
というか方法無さげ?


914 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 19:41:26 ]
フックってあの赤くて毛むくじゃらで頭にプロペラがついたやつ?

915 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 19:47:38 ]
>>914


135
246R
   ↑これ

916 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:04:58 ]
WM_INITDIALOGの反対はWM_DESTROYとWM_CLOSEどっち

917 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:18:31 ]
どっちも違う

918 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:21:17 ]
多分 WM_CLOSE
呼び出されるタイミングで、まだ 子供window が生き残ってるから
WM_INITDIALOG は子供window が出来上がった後に来るしね

919 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:09:01 ]
子供window

920 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:18:52 ]
child window の直訳と考えれば別に間違ってるわけでもない



921 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:20:11 ]
出来た子供がオスかメスかはどう判断すればいいの?

922 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:23:12 ]
ちんこ見ればいい

923 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:24:41 ]
BOOL GetWindowSex( HWND hwnd, LPWINSEX lpWinSex );

書いてて虚しくなった

924 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:30:41 ]
Win3.1まではWINS構造体
32bit時代からはWINSEX構造体


925 名前:デフォルトの名無しさん [2007/05/08(火) 21:44:37 ]

       FOX★公認!!!

俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
wwwww.2ch.net/test/read.cgi/news4vip/1178602852/

1. ポーランド  139,797,680
2. チリ     137,040,439
3. ★日本    86,475,213★
4. イスラエル  80,930,530
5. スロベニア  57,137,042
6. フィンランド  40,857,499

石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である

・戦場
www.clickclickclick.com/default.asp
・まとめサイト
www33.atwiki.jp/clickvip/


926 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:59:59 ]
>>887
せめてProgram Filesの位置はSHGetFolderPathで取ろう

927 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:52:25 ]
実行ファイルのアイコンを設定するにはどうすればいいんですか?
ウィンドウの左上のアイコンは変えれたのですが・・・

928 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:54:53 ]
>>925
BitBlt() じゃなくて StretchBlt() 使えって。

929 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:06:07 ]
じゃあこれから子ウィンドウの事は子供windowって言おうぜwwwwwwwwwwwwwww

930 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:15:53 ]
>>929
んじゃ親ウインドウは、大人ウィンドウかww



931 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:27:21 ]
>>918
WM_DESTROYでも子ウィンドウが生きてることは保証されてるぞ
>>927
エクスプローラーでは一番若いIDのアイコンが表示される

932 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:31:15 ]
何かおばちゃん細胞みたいなノリだな。

933 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:33:25 ]
親ウィンドウが、ダイアログボックスとかを開いている状態で、
親ウィンドウにSendMessageはできるが、
PostMessageができない状態であるか
調べるやり方がありましたら教えてください。

934 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:35:11 ]
EnableWindowでいいんじゃね?

935 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:36:01 ]
IsWindowEnabledだ。

936 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:37:01 ]
>>933
モーダルダイアログ開いててもPostMessage出来るぞ

937 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:55:09 ]
>>931
それで、アイコンが変わらなかったのか・・・
ありがとうございました!無事解決しました。

938 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:12:13 ]
>>937
更新タイミングの自由度は低いがアイコンハンドラを作ればエクスプローラ上での
実行形式ファイルのアイコンも変更可能だぞ。

939 名前:933 mailto:sage [2007/05/09(水) 00:14:08 ]
>>934-936
ありがとうございます。
IsWindowEnabledでいけそうです。

後、MessageBoxはモーダルダイアログですかね。
第一引数をHWND、NULLどちらの場合でも、
WM_PAINTがメッセージループには来てくれないみたいです。
InvalidateRectをしても直接コールバックの方に来てしまいます。

940 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:44:41 ]
>>939
MessageBoxでは内部でメッセージループが回ってるんだよ



941 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:45:10 ]
UpdateWindowしてないか

942 名前:933 mailto:sage [2007/05/09(水) 01:03:39 ]
>>940>>941
少し理解できました。
UpdateWindowはしていません。InvalidateRectはしています。
UpdateはSendMessage(WM_PAINT)、InvalはPostMessage(WM_PAINT)
だと思うので、意図したメッセージループに来てほしいのですが、
MessageBox独自のメッセージループに移行してしまうので、
処理が変わってしまう感じですかね。

943 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:23:14 ]
>>942
InvalidateRectは無効領域を追加するだけ。
無効領域があり、かつメッセージキューにメッセージが無くなったときに
システムはWM_PAINTを生成する。

944 名前:933 mailto:sage [2007/05/09(水) 01:44:32 ]
>>943
なるほど、ありがとうございます。

945 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:11:07 ]
>>47
linux自体Solarisや*BSDから見ればカスなんだが

946 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:23:02 ]
>>945
よう、カス

947 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:01:47 ]
僕バッカー!

948 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 14:14:25 ]
>>942
そこらへんのメッセージループでもなにか特定の処理を行いたい場合には、
ローカルフックを使うのが簡単。dllもいらないし。

949 名前:デフォルトの名無しさん [2007/05/09(水) 16:03:32 ]
アイコン入りのDLLからのアイコン画像を取得する方法を教えてください。
これ
ringonoki.net/s-shot/icon/khre.png
みたいに32x32x8のように色とサイズの情報を取得したいです。

950 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 16:50:08 ]
>>946-947
バッカス



951 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 17:03:51 ]
>>949
www.google.co.jp/search?q=DLL+EnumResourceNames

952 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 01:37:55 ]
>>
ありがとうございます。やってみます。

953 名前:デフォルトの名無しさん [2007/05/10(木) 04:15:56 ]
>>951
EnumResourceNamesの第1引数に指定するHMODULEはどうやって取得すればよいですか?
LoadLibraryでHMODULEを取得しようとしましたがshell32.dllではエラーになり、
APPWIZ.DLLではLoadLibraryは成功しましたがEnumResourceTypesがTRUEを返しました。

954 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 07:41:33 ]
ググレカス

955 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 07:57:30 ]
>>953
> LoadLibraryでHMODULEを取得しようとしましたがshell32.dllではエラーになり、

エラーとは何か?

> APPWIZ.DLLではLoadLibraryは成功しましたがEnumResourceTypesがTRUEを返しました。

TRUEを返すと何か問題が?



956 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 08:01:56 ]
CreateFile の hTemplateFile って使えないの?
↓のようにやってもtest.txtの属性が、test2.txtにはコピーされないみたい。

HANDLE hFrom = ::CreateFile("c:\\test.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
HANDLE hTo = ::CreateFile("c:\\test2.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, hFrom);
::CloseHandle(hFrom);
::CloseHandle(hTo);

>[in] Handle to a template file, with the GENERIC_READ access right. The template file supplies file
>attributes and extended attributes for the file being created. This parameter can be NULL.
最後の一文って一体。。。


957 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 08:15:28 ]
俺も使ったことないな、最後の引数

958 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 15:26:38 ]
Explorerの右上の旗のロゴを隠したいのですが、
SetWindowPosやShowWindowで隠そうとしても、枠が残ってしまいます。
専用の関数みたいなものがあるのでしょうか?

959 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 15:39:27 ]
>>958
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Explore/ShellBrowser
ITBarLayoutのアドレス0x10のバイトの下位3bit目をオフ

960 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 15:41:35 ]
下位3bit目じゃなくて下位4bit目だった。ようするに0x08



961 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 15:54:00 ]
>>960
できました、ありがとうございます。

962 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 21:42:34 ]
質問です

HTMLのFORMタグでSUBMITすると何も指定していなければ
FORMのACTIONで指定したURL等に
?---=---&___=___と付とついて送信されますよね?

その時日本語が値のときにエンコードされているように見えるのですが、
これはAPIとして提供されている機能でしょうか?

そうであればAPI名を教えてくれませんか?

963 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 21:43:13 ]
そんなWin32APIはありません。

964 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 21:50:59 ]
METHOD=GET の話か
まあURLエンコードでググれ

965 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 22:02:44 ]
IMultiLanguageインターフェイスのConvertStringメソッドとかあるけど、
ここじゃスレ違いかもね

966 名前:デフォルトの名無しさん mailto:age [2007/05/10(木) 22:21:50 ]
BitBltについて質問です。
転送元と転送先が同じDCの場合でも、この関数はちゃんと動く保障はありますか?

967 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 22:39:33 ]
>>966

厳密にはない。
GetDeviceCaps関数のRASTERCAPSで確認。

968 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 23:41:11 ]
WINDOWPLACEMENTのshowCmdあたりをいぢってて質問。
最大化してたウィンドウが最小化したあと、元の状態に戻すにはどうすればよいですか?
SW_RESTOREだと最大化状態が解除されてしまうので。

969 名前:デフォルトの名無しさん [2007/05/11(金) 00:50:22 ]
Windows Picture and Fax ViewerをCreateProcessで実行したいのですが、
notepad,mspaintのような起動方法は可能でしょうか?


970 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 01:20:37 ]
関連付けのレジストリを見れば分る



971 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 01:21:04 ]
時々エディットコントロールのボーダーが見えなくなったり、
エディットコントロールが見えなくなって下のBMP画像が出てきたりするバグで
困っています。これらはWM_PAINTで再描画された時に直るのですが、
むしろ、WM_PAINTで大きなBMP画像が毎回毎回再描画されているせいで
エディットコントロールの表示がおかしくなるのではないかと思ってます。

BMP画像は壁紙としてウィンドウと同じサイズのものを使用しているのですが、
WM_PAINTでことある毎に再描画せずにずっと表示させるようなことは可能なのでしょうか?

972 名前:デフォルトの名無しさん [2007/05/11(金) 05:35:42 ]
システムを終了するときの終了オプションダイアログ(コンピューターの電源を切る)のような
完全なシステムモーダルなダイアログボックス、或いはウィンドウってどうやって作ればいいんでしょう?

ダイアログボックスにシステムモーダル属性を付けてもだめでしたorz
タイマーでフォーカスを取り返し続けるっていうのは無しで、なにかいい方法ありますか?

973 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 06:20:01 ]
HWndにNULLを入れて

974 名前:デフォルトの名無しさん [2007/05/11(金) 06:32:30 ]
>>973
無理ですたorz

975 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 07:24:03 ]
グローバルフックしたら?


976 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 07:28:52 ]
システムモーダルつけてアド民では?

977 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 08:06:40 ]
システム乗っ取るようなものじゃないかそれ?
そんなお手軽に実現できていいのかなあ

978 名前:972 [2007/05/11(金) 08:14:53 ]
どうしても乗っ取りたいんです。

979 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 08:47:58 ]
濃そうだから海外のシステム八苦系のコミュで聞いたら?答えが出ると思うよ

980 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 09:10:22 ]
タイーホ!



981 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 09:27:54 ]
GINA?

982 名前:デフォルトの名無しさん [2007/05/11(金) 10:21:17 ]
>>978は騙りだから無視して
フリーのソフトで部屋にいない間、キャプチャーしてるんだけど(LiveCapture2ってソフトです)
デスクトップロックが効かないんですよね
それで、もし誰か侵入者がロックの掛かってないPCに触ったら(マウスが移動したら)
システムモーダルのダイアログを表示してパスワードを要求する、って感じでプログラムを作ってるわけです

多分もっといい方法があるんだろうけど、結構面白いからこれでやってみようかなぁと
どんなもんでしょうか

983 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 10:27:22 ]
誰か次スレ立てて

984 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 10:27:57 ]
>>981
NT,2000,XPなら正解。GinaのShellShutdownDialogあたりちゃうか。

>>982
やってみれば?OSのリストア何回かすることになると思うけどw。


985 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 10:29:17 ]
>>982
っ スクリーンセーバー

986 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 13:09:53 ]
982のやりたいことはスクリーンセーバーそのものだよなw

987 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 14:00:42 ]
>>971
>WM_PAINTでことある毎に再描画せずにずっと表示させるようなことは可能なのでしょうか?
それは無理。

WS_CLIPSIBLINGS とか WS_CLIPCHILDREN とかそのあたりをちゃんと理解して
適切に描画されるようにコードを直せば良い。

988 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 14:22:29 ]
>>982
俺も >>985-986 に同意。
コアをスクリーンセーバーで作れば、OSのダイアログが利用できる。
スクリーンセーバーが稼働中に録画するような構造にすれば、
まさに君の望む挙動になるんでない?

問題はスクリーンセーバ稼働中にLiveCapture2というソフトが
ちゃんと裏で動いてくれるかどうかだけど。
そこがダメなら、そこを自作する方向に行くとか。w
仮に裏で動いてくれるなら、何も作る必要がないという事にならないか?


989 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 17:15:45 ]
CreateDesktop してみればどうかな。
スクリーンセーバーも別デスクトップで動作していたと思う。

990 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 18:00:37 ]
CreateDesktopしてもNT系ならCtrl+Alt+Delで解除されるよ。
パスワードかけるならスクリーンセーバーでOSに丸投げするか、GINAしかない。



991 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 18:03:14 ]
しかしGINAはVistaでは廃止されてしまった。
Vistaで同じことやるにはMSとShell Credential Providerの開発契約しないとだめぽ

992 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 18:10:48 ]
まじかよ・・・

993 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 18:15:22 ]
開発契約なんぞ必要なのか?サンプルも公開されてるのに?
ドキュメントもご丁寧に日本語化されてるけど。
ttp://msdn.microsoft.com/msdnmag/issues/07/01/CredentialProviders/default.aspx?loc=jp

994 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 18:17:05 ]
もういっちょ。
ttp://www.microsoft.com/downloads/details.aspx?familyid=B1B3CBD1-2D3A-4FAC-982F-289F4F4B9300&displaylang=en


995 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 18:36:18 ]
>>972
最大化したウィンドウ(タイトルバー無し、最上位)にデスクトップ画面を
描画して、そのウィンドウを親ウィンドウとしてダイアログを出せばいいんじゃね?

XPで終了ダイアログを出すと背景がだんだん白黒になっていくから
そういう仕組みでやってると思うけど。

996 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 19:51:15 ]
>>993-994
Vistaβの頃のSDKには「詳細は問い合わせて契約してくれ」みたいな英文はあった気がした。
正規版になって普通に一般公開されたのかね。

997 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:21:34 ]
デルファイでできたアプリケーションのダイアログウィンドウのハンドルについて質問です。

spy++では、親がTfrmMainというクラス名と判明しました

そこでGetWindowLongで親ハンドルを取得すると、親はTApplicationというクラス名でした。ここでもう整合性がないです

TApplicationの名前をもつハンドルを取得して、そのハンドルからダイアログハンドルを検索するためにFindWindowsExをしたのですが、Nullが返ってきました

いったいどんな親子関係なんでしょうか?
レスおながいします(´・ω・`)


998 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:31:28 ]
見えない親ウインドウがある。

999 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:32:22 BE:124224588-2BP(222)]
>>995
ホットキー止めないと。Alt+Tabとかで普通に抜けられる。

1000 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:32:46 ]
次スレ
Win32API質問箱 Build53

 ttp://pc11.2ch.net/test/read.cgi/tech/1178882828/



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<228KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef