- 1 名前:デフォルトの名無しさん mailto:sageteoff [2016/10/08(土) 12:33:02.29 ID:0jaJMPXG.net]
- Win32APIについての質問はこちらへどうぞ。
■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで ■過去スレ Win32API質問箱 Build122 echo.2ch.net/test/read.cgi/tech/1451988219/
- 266 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:08:20.93 ID:HYzaL+1F.net]
- 昔、レジストリから認識してるポート名を取得するサンプルあったな。
MSDNだったかな
- 267 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:22:02.41 ID:SxgHpTya.net]
- select欲しい
- 268 名前:261 mailto:sage [2016/12/04(日) 16:50:15.73 ID:8oIVw/6i.net]
- >>262
>>263 ありがとうございました!
- 269 名前:デフォルトの名無しさん [2016/12/09(金) 00:46:48.41 ID:WzSsU1Dc.net]
- WM_CHARでWPARAMに入ってくるコード一覧どっかない?
普通のキーならそのままだが、Back SpaceとかCtrl+Vとかのコードが知りたい。
- 270 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/09(金) 01:04:26.73 ID:IirsZJ4E.net]
- >>266
キーが押されてるかどうかの確認は、WM_KEYDOWNを使う。 「仮想キーコード一覧」で検索。 ただし、Ctrl,Shift,Altはmodifiersと呼ばれ、特別扱い。CtrlとShiftは GetKeyState(VK_SHIFT) < 0 GetKeyState(VK_CONTROL) < 0 で確認でき、AltはWM_NCKEYDOWNで確認できる。
- 271 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/09(金) 01:07:15.74 ID:IirsZJ4E.net]
- 訂正。
× AltはWM_NCKEYDOWNで確認できる。 ○ AltはWM_SYSKEYDOWNで確認できる。
- 272 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 20:09:14.26 ID:UWkfYPy/.net]
- プログラム実行中のログテキストをエディットコントロールに出力しようと思ったのですが、
32KB制限があり実用できないことが分かりました。 リッチエディットではそのような制限はないようなので、 特に問題なければこれでいこうかと考えているのですが、 他に良い方法があればご教示ください。
- 273 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 20:14:54.27 ID:cpVlzpwx.net]
- >>269
つ AllocConsole
- 274 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 20:17:01.65 ID:dREO/TsY.net]
- EM_SETLIMITTEXT
- 275 名前:269 mailto:sage [2016/12/12(月) 20:41:35.46 ID:UWkfYPy/.net]
- >>270
ありがとうございます。 今回は検索機能とかも付けたいので、エディット系コントロールを利用することにします。 >>271 ありがとうございます。 これで通常のエディットコントロールで32KB以上を扱えます。 助かりました!
- 276 名前:デフォルトの名無しさん mailto:sage [2016/12/13(火) 09:08:32.63 ID:GC6m09wL.net]
- >>272
検索が必要ならリッチエディット
- 277 名前:269 mailto:sage [2016/12/13(火) 21:50:24.46 ID:EhPW3kvE.net]
- >>273
リッチエディットで実装を進めていて、あとは検索機能だけ、というところまで作れたんですが、 まさかリッチエディット自体に検索機能があったとは・・・! ここでお聞きしてよかったです。 ありがとうございました!
- 278 名前:デフォルトの名無しさん [2016/12/19(月) 05:43:50.59 ID:qsdLnaaR.net]
- paint.netのツールウィンドウみたいなやつってどうやって表示するの?
ウィンドウスタイルを色々試してみたけどあれと同じようなウィンドウが出ない。
- 279 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 07:17:38.33 ID:jpBVYjvn.net]
- 拡張ウィンドウスタイル使え。
- 280 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:46:04.62 ID:qsdLnaaR.net]
- >>276
ありがとう。 拡張スタイル使ってもやっぱり無理だ。 思い通りに動かない。 数年前からずっと謎なんだよなこれ。 動作上問題が少ないから我慢してたんだけども。 それっぽいウインドウは出るものの、paint.netのように全ウインドウがアクティブ状態にならない。 【参考画像】news.softpedia.com/images/extra/WINDOWS3/large/paint.net/paint.net%20interface.jpg paint.netを実際に使ってるとよく分かるんだが、 参考画像のようにメインのウインドウもツール用のウインドウも常にアクティブな状態が維持される。 しかし、拡張スタイルでWS_EX_TOOLWINDOWを指定してもアクティブなウインドウは常に1つ。 メインのウインドウをクリックすればツール用ウインドウは非アクティブになり、 ツール用ウインドウをクリックすればメインウインドウは非アクティブになる。 非常に気持ちが悪い。 確かにWS_EX_TOOLWINDOWを利用すればメインウインドウより常に前面になり、 タスクバーにも表示されず、非常にpaint.netのツールウインドウと似たような挙動になるが、 このアクティブ/非アクティブに関しては挙動が全く違う。 ちなみにアクティブ/非アクティブの判断はタイトルバーの色で判断している。 さらに参考画像のツールウインドウのような右上の正方形の閉じるボタンの表示のさせかたも分からない。 ・・・と思ったら出てきたわ。 www.catch22.net/tuts/docking-toolbars-part-1 やっと出てきた。 WS_EX_TOOLWINDOWで検索してもノイズが多くてなかなか出てこなかった。 (ノイズ = MSDNのウインドウスタイルの一覧をコピペしただけのゴミサイト) ノイズゴミサイトマジで迷惑。 嫌がらせでしかない。
- 281 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:50:28.70 ID:qsdLnaaR.net]
- 結局今回のカギはGoogle画像検索。
ふと「サンプル載せてるサイトの半数くらいはスクショも載せてるのではないか」と思い、 例の拡張スタイルで画像検索。 俺がやりたいのと同じ状況になってる画像を見つけて開いたらビンゴ。 画像検索なんて今まで思いもよらなかったよ。 文字検索するとノイズゴミサイトばかり出てきてどうにもならなかった。
- 282 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:52:55.75 ID:qsdLnaaR.net]
- MSDNのコピペサイト作ってるゴミ共は早く死ねばいいのにな。
役に立たないどころか大迷惑。 最近流行りの質の低いキュレーションサイト()と同レベル。
- 283 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 00:02:24.24 ID:tFkwVopE.net]
- >>275の意味がまったくわからなkったわww
- 284 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 06:12:08.47 ID:ADGhogoA.net]
- google personal blocklistでかたっぱしからブロックしてる
xxxユーザー会もノイズ源だね
- 285 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 09:20:12.73 ID:F0IdvAwo.net]
- 顔写真ブロックは必須
おまえらキモ面なのに何故あんな目立つ場所に配置すんだ
- 286 名前:デフォルトの名無しさん [2016/12/20(火) 12:55:43.49 ID:lAXr92yw.net]
- >>278
おめ 興奮は伝わったが もちつけ
- 287 名前:デフォルトの名無しさん [2016/12/20(火) 13:00:10.44 ID:lAXr92yw.net]
- >>279
はてぶのことですねわかります
- 288 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 16:58:42.80 ID:WXAyO/1W.net]
- >>277
そういうときはいっそそのソフト解析したら? Paint.NETなら簡単に逆コンパイルできるし、Spy++とか使うだけでもある程度わかる
- 289 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 17:33:10.55 ID:Sq2CbWR0.net]
- OSSのソフトを逆コンパイルするの?
- 290 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 17:44:58.45 ID:F0IdvAwo.net]
- 今はちがうだろ
- 291 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 18:45:47.25 ID:lAXr92yw.net]
- 新手のアフィか
- 292 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 19:12:59.79 ID:F0IdvAwo.net]
- アフィだったのかよ。新手すぎてアフィの影すら俺には見えん
- 293 名前:デフォルトの名無しさん [2016/12/20(火) 22:05:37.09 ID:JPbALvOm.net]
- MSDNのコピペサイト全般のことだろう>アフィ
- 294 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 01:04:08.51 ID:HCdO29Rc.net]
- 質問
writefile関数を使用してint型で、データ保存ができません。同じ悩み持ったことある人いらっしゃいませんか。
- 295 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 01:09:18.76 ID:GvkBvmPc.net]
- int Data = 123456;;
DWORD writeLen; WriteFile(hFile,&Data,sizeof(Data),&writeLen,NULL); こういうことだろ?
- 296 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 01:10:40.03 ID:kLgQ2k1v.net]
- 変数のアドレスをwritefileにわたさないとだめ。数値そのままわたしてるんでしょ
- 297 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 21:06:02.77 ID:HCdO29Rc.net]
- >>292
>>293 ありがとうございます。引数としてアドレスを渡さないといけないのですね。試してみます!
- 298 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 08:34:56.43 ID:tk15BRot.net]
- msdn 関数名
でググる癖をつけよう
- 299 名前:デフォルトの名無しさん [2016/12/22(木) 12:50:31.88 ID:y+mdv7YD.net]
- -jp もお忘れなく
- 300 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 13:04:48.47 ID:hYDEOt1H.net]
- どうしてこういう訳そのままずっと放置してんだろうな
> 関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。 > If the function fails, the return value is zero. To get extended error information, call GetLastError.
- 301 名前:デフォルトの名無しさん [2016/12/22(木) 18:24:16.26 ID:zHNnrJEM.net]
- >>296
なんで付けるの? 誤訳トラップにハマりたいの? 俺は誤訳トラップどころか英語版と日本語版で引数違うトラップにハマったことがあるけども。 日本語版を穴が空くほど見て確認したけど何日経ってもコンパイルが通らず、 何の気なしに英語版開いたら引数の数が違って、 英語版見ながら修正したら一発でコンパイル通ったわ。
- 302 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 18:39:46.34 ID:hYDEOt1H.net]
- >>298
+jp じゃなくて -jp
- 303 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 18:47:30.93 ID:YVr1LIe6.net]
- >>298
今時どんな開発環境使ってるんだよ w VisualStudio なら関数名 + '(' を入力した時点でプロトタイプが表示されるだろ
- 304 名前:デフォルトの名無しさん [2016/12/22(木) 18:55:29.30 ID:zHNnrJEM.net]
- >>299
ごめんなさいwww >>300 その当時はVector辺りで見つけてきた適当なテキストエディタとBCCだったよ。
- 305 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 19:02:14.56 ID:tk15BRot.net]
- >>301
C言語を始めよう!
- 306 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 22:46:25.55 ID:+nnZ9oR0.net]
- レポートタイプのリストビューをクリックしたら、その行のデータに対応する内容を
別の窓に詳細表示するというような動作をしているのですが、クリック時は NM_CLICK を処理してクリックされた行を nmLv->iItem メンバを参照して知ることができます。 オペレーションとしてはマウスだけではなくキーボード操作でリストビューの選択行を 次々と移動させることも多いので、LVN_KEYDOWN も処理して上記と同様の動作を させたいのですが、LVN_KEYDOWN 処理時は nmLv->iItem の中身が不定です。 LVN_KEYDOWN 処理時に ListView_GetNextItem で LVNI_ALL | LVNI_SELECTED を 指定して選択行を調べると、キーボードを押して選択行を変更する前の選択行が 得られてしまいます。 この辺は、一旦メッセージループを回すなどしてから現在の選択行を得ること自体は 可能と言
- 307 名前:ヲば可能なのですが、ここまでしないとダメなのかという疑問があります。
LVN_KEYDOWN 処理時、もしくはキーボード操作で選択行を変更した際、簡潔に 現在の選択行を得る方法はありますでしょうか? [] - [ここ壊れてます]
- 308 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 23:02:45.31 ID:hYDEOt1H.net]
- LVN_ITEMCHANGED
- 309 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 14:54:42.80 ID:qGVMhgWM.net]
- 質問です。
win10 x64 windows がキャッシュしてる dns の名前解決結果の一部を書き換えることは可能ですか? または、名前解決の最中に結果をいじるようなフックは出来ませんか? 例えば、example.com の ttl を長めに書き換える、とかです。 よろしくお願いします。
- 310 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/23(金) 15:00:49.80 ID:3xdKhrkh.net]
- >>305
デバッグ特権があれば、別のプロセスのプロセスメモリーにアクセスすることも可能。
- 311 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 15:29:20.66 ID:Kb3OsEli.net]
- 対象アプリ限られてくるけどAPIフックすりゃ簡単に結果改竄はできるな
キャッシュ改竄はフィルタードライバあてる面倒なのしか思いつかない
- 312 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 15:36:22.73 ID:5J5pLbD7.net]
- 以下の処理を実装したく、助言をお願いします。
ダブルクリックや右クリ開くなどで、ファイルを開く際に 関連付けの有無に関わらず、そのファイルのパスを取得したい。 ShellProcあたりのフックかと考えましたが、パスをどうやって 調べるのか分かりません。 どうぞ宜しくお願いします。
- 313 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 15:54:43.63 ID:Kb3OsEli.net]
- 目的次第だがShellProcは違うんじゃないか
explorer.exeに対してShellExecuteあたりのフックか?
- 314 名前:デフォルトの名無しさん [2016/12/23(金) 15:59:09.98 ID:5tPECy1o.net]
- >>305
proxy arp
- 315 名前:305 mailto:sage [2016/12/23(金) 16:14:48.81 ID:sqLqmtwC.net]
- >>305, 306
レスありがとうございます。 DLL注入やアタッチのよるDNS改ざんは確かにできそうですね。 検討してみます。 ちなみに、プロセスは基本的には chrome です。 >>307 できればフィルタードライバの設計を、おおざっぱでもいいので教えて頂けませんか? (ドライバのコーディングは、ほぼ経験が無く、ネットワークそのものの知識はあるものの、windows内部での扱いやAPIはまったく知識が無いです) ちなみに、VPNによる仮想アダプタと、複数のネットワークカード(アダプタ)があるのですが、それでも対応可能でしょうか? (直感的には、特定アダプタに対するフィルターだと、アダプタの優先度に左右されそう。アダプタ依存にはしたくないです)
- 316 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 16:17:28.56 ID:gpKoKuI/.net]
- >>304
解決しました。 どうもありがとうございました。
- 317 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 16:45:40.87 ID:Kb3OsEli.net]
- >>311
WDKサンプルのこのあたりが参考になるのかな NDIS 6.0 Filter Driver Windows Filtering Platform Packet Modification Sample
- 318 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 07:41:05.18 ID:AXa0yhpU.net]
- >>313
ありがとうございます。参考にさせて頂きます。
- 319 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:58:07.38 ID:3KzFEnUI.net]
- >>314
きっとおまえがやりたいことはchrome拡張でonbeforerequestいじれば解決する・・・
- 320 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 22:10:16.80 ID:n7UGfNqJ.net]
- iniファイルから文字列を読み込むGetPrivateProfileString()なんですが、
セミコロン以下のコメント文まで読み込んでしまいます。 コメント文は読み込まないようにできないでしょうか? それとも自分でコメント文を削除するしかないでしょうか?
- 321 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 00:55:07.08 ID:cwwyPIk6.net]
- 同一行にコメントはwindows的にアウト
- 322 名前:316 mailto:sage [2016/12/26(月) 01:06:56.36 ID:CvSBnmkv.net]
- >>317
なるほど! ありがとうございました!
- 323 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 08:40:18.91 ID:I+2Q+LPS.net]
- コメントを勘違いしてるんじゃね?
- 324 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 21:20:51.81 ID:SUV7MStA.net]
- セミコロン付けたらコメントになるって言うけどよー
あれ実際は特別扱いなんかしてなくて、例えば ;abc=def にしたら「;abc」って名前になるから「abc」に一致しなくなるだけじゃないかと疑ってる
- 325 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 21:34:05.02 ID:sfc5Nc1U.net]
- じゃあ「;abc」で試してみればよくね?
- 326 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 22:12:12.96 ID:ffv778mh.net]
- セミコロンは行頭にある時だけを特別扱いしているみたいだ
- 327 名前:316 mailto:sage [2016/12/29(木) 11:37:53.16 ID:E1SACFDz.net]
- 使ってるエディタが.iniの同一行コメントもコメント色に変換してくれるので、誤解してしまいました。
気を付けます。
- 328 名前:デフォルトの名無しさん mailto:age [2016/12/30(金) 13:34:08.58 ID:qor2kyvR.net]
- winsockの関数フックしたいんですけどインポートアドレステーブル上の
ws2_32.dllの関数だけ取得できません。どうしたら? ttp://up2.cache.kouploader.jp/koups19399.txt このコードは 自身のロードしたDLLの関数名を列挙するだけのシンプルなものですが、 やはりwinsockの関数名だけ取得できないです。 ImageDirectoryEntryToData()の第3引数を IMAGE_DIRECTORY_ENTRY_IATや IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えても取得できませんでした(そもそも関数がnull返してくる
- 329 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:46:15.25 ID:ymKNG2iV.net]
- WSAStartupは成功してんの?
- 330 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:47:50.05 ID:LToUj4mC.net]
- 名無しだからcontinueですっ飛ばしてんだろ
- 331 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/30(金) 14:07:12.37 ID:nsN9rWIv.net]
- GetLastError()を調べてみよ。
- 332 名前:324 mailto:sage [2016/12/30(金) 14:41:23.26 ID:qor2kyvR.net]
- >>325
成功しているようです >>326 関数名が名無しということですか? >>327 どのタイミングでですか? if(IMAGE_SNAP_BY_ORDINAL(pThunkData->u1.Ordinal)) winsockの関数だけこのif文が真になります。 ttp://i.imgur.com/jWNmlgm.png デバッガでIAT覗くと、正しい関数名ではないが、2つの関数らしきもの?が表示されていて これがWSAStartup()/WSACleanup()に対応するものだと思われます 他のDLLでは関数名が正しく表示されます。 これが、関数名が名無しということならどう対処するのかご教示頂きたいです。 海外のフォーラムの似たような質問では ImageDirectoryEntryToData()の第3引数を IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えて成功したと書かれていたんですけどね、成功しませんでした。
- 333 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 15:38:47.57 ID:LToUj4mC.net]
- >>328
関数名は名前あるけど、インポートが名無し
- 334 名前:デフォルトの名無しさん [2016/12/30(金) 15:39:26.81 ID:Q3tvxZdg.net]
- マクロというオチ
- 335 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 15:40:45.50 ID:LToUj4mC.net]
- 対処は名前比較じゃなくてアドレス比較
- 336 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 19:08:50.21 ID:qor2kyvR.net]
- >>331
ヒントありがとうございました。解決しました PIMAGE_THUNK_DATA pThunkData = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->OriginalFirstThunk); PIMAGE_THUNK_DATA pRealThunk = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->FirstThunk); while(pThunkData->u1.Function){ FARPROC pfnImportedFunc = (FARPROC)(pRealThunk->u1.Function); ・・・ 上記のIAT上の関数アドレスと、 LoadLibrary()&GetProcAddress()で取得したwinsock関数のアドレス を比較し一致したものを書き換えたら成功しました。 ttp://blog.techlab-xe.net/wp-content/uploads/2014/05/pe-format-import-func-list.png これそもそも 文字列比較より アドレス比較を用いる方法のほうが正確なやりかたですよね?
- 337 名前:デフォルトの名無しさん [2017/01/21(土) 17:55:42.90 ID:0py1wTB0.net]
- CreateProcess関数の質問です。この関数で開いた外部プロセスを、操作しようとしたらハンドルされていない例外エラー発生したことある人いますか?
エラーメッセの オブジェクト参照がオブジェクトインスタンスに設定されていませんの意味もいまいちわからずです。悩んでいます。 どなたかヒントをくれたら幸いですm(__)m
- 338 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 18:11:33.93 ID:3w6w5xSi.net]
- たぶんCreateProcessの問題じゃなくてソースコードの問題
基本的なとこをどっか間違えてると思う
- 339 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 19:16:05.15 ID:RjpRPNfA.net]
- 前後のソース載せてみて
- 340 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 20:46:43.34 ID:1cIKmUbZ.net]
- >>333
まずは使ってるプログラム言語から書こうか
- 341 名前:デフォルトの名無しさん [2017/01/21(土) 23:19:24.15 ID:0py1wTB0.net]
- >>335
>>336 HWND hwnd; STARTUPINFO si; BOOL boRet = 0; DWORD dwRet = 0; ZeroMemory(&si, sizeof(si)); ZeroMemory(&piMplab, sizeof(piMplab)); si.cb=sizeof(si); GetStartupInfo(&si); boRet = CreateProcess(_T(""C:\Program Files (x86)\Microchip\PICkit 3 v3\"Pickit3.exe"),NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&piMplab); CloseHandle(piMplab.hThread); CloseHandle(piMplab.hProcess); すみませんこんな感じですm(__)m↑
- 342 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 23:24:44.47 ID:3w6w5xSi.net]
- >>337
それ以外の部分、もしくは書くために変えた部分に問題があると思う
- 343 名前:デフォルトの名無しさん [2017/01/21(土) 23:31:13.18 ID:/qDbjX4N.net]
- アクセス権か
- 344 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 23:55:07.37 ID:1cIKmUbZ.net]
- >>337
まずは CreatepProcess の戻り値とエラーなら GetLastError の値を確認しようか
- 345 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 06:55:36.39 ID:JOxquhah.net]
- _Tの中は本当にそれでいいのか
- 346 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 06:58:42.28 ID:w4vCkWXB.net]
- \はここに貼り付けたから崩れたのか
元のソースが1個なのか
- 347 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 11:15:36.01 ID:nyEfU5To.net]
- >>333
なんか.NETのエラーメッセージっぽいけど、.NETから呼び出しているの? 該当部分のソースを全部貼り付けなきゃ誰もわからないでしょ。
- 348 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 08:44:04.99 ID:As9ZYPu9.net]
- そもそもどっちのプロセスがエラーを出してるかすら把握できてなさそう
子プロセス呼び出しはなんとなくコピペで扱うには荷が重い
- 349 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 06:02:27.98 ID:s4b0iZxC.net]
- プロセスを起動して、ユーザーの入力に応答しているか確認するにはどうしたらいいでしょうか。
Process::Responding プロパティ以外の方法でお願いします。 うちの開発環境にはないので。 プロセスのウインドウを取得して、メッセージを送るくらいしか思いつかないのですが、ウィンドウがない可能性もあるし もっとスマートな方法があればいいなと。
- 350 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 07:20:09.51 ID:fntd/u0o.net]
- >>345
> ユーザーの入力に応答している をきちんと定義しないと無理でしょ
- 351 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 09:04:47.86 ID:paQpH1yu.net]
- ネットワークプログラミングで言う所のキープアライブ的なのを実装じゃあかんの?
- 352 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 10:50:26.10 ID:SLV8VPLP.net]
- >>345
WM_PAINT系のメッセージを投げて クライアント領域が書き換わってるかどうかとか show/hideメッセージ送って反応するかどうか見るとか
- 353 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 10:51:21.94 ID:SLV8VPLP.net]
- >ウィンドウがない可能性
プロセスId見て稼働率調べるかな
- 354 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 10:51:49.68 ID:SLV8VPLP.net]
- ああ無限ループで稼働率100%だとだめなのか
- 355 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 12:52:29.97 ID:uJriqNlz.net]
- WaitForInputIdle
- 356 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 12:01:31.08 ID:386srHJg.net]
- TrayNotifyWndにアプリアイコンを追加と削除をしたいのですが、どうすればよいでしょうか?
Shell_NotifyIconの登録みたいなやつです。 Shell_NotifyIconの登録と削除右派知っています。
- 357 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 12:17:03.67 ID:Nq0thOwX.net]
- Shell_NotifyIconでないならこれのことかな
https://msdn.microsoft.com/en-us/library/windows/desktop/cc144099(v=vs.85).aspx
- 358 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 13:37:19.22 ID:386srHJg.net]
- >>353
情報ありがとうございます。やりたい内容と、ちょっと違います。 windows8.1/10とかだと、タスクバーが上か下にあるとき、タスクトレイの右側か左側にTrayNotifyWndに [IME]、[タッチパネル向けのキーボード]、[通知]などが表示されていますよね? それらの場所に、自作のアプリアイコンを作りたいのです。 スパイでみると、 通知 ハンドル 001016E キャプション 通知センター クラス TrayButton キーボード ハンドル 0010172 キャプション タッチキーボード クラス TIPBand IME ハンドル 0010156 キャプション 無し クラス Button となっています。 親ハンドルからたどってクラスを見るとTrayNotifyWndとなっています。 知りたいのは、SHAppBarMessageを使ったタスクバーみたいなウインドウではありません。
- 359 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 13:49:49.54 ID:386srHJg.net]
- googleの画像検索で googleimeとかってやると下のような画面がでますよね?
https://www.google.co.jp/search?q=googleime&biw=1280&bih=607&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwiZzey0zfDRAhUJbrwKHQ4dBuAQ_AUICCgD#imgrc=j130VRRhjR7jdM: TrayNotifyWndでにて、設定メニュをいじっているような画面のようなプログラムを作りたいのです。
- 360 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 13:52:18.95 ID:89UtyOev.net]
- Shell_NotifyIconで登録して、クリックされたらメニュー表示すればそれになる
- 361 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 14:17:43.87 ID:386srHJg.net]
- >>356
一般的な、Shell_NotifyIconでタスクトレイの登録ではないです。 タスクトレイの横に登録する手続きが知りたいのです。 mozcのソースコードをgrepしたところShell_NotifyIconは使われていないようです。 comクラスとかでTrayNotifyWndに追加するような機能があるのかなぁ。。
- 362 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 14:36:09.97 ID:89UtyOev.net]
- すまん。通知領域はその右側か盲目だった
直接CreateWindowでぶらさげちゃうとかできないかな
- 363 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 15:53:49.61 ID:8dKrrq5G.net]
- IMEツールバーみたいにタスクトレイにドッキングしたいってこと?
- 364 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 16:11:08.48 ID:386srHJg.net]
- >>359
機能はIMEではないですが、そんなかんじです。
- 365 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 18:11:54.04 ID:gbCpBU15.net]
- TrayNotifyWndを親にしてCreateToolbarExで作ればいいんじゃないのかな
- 366 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 19:12:40.06 ID:qO0hDPsp.net]
- >>357
> mozcのソースコードをgrepしたところShell_NotifyIconは使われていないようです。 ならそのソースを読めばいいんじゃね?
|

|