Win32API 質問箱 Build9
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGWin32 Application *Programmer* Interface
についての質問はこちらへどうぞ。
やさしいお兄さんたちが答えてくれるかも。
でも、質問する前に検索ぐらいしる!!
0153デフォルトの名無しさん
NGNGああ、それです、SpecialFolderって部分はわかってたのですが
フルスペルがわからなかったもので。
ありがとうございます!
0154デフォルトの名無しさん
NGNG(DirectInput使う方法なら見つけたけど…)
前回座標との差分だと、画面端からさらにそっちに動かしたのが判らないし(汗
0155デフォルトの名無しさん
NGNG計算どうやるの?とかいうなよ。
0156デフォルトの名無しさん
NGNG画面の一番右端にいるときにマウスを右に移動したのをどうやって判断するの?って
ことだろ。なにわけのわからんこといってんのよ?
0157デフォルトの名無しさん
NGNG特別なメッセージは流れてなかったなぁ…
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGコンボボックスの表示スピード(下に伸びてくるスピード)を早くしたいのですが可能でしょうか?
可能でしたら、どういうメッセージを送ればよいのでしょうか?
よろしくお願いします
0162デフォルトの名無しさん
NGNG現在は他のウィンドウを重ねて動かすという方法なのですが
何か良い消し方ないでしょうか?
描画させる?方法を教えて頂けませんか?
0163デフォルトの名無しさん
NGNGそれがわかればおそらくいい会社に就職できるでしょう.
0164デフォルトの名無しさん
NGNGうぬぬ
もったいぶらずにお願いします
0165デフォルトの名無しさん
NGNG一旦ウィンドウを閉じる
0166デフォルトの名無しさん
NGNGまったくわからずじまいでして、、、
お願いしますー
0167デフォルトの名無しさん
NGNGおっきな四角を作ってそれで塗りつぶす。
0168デフォルトの名無しさん
NGNGInvalidateRect, InvalidateRgn ?
>>163
???
0169デフォルトの名無しさん
NGNGそのおっきな四角を消すのはどうするのでしょう?
0170デフォルトの名無しさん
NGNGもっとおっきな四角で塗りつぶす。
0172168
NGNG0173デフォルトの名無しさん
NGNG素直に最新の情報に更新をしてます。。、
0174デフォルトの名無しさん
NGNGAlt + F4メッセージを送りたいのです。
API名だけでのいいんでよろしくです。
0175デフォルトの名無しさん
NGNGXORで描いた四角の真上にもう一度XORで描くと元に戻るってやつかな?
SetROP2を調べてみたまい。
>174
PostMessage
メッセージはWM_SYSCOMMANDだったっけ?
「送信」とか「送る」とかいうとSendMessageと間違うな。
0177デフォルトの名無しさん
NGNGSendMessage(hwnd, WM_ERASEBKGND
0179デフォルトの名無しさん
NGNGSendMessage
0180デフォルトの名無しさん
NGNGSendMessageだと、相手が応答不能な場合にこちらまで応答不能になるから。
0181デフォルトの名無しさん
NGNGそれからPostではあぼ〜んされてしまうメッセージもときどきある
0182デフォルトの名無しさん
NGNGどーもでした。
SendMessage or PostMessageで普通に送れるんですか。
あとは、ウインドウクラス、ウインドウタイトル、実行ファイル名から
アプリ特定してHWND取得でいけるかなとおもた。
ちなみに偽メッセンジャー起動時にウインドウ開くの邪魔だったから
0183デフォルトの名無しさん
NGNGSelectObject(hdc,GetstockObject(WHITE_BRASH));
Rectangle(hdc,-1,-1,9999,9999);
0184154
NGNGthx。
駄目ですか…。
>159
現状はカーソルが端に来たらちょっと戻すような処理?でごまかしてます。
当然カーソルの動きがぶれます(汗
>160
いや、ハード的にはマウスは座標の概念持ってなくて相対的な動きしか検出出来ないんです。
本来取れるはずの値が取れないのが不自然に思ったもので。
0185デフォルトの名無しさん
NGNG起動パスを取得したいのですがGetModuleFileNameの第一引数には
どのAPIで取得したハンドルを渡せばいいのでしょうか?
因みに知りたいのは自分の自信のパスではなくてEnumWindowsで
列挙したハンドルのパスです。
よろしくお願いします。
0186デフォルトの名無しさん
NGNGGetWindowLong ?
0187デフォルトの名無しさん
NGNGまず、ClipCursor()でスクリーンより大きい矩形を指定してカーソルが外に
出られるようにする。しかしこうしても、カーソルがスクリーンの外にあるときは
メッセージが来ないから、タイマなりでGetCursorInfo()/GetCursorPosを呼んだらどうよ。
>>185
http://216.239.33.100/search?q=cache:TwFOROT3lsoC:www.microsoft.com/japan/support/kb/articles/J041/6/32.htm+JP175030&hl=ja&ie=UTF-8&inlang=ja
0188デフォルトの名無しさん
NGNGGetModuleFileNameは自プロセス内のモジュールにしか使えない。
PSAPI(NT)かToolhelp32(9x)使え
0189デフォルトの名無しさん
NGNG何でキャッシュなの?
http://support.microsoft.com/default.aspx?scid=kb;ja;175030
0190デフォルトの名無しさん
NGNG(´-`).。oO( 偽メッセンジャーはメインウィンドウ非表示で起動できるじゃん・・・ )
0191デフォルトの名無しさん
NGNGSendMessageあたりでいろいろ調べてるんですけど、まだ決め手となるものが
ありません。
0192デフォルトの名無しさん
NGNGてめーのダサいデザインセンスを勝手に適用すんな。
画面のプロパティで設定するからいらん。
0193デフォルトの名無しさん
NGNG禿同。
0194162
NGNGhttp://uniety.hp.infoseek.co.jp/mo.exe
を実行するとマウスの周りに色がぐちゃぐちゃっとなるのを消したいのです。
自分も相手もDelphiというのを使っておりまして、どうにかしたいのですが
そんなに詳しいわけでもなく知り合いに聞くとAPIとだけ言い残しただけ、、
どなたか助けて下さい。 それともDelphiのスレで聞くのがいいでしょうか
0195191
NGNGWindows全体をその設定にしてしまうと、いろいろと不具合が出ます。
Windowsは、黒背景で使うようにはできていません。
ある特定のアプリの一部を変更したいだけです。
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGWindowsはできてるよ
できてないのはその糞アプリ
0198デフォルトの名無しさん
NGNGできました。
毎回毎回閉じてたのがばかみたい。
うざったいの消えていい感じ
0199デフォルトの名無しさん
NGNGありがとう。
ウィンドウハンドルで識別するためにGetWindowThreadProcessIdでProcessIdを取得して
Process32First等で取得したth32ProcessIDと比較してIDが一致したらって
やったのですが、一致するIDがあなませんですた。比較する対象が違うのでしょうか?
0200デフォルトの名無しさん
NGNGつーか>>187と>>189がせっかくリンク張ってやってるんだから読めよ
0201デフォルトの名無しさん
NGNGを実行した瞬間に存在するプロセスのみが列挙されるはずですが
その辺のタイミングは大丈夫ですか?
0202デフォルトの名無しさん
NGNG列挙した瞬間のものしか取り出せないわけだが
0203191
NGNG一度黒背景設定でやってみてください。もちろん、文字色は明るい色で。
他社のアプリではなく、Windowsそのものの各所で、
見えなくなるところがでてきます。
ていうか、単にAPI調べてるだけなんですけど…。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGWindowsの画面設定にはデフォで背景黒があったはずだが、
それもおかしくなるか?
0206デフォルトの名無しさん
NGNGちゃんと隅々まで設定しろよ。めんどくさけりゃ「ハイコントラスト 黒」とかにしたら?
0207デフォルトの名無しさん
NGNGそこから各コンピューター名はどうやってゲットすればいいのでしょうか?
0208デフォルトの名無しさん
NGNG>>194落としたらすごい事になったぞ
タスクバーの汚れきえねーよ
0209名無し@沢村
NGNGヌヒよ、GetWindowModuleFileName()では駄目なのか?
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGWhy
0212デフォルトの名無しさん
NGNGパレットウィンドウやブラシウィンドウのように一つしか無いウィンドウ
のハンドルはグローバル変数にしてしまうのが一番スマートな方法なのでしょうか?
画像は複数個読み込むことが出来て、画像ごとにウィンドウを作成します。
そしてアクティブな画像ウィンドウは、パレットウィンドウやブラシウィンドウと
SendMessage()で必要な情報をやり取りする、という形なのですが…
0213デフォルトの名無しさん
NGNGthx。
でも画面内にカーソルを置いたまま移動量がほしいので…
移動量だけ欲しいときはいいアイデアだと思いました。
>>194
すごいなこれ…
とりあえず最前面に画面と同じ大きさの窓を開いてすぐ閉じれば消えるかと。
0214デフォルトの名無しさん
NGNGハンドル解放後にハンドルに対する処理したら悲惨。
0215デフォルトの名無しさん
NGNGNTではGetWindowModuleFileNameでも
他プロセスのモジュールのファイル名は取れないぽ
0216デフォルトの名無しさん
NGNGモードレス ダイアログのハンドルは
オーナー ウインドウとメッセージ ループの両方で要るからなあ。
オーナー ウインドウにハンドルを預けておいて
メッセージ ループではSendMessageの戻りでがんがるって手もあるけど、
アプリケーション ユニークなオブジェクトなら
グローバルの方がかえってきれいじゃないか?
といってもHWND変数をextern宣言するのはいやだから
ちゃんと関数で隠蔽して。
0217デフォルトの名無しさん
NGNGこれの4つ目の引数のflFlagsのフラグの意味がよくわかりません。
MAPI_DIALOG 、MAPI_LOGON_UI 、MAPI_NEW_SESSION
の使い分けってどういう風に行うのでしょうか?
ご存知の方がいたらご教授お願いします。
0218デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/en-us/mapi/html/_mapi1book_c_mapisendmail.asp
0219デフォルトの名無しさん
NGNGWindowsXP上で赤外線通信を行うソフトを作ろうと
思ったのですが、どうやったら良いのでしょうか?
WinCEではIrSockを使うらしいことまでは分かったんですが・・・
XPでも同じで良いんでしょうか?
それと、WindowsXP標準の赤外線通信ソフトを無効にすることは
出来るのでしょうか?
Socket関係はあまり使ったことがなく、困っております
先達のお知恵を・・・
022086
NGNG>90
ネットが使えなかったので返事ができませんでした、すいません。
マウスをグローバルフックするDLLを作っり、ダブルクリックした場所が
テキスト入力可能な場所ならソフトウェアキーボードを立ち上げるような
プログラムを作ろうとしています。
テキスト入力可能か判断する方法が知りたいのですが。
メモ帳などのエディタだけでなくIEのアドレスバーなどでも判断できるようにしたいので
ウインドウクラスから判断するのは難しいと思うのですが。
0221デフォルトの名無しさん
NGNG事実上不可能な気もします。
0222デフォルトの名無しさん
NGNGIMEでも作るんですか?
0223217
NGNGすいません。もちろんMSDNはちゃんと見ていますが、あの説明だけではとても理解できませんでした。
もしわかるのなら教えてもらえないでしょうか?
0224220
NGNGIMEなんて代物は作れませんが、ダブルクリックで立ち上がるソフトウェアキーボードを作る感じです。
フックDLLは既に作ってますが、フォーカスイベントなどを処理すればなんとかなるのかなぁ・・・。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGGetCaretPos()を実行して座標が0,0なら入力不可と仮定。
完璧じゃないけど。
0227デフォルトの名無しさん
NGNGうん、Windowsのエディット関係使ってないやつとか。
0228220
NGNGIMEで調べるとImmSetOpenStatus関数が使えそうな気がしました。
IMEを開こうとして関数の戻り値が0以外ならテキスト入力可能だと判断できるような気もします。
この場合、無駄にIMEが開いてしまうという副作用もありそうですが・・・。
0229デフォルトの名無しさん
NGNGだからあなたがIMEを作るんですよ。
0231デフォルトの名無しさん
NGNGエラーダイアログとかワトソン博士とか出て来ないのですが
戻り値でエラーが返るだけなんでしょうか?
0232デフォルトの名無しさん
NGNGうん
0233デフォルトの名無しさん
NGNGFillMemory(lpDest, lpSrc, var)の
varがBYTE型なのですが、
32ビット固定小数点型をセットできる関数をはないですか?
ループでやれば出来るんですが遅いんです…
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG結局どのデータ型も突き詰めればバイトストリームだってことさ。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNGCopyMemoryしたほうがいいんでない?
0238デフォルトの名無しさん
NGNGHBITMAP CreateDIBSection(
HDC hdc, // handle to DC
CONST BITMAPINFO *pbmi, // bitmap data
UINT iUsage, // data type indicator
VOID **ppvBits, // bit values
HANDLE hSection, // handle to file mapping object
DWORD dwOffset // offset to bitmap bit values
);
これで*ppvBitsには確保されたメモリーのアドレスが格納されると思うのですが、
これって使い終わったら自分で解放しなきゃいけないんでしょうか?
もし解放しなきゃいけないならfreeですか?それともdelete?
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGデバイスに依存しないビットマップのメモリを割り当てます。
後でDeleteObject関数を呼び出してデバイスに依存しない
ビットマップを削除すると、 オペレーティング システムが
そのメモリのハンドルをクローズします。
と書いてある
0241デフォルトの名無しさん
NGNG値そのものは10進だとか16進だとか関係ありません。
取ってきた値を16進で表示したいならprintfでもつかえば?
0242デフォルトの名無しさん
NGNGサンクス
今度から下の方までよく読みます
0243239
NGNGごめんなさい、よく分からないで質問してました。
WINAPI WinMain でprintfを使うにはどうしたらいいか分かりません。
stdio.hをインクルードすればmain()がないとエラーが返されてしまいます。
どのようにしたらよろしいのでしょうか?
0244デフォルトの名無しさん
NGNGコンソールアプリケーションにすればいいよ。
0245239
NGNGウインドウとコンソールは一緒に出来ないんですね・・・
ありがとうございました
0246デフォルトの名無しさん
NGNG指定したらコンソールって作れますか?
ちらっと変なウインドウとか出さずに。
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGできるよ
0249デフォルトの名無しさん
NGNGAllocConsole すれば コンソールが出るし
窓とコンソールの両方を出す事も出来る
0250239
NGNG0251デフォルトの名無しさん
NGNG/subsystem:consoleのアプリから余裕でウィンドウを開けますが
0252239
NGNG解決法はないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています