1 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:33:42 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-10 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build65 pc11.2ch.net/test/read.cgi/tech/1208847084/
892 名前:いのぶー mailto:sage [2008/06/07(土) 00:31:04 ] こんな風に書いているので、問題があったら知りたいなぁという以上の意味はないので・・・ // ドローイングエリアの真ん中へ移動 Cursor.Position = new Point((winRect.left + winRect.right) / 2, (winRect.top + winRect.bottom) / 2); //クリック INPUT[] input = new INPUT[2]; // 計2イベントを格納 input[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN; input[1].mi.dwFlags = MOUSEEVENTF_LEFTUP; SendInput(2, input, Marshal.SizeOf(input[0]));
893 名前:いのぶー mailto:sage [2008/06/07(土) 00:46:46 ] 追伸、 466の記述時点では、Rectで何の値が取れるか分かっていなかったのですが、 デバッグプリントして、理解して、887の時点では、なんとか好きな所に点が打てるように なっていました。 (おそらく、入れ違いになってしまったのでは・・・と思っています。) ただ、この場合に、ウィンドウ内の座標を使って何ができるのかが知りたいのです。 この場合、テンプレの本を薦められても対象が高域過ぎるのでお勧めのURLや書籍 でもあれば、明日にでも探しに行きたいと思います。
894 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:01:28 ] いい加減うざいです>< Win32スレなのか.NETスレなのか分かりません><
895 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:16:31 ] ここってWin32APIスレですよね>< 言語が.NETだろうとWin32の話なら全然構わないと思います><
896 名前:デフォルトの名無しさん [2008/06/07(土) 03:27:14 ] たとえば、スレッドの中にスレッド作った場合の注意点ってある? 開放する順番以外に。windowsスレッドって、ExitThread(true)で 自動で開放されたりしない?ハンドルクローズしないとダメ?
897 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 03:45:01 ] windowsスレッドって何だよ windows板なら分かるが
898 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 04:47:09 ] >893 何ができるかとかいう問題じゃなくて ┏━┓ ┗━┛ この枠の内側測るのと外側測るのじゃ大きさが違うだろ? 内側から測れって言われてるのに外側から測った数字使ってたりしたら 細かいところで計算が合わないからちゃんと意識しろってこと。
899 名前:896 mailto:sage [2008/06/07(土) 06:05:37 ] >>897 Linuxのプロセスみたいにゾンビプロセスが残るのかとか windows のスレッドはexitThread(true)でスレッド開放されるのかとか
900 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 06:41:38 ] スレッド自身がExitThreadを呼び出すか、スレッドの関数から戻ればスレッドは止まる。 どのスレッドによって作られたか、などということは一切関係ない。 また、そのスレッドを参照しているすべてのスレッドハンドルをCloseHandleしなければならない。 スレッドハンドルを閉じていないということは、まだ使うということだから。 スレッドがシグナル状態になっているかどうかを見るなど。 pthreadだって、明示的にpthread_joinかpthread_detachしなきゃならんだろ。
901 名前:いのぶー mailto:sage [2008/06/07(土) 06:56:28 ] > 898 取れる数字に対する注意点を教えていただいたと理解しました。 894さんとか、うざがってる方もいることですので、この話題を終了したいと思います。 ありがとうございました。
902 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 08:06:34 ] >>899 > ExitThread(true) こんな事を書いてるということはMSDN読んでないのがバレバレ
903 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:06:32 ] おいおい・・ そんなこと言ったら、ここの質問全てmsdn嫁で終わるw
904 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:25:25 ] ちょっと質問ですが、 //tmpgenc.pegasys-inc.com/ja/download/tp.html TMPGEncの支援ツールを作りたいと思ってます。 主に自動で次々と縁故してくれるように支援するツールです。 そこで、まずファイルをドロップしてファイル名を渡すところですが、ここはどんなAPIを使ってドロップしたことにしてやればよろしいでしょうか?
905 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:27:01 ] はぁ?
906 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:29:15 ] >>905 そのTMGENCの画面にファイルをドロップするところを、他のアプリから操りたいのです・・・。
907 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:47:12 ] はぁ?
908 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:47:55 ] 知らないならレスしないでください
909 名前:904 mailto:sage [2008/06/07(土) 14:50:36 ] 908は私の発言じゃないですよ。 わかりにくいですか?
910 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:53:40 ] まったく分からない
911 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:54:30 ] 初心者スレ池
912 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:55:06 ] 910は私の発言じゃないですよ。 わかりにくいですか?
913 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:10:01 ] TMPEGの画面ってのがよく分からんが 画面へのドロップ動作をさせたいならOLE D&Dとマウス動作のシミュレートで良いんじゃね コマンドライン使えるならそっちの方がいいと思うけど
914 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:12:18 ] お前は何を言ってるんだ
915 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:12:52 ] LoadLibraryEx で LOAD_LIBRARY_AS_DATAFILE や LOAD_LIBRARY_AS_IMAGE_RESOURCE を 指定してロードした特定のモジュールのファイル名を、GetModuleFileName で取得できません。 (GetModuleFileName の戻り値は0だが、GetLastError の戻り値は ERROR_SUCCESS) 具体的に言うと、下のページの mxdrv.dll が該当します。 ttp://gorry.haun.org/mx/ どういったケースでそれが起こるのか、誰かおわかりになりませんか。
916 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:27:25 ] >>913 レスありがと。 ただOLE D&Dって初見なんだけど、これってつまりAPIでファイルを対象のウィンドウにドロップするやつはないってことですか?
917 名前:916 mailto:sage [2008/06/07(土) 15:38:46 ] 自己解決しました、ありがとうございます
918 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:21:57 ] 英語MSDNのSendIMEMessageExに This function is obsolete and should not be used. と書いてた。 ってことは、IME使うにはどうすればいいんだ?
919 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:28:20 ] 質問です。 対象のアプリのボタン(OKと書かれたボタン)が操作不可かどうかを判断したいのですが、 なにか手はありますでしょうか?
920 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:29:48 ] フックふっくにしてやんよ
921 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:37:46 ] IsWindowEnabledでいいんじゃね
922 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:07:40 ] >>918 Imm〜関数群などを使う。
923 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:16:07 ] IMMの次はTSFだぜ
924 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:31:42 ] >>923 > TSFとは、異性への性転換を扱うフィクションのジャンルにおける略称である。 ttp://ja.wikipedia.org/wiki/TSF ???
925 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:38:05 ] ストリートファイターズ……
926 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:51:28 ] アルファベット3文字の略称って大抵は既に何かに使われてるよなw
927 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:26:35 ] _beginthreadexでつくったスレッドで現在稼動しているもののIDかなんかを取得するのは どうすればいいですか?Thread.currentThread()みたいなやつ
928 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:33:05 ] GetCurrentThread GetCurrentThreadId
929 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:33:19 ] IDってどういう意味だ? スレッドハンドルの事を言っているなら、_beginthreadexの戻り値がまさにそれだ。 必要ないなら、ちゃんとCloseHandleしておけ。 スレッドIDの事を言っているのなら、スレッドハンドルに対してGetThreadIdを呼べ。
930 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:37:06 ] >>927 GetCurrentThread
931 名前:918 mailto:sage [2008/06/07(土) 19:44:58 ] >>922 ,923 感謝する。 とりあえず今回はTSFの方向で考えてみようと思う。
932 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:49:55 ] >>931 え……?性転換ネタでいくの?キョン子はやめたほうが……
933 名前:931 mailto:sage [2008/06/07(土) 20:05:29 ] >>932 TextServicesFlameworkですよ(汗 ...とマジレスしてみる。
934 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:08:52 ] >>928-930 あざーした
935 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:31:21 ] >>933 Text Services Frameworkですよとマジレス
936 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:37:32 ] Flamework 燃える仕事か。
937 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:40:20 ] >>934 一応言っておくと、GetCurrentThreadで得られるのは擬似ハンドルで 自分自身のスレッドを示す事にしか使えないからな。
938 名前:933 mailto:sage [2008/06/07(土) 20:46:31 ] >>935 ,936 わざとだ。 ということにしておいてくれ。
939 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:55:32 ] >>936 仕事熱心でいいじゃないか
940 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:01:53 ] 炎上しているって事はデスマーチなんだろ
941 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:04:22 ] >>937 なんか書いてありましたね。でも _beginthreadexの最後の引数に入るDWORDのIDはGetCurrentThreadIdのものと一致しますよね? あと関係ないと思うんですが、MSDNの _endthread と _endthreadex によって、C++ デストラクタはスレッドで保留状態になり、呼び出されません。 という日本語の意味がよく分からないんですが、どういうこと?
942 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:14:46 ] ThreadEntry(PVOID param) { CMyClass hoge; kansuu(); } kansuu() { _enthreadex(0); } hogeのデストラクタは呼ばれませんよということ 素直にreturnしとけ
943 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:16:00 ] 日本語の意味が分からなかったら英語版を読めばいいだろ そもそも日本語版なんてWin95時代から更新止まってるのにそんなの見るなって
944 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:22:00 ] 英語MSDNのSendIMEMessageExに This function is obsolete and should not be used. と書いてた。 ってことは、IME使うにはどうすればいいんだ?
945 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:25:06 ] 英語MSDNのSendIMEMessageExに This function is obsolete and should not be used. と書いてた。 ってことは、IME使うにはどうすればいいんだ?
946 名前:918 mailto:sage [2008/06/07(土) 21:27:22 ] なんかコピペされてる? 何事ですか?
947 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:28:37 ] 英語MSDNのSendIMEMessageExに This function is obakadesu and should not be used. と書いてた。 ってことは、IME使うにはどうすればいいんだ?
948 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:10:57 ] MSDNのYieldのところに ウィンドウを含むスレッドでは、DispatchMessage 関数、PeekMessage 関数、または TranslateMessage 関数を使ってください。 てあるけど、どうやんのかね?
949 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:20:17 ] ウィンドウを作ったスレッドがなんでyieldなんかするんだよ
950 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:31:29 ] 知らないならレスしないでください
951 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:57:14 ] 糞スレ終了
952 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:37:08 ] 次は、まだかな♪(・ ・。)(。・ ・)まだかな♪
953 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:42:09 ] 質問したいんですけどいいですか?
954 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:44:29 ] ものによる。まずは質問して。
955 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:49:12 ] >>948 PeekMessageでぐぐればいろいろ例が見つかるはずだから、そのとおりにやればいい。
956 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:55:24 ] 質問です CreateThreadで作ったのが糞スレッドかどうか判断するAPIを教えてください
957 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:58:06 ] CreateThread自体が糞だからそのようなAPIは用意されていません。
958 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 08:19:20 ] PCを起動したときに、それまで何日間起動されなかったか知りたいのですが、 前回シャットダウンした日時を取得する方法ってありますか?
959 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 09:05:59 ] イベントログ
960 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:58:25 ] >>958 >>959 のとおり、イベントログに情報がある。 ただ、OS起動やシャットダウンイベントはデフォルト設定だと記録されないはずなので、 設定を変えるか、もっと簡単にやりたいなら正確ではないけどイベントログサービスの 起動/停止時間をOS起動/シャットダウン時間とみなしてしまうやり方もある。 例がWin32APIでなくて申し訳ないけど、以下WMIのインタフェース使うスクリプトの例。 var query = "Select * from Win32_NTLogEvent where " + "LogFile = 'System' and SourceName = 'EventLog'"; var systemlogs = GetObject("winmgmts:!\\\\.\\root\\cimv2").ExecQuery(query); var e = new Enumerator(systemlogs); for (; ! e.atEnd(); e.moveNext()) { var log = e.item(); if (log.EventCode == 6005) {//イベントログサービス起動 WScript.Echo("起動: "+log.TimeGenerated); } else if (log.EventCode == 6006) {//イベントログサービス停止 WScript.Echo("停止: "+log.TimeGenerated); } }
961 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 11:00:37 ] 親切な人だなぁ・・ 質問者じゃないけど、感心した
962 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 14:26:31 ] 質問者はトリップ付けた方がいいと思うお
963 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 15:22:53 ] そんな面倒な事わざわざしないお
964 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 18:23:10 ] IDがあればそんな面倒な事しなくもいいのにね
965 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:07:44 ] コンボボックスをオーナードローすると 初期表示状態が微妙に縦幅が太くなるんだけぢ どうやって元に戻すんdねすか? 中身の太さ(高さ)は↓で細くできたんです void CColorComboBox::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct) { lpMeasureItemStruct->itemHeight = 14; }
966 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:07:58 ] またID厨か
967 名前:965 mailto:sage [2008/06/08(日) 19:15:42 ] もひとつ問題が オーナードローを可変にすると(CBS_OWNERDRAWVARIABLE) ボックス内でマウスホイール動かしたときに意味不明な動きをします。 ホイールを下に回してるのに上からビローンって一回転して正しい 位置に回ってきます。なんだこれ。
968 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:46:30 ] >>966 独り言消えろ
969 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:48:08 ] またまたID厨か
970 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:53:08 ] ID厨ウゼェ
971 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:57:41 ] ↑キモッ
972 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:58:33 ] ID厨の特徴 1. 「IDがあればなぁ」などと書く 2. 自演で荒らす 3. 「やっぱID欲しいな」などと書く
973 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:08:59 ] やっぱID欲しいな
974 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:09:32 ] IDがあればなぁ
975 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:29:07 ] 俺の予想では荒らしてるのは一人か二人
976 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:29:14 ] かまってほしいな
977 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:30:04 ] >>975 二人以上なのか確実 おれ以外にも居るから
978 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:30:32 ] × なのか ○ なのは
979 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:32:58 ] りりかる
980 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:54:18 ] /* ここまで俺の自演 */
981 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:05:34 ] /* かまってほしいな */
982 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:10:01 ] /* コメント /*/ スイッチ //*/
983 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:20:31 ] >>977 いや一人だ 俺と、俺の中の別人格(=お前)
984 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:24:40 ] チィッ…右手よ、静まれ!
985 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:38:27 ] IDがあって困ることはないから、ID導入して欲しいな。 なんでム板はないんだっけ?
986 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:40:04 ] 必要ないから
987 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:45:51 ] IDは昔はどこもなかった。基本的にはIDが導入される板というのは 人が多く荒れる事が多い板。今までム板では現状のこのスレみたいな 事がほとんどなかったから必要なかっただけかな
988 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:52:30 ] この程度で荒れてるって・・・
989 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:56:25 ] 機能してない時点で十分荒れてるだろう、ここは雑談系の板ではなく専門板なんだから
990 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:06:49 ] それに加担してる事は自覚してるのかね
991 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:11:40 ] 自覚してないけど、何か?
992 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:12:33 ] 次スレ建ってないんだから減速しろ
993 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:18:11 ] 建ててくるわ。 Win32API質問箱 Build67 スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-10 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build66 pc11.2ch.net/test/read.cgi/tech/1210775622/
994 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:27:48 ] 次スレたててきた pc11.2ch.net/test/read.cgi/tech/1212931246/
995 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:40:15 ] ume
996 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:40:35 ] うめ
997 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:41:11 ] 産め
998 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:42:18 ] 埋め
999 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:43:16 ] おめ
1000 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:43:25 ] こ
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。