- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:23:58 ]
- スレ立てるまでもない、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質問箱 Build68 pc11.2ch.net/test/read.cgi/tech/1215348804/
- 437 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 04:24:17 ]
- >>436がまずやるべきは2ちゃんねるを捨てるところからだな
- 438 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 07:00:22 ]
- >435
すくなくても、WaveDashは戻る。ここがWin32API質問箱である以上は。
- 439 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 07:17:19 ]
- ↑話を理解してない馬鹿
- 440 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 07:26:08 ]
- TextBoxでフォームが非アクティブになってもキーボードフォーカスを
常に持ち続けるにはどうすればいいでしょうか。
- 441 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 07:46:26 ]
- >435
つ ttp://support.microsoft.com/kb/170559/ja
- 442 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 10:09:22 ]
- とあるVC++のプログラムを引き継いだのですが
スレッドの作成にCreateThreadが使用されていました。 スレッドはひとつしか作成されないのですが そういう場合ならCreateThreadでもよいでしょうか? _beginthreadに修正したほうがよいでしょうか?
- 443 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 10:14:14 ]
- 内容による。
それだけで他人が判断できると思っているのなら、ヘルプの読み込みが全く足りない。
- 444 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 10:18:13 ]
- ヘルプを読み込んでみたところ問題ないようです。
ありがとうございました。
- 445 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:26:29 ]
- CRTを一切使っていないなら(実際には使っても問題の無いCRTもあるが)
CreateThreadでもいい。
- 446 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:30:19 ]
- CRTバリバリ使ってます
- 447 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:47:32 ]
- DLL版にリンクすれば問題ない
- 448 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:08:50 ]
- お世話になります。
wininetのFindFirstUrlCacheEntryで、特定のキャッシュを探す場合、 第一引数のlpszUrlSearchPatternにどういったものを渡してやればいいのでしょうか。 ttp://msdn.microsoft.com/en-us/library/aa384026(VS.85).aspx (FindFirstUrlCacheEntry) support.microsoft.com/kb/326201/ja 現状は、これを見ながらDeleteUrlCacheEntryの所を書き変えて検索していますが、 lpszUrl〜にURL文字列を直接渡してもnullを渡したときと動作が変わらず、毎回同じ順番で検索されてしまいます。 一応、言語はC#です。
- 449 名前:440 mailto:sage [2008/08/20(水) 13:56:17 ]
- すみません。言語別スレに行きます。
- 450 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 20:21:51 ]
- >>448
This parameter can only be set to "cookie:", "visited:", or NULL.
- 451 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 22:12:17 ]
- >>450
日本語でおk
- 452 名前:448 mailto:sage [2008/08/20(水) 22:59:26 ]
- >>450
ということは基本的に全数で探すしかないってことですか・・・。 それほど時間はかからないみたいなのでとりあえずこのままでいきます。 ありがとうございました。
- 453 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:30:00 ]
- C++でウインドウをクラスで実装してみてるのですが、コンストラクタ内にウインドウ生成のコードを書いてしまうのはアリでしょうか?教えてください。
- 454 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 01:41:28 ]
- サービスプログラムとしてタスクトレイに常駐するプログラムを
作成してるのですが、ユーザーがログインした段階で Windowを作成しないと、コントロールなどの表示が崩れてしまうようです。 ユーザーがログインているかどうかを判定する方法があれば教えてください。 Windows XPです。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 07:10:57 ]
- >>454
もしかして一つのプログラムで全部やるつもりか? HKLMのRunキーで起動したタスクトレイのプログラムがサービスと通信する、 というのが普通の作り方だと思うのだが。
- 456 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 08:25:06 ]
- >>455
WebやAPI本とかの断片的な知識しかないので できればその普通のやり方が載っている情報源を知りたいのですが。 MSのセミナーとかですか?
- 457 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 09:27:11 ]
- 今までWindowsを使ってきた経験からの普通
- 458 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 09:32:29 ]
- >>453いいんじゃね?
- 459 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:27:00 ]
- >>457
やっぱり知ったかでしたか。 関係ない話を始めた段階から読めてました。
- 460 名前:457 mailto:sage [2008/08/21(木) 10:31:51 ]
- オレは通りすがりだよ。
ちなみに、サービスはNT4の頃から作ってる。
- 461 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:48:25 ]
- はいはい。もういいよ。
ちなみに自己解決しました。
- 462 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:51:34 ]
- サービスが直接ウィンドウ作るのが普通だとしたら、
わざわざ「デスクトップとの対話を許可する」がデフォルトでオフになっているわけがない。
- 463 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:53:27 ]
- デフォルトって。プログラムからオンにできるわけだが。
- 464 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:54:14 ]
- www.google.co.jp/search?hl=ja&q=%E8%B3%AA%E5%95%8F%E3%82%92%E8%B3%AA%E5%95%8F%E3%81%A7%E8%BF%94%E3%81%99&lr=
- 465 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:57:22 ]
- サービスそのものは誰もログオンしていなくても動作するもんだから
ウィンドウそのものを自分で作るようにはできてない。 無理やり後付けで作るのは勝手だが、普通じゃない。
- 466 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 10:58:44 ]
- そもそもレジストリいじるだとか別プロセスにするだとか、
完全に知ったかの妄想なんだよ。
- 467 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:01:26 ]
- VNCとかはどうなってんの?
- 468 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:15:35 ]
- なんか知ったかという言葉を使いまくってる真性がいるなw
- 469 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:16:03 ]
- 人格攻撃キター
- 470 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:37:29 ]
- お前ら前置きに反応しすぎ
ユーザーがログインているかどうかを判定する方法があれば教えてください。
- 471 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:47:32 ]
- ターミナルサーバーとかで、複数同時にログインしてるのも考慮?
- 472 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:54:22 ]
- GetDesktopWindow()でデスクトップが取れたらでいいんじゃね?
- 473 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:55:57 ]
- ユーザーセッションの数が1以上、とかでいいのかなあ。
試さないとなんとも言えんな。
- 474 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 11:56:11 ]
- >>470
サービスでって前提なかったら、GetUserNameでイイジャンって言われちゃうぜ?w 試してないけど、NetUserEnumで列挙してNetUserGetInfo USER_INFO_2の最後のログオン/ログオフの時間取得してとかかなぁ
- 475 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 00:32:43 ]
- サービス語るならせめてAdvancedWindowsと
プログラミングMicrosoft Windows 2000位読め なぜWindowを持つサービスを作るべきでないかは読めば分かるから
- 476 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 08:05:36 ]
- 知らないならレスしないでください
- 477 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:48:40 ]
- 知ってるよw
- 478 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:51:32 ]
- じゃあレスしてください
- 479 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:40:46 ]
- 誰もサービスについての質問なんかしてないのに
- 480 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:48:06 ]
- >>454
- 481 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 15:29:09 ]
- >>480
> ユーザーがログインているかどうかを判定する方法があれば教えてください。 これが質問内容だろ 「サービスについての質問」ではない 日本語が読めない奴は黙ってろ
- 482 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 15:31:30 ]
- サービス以外でユーザーがログインしているかどうかを知る必要はない。
だってログインしているから
- 483 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 16:36:43 ]
- クレデンシャルプロバイダやGinaモジュールでも取得したい場合はあるかも?
- 484 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:56:09 ]
- explorer.exeのプロセスが居たらログオン中でいいんじゃね?
- 485 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:18:48 ]
- >>484
ばーか
- 486 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:32:56 ]
- >>485
なにが?w
- 487 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:43:41 ]
- >>484の回答が馬鹿丸出しということ
- 488 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:05:08 ]
- あ〜あ、
>>485は反例を一つ示せば>>484を完全否定できたのにね これじゃ>>485の方が馬鹿に見える
- 489 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:06:37 ]
- 顔真っ赤ですよ
- 490 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:10:44 ]
- >>482
そのプログラムをタスクスケジューラに登録する場合はどうかな?
- 491 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:26:00 ]
- >>490
タスクスケジューラは設定されたアカウントでログオンするよ。
- 492 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:34:00 ]
- >>484
ユーザーのログインシェルがexplorer.exe以外の場合がある、 とか聞いたことある気がするけど、そんなケース無視しても良い気がするし。 >>484の方法でダメな場合って他に何かあったっけ。
- 493 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:48:47 ]
- explorer.exeが異常終了したとき
- 494 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:21:25 ]
- そもそもログインしているユーザの一覧なんて
権限さえあれば取得できないわけがないと思うんだけど。
- 495 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:32:58 ]
- なんか知らんが、たぶんOSごとに違うと思う
- 496 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:34:44 ]
- Windows TIPS 現在ログオン中のユーザー名を調べる
www.atmarkit.co.jp/fwin2k/win2ktips/646logonuser/logonuser.html プログラムでやる場合、やはりexplorer.exeの有無ぐらいしかないのかね?
- 497 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:51:24 ]
- GetCharABCWidths()で取得されるA寸法は、 GetGlyphOutlineで取得されるGLYPHMETRICSのgmGlyphOrigin.xとは違うものなんでしょうか?
説明を読むと同じに見えるけど、違う値が返ってきて混乱してます。
- 498 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:03:54 ]
- >>497
アンダー・オーバーハングに対応した文字だと違ってくるんじゃないかな。
- 499 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:46:12 ]
- >>493
異常終了したらwinlogon.exeがexplorer.exeを再起動するぞ。
- 500 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:47:42 ]
- >>499
タスクマネージャで終了したら再起動しない
- 501 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:02:59 ]
- たまにその対策をしてない常駐アプリはタスクトレイから消えちゃうんだよな
- 502 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:19:26 ]
- 俺が使ってる常駐アプリの中ではその対策をしてる方が少ないな
- 503 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:45:23 ]
- >>454 はユーザがログオンしてるかどうか判定したいと言ってるけど、
実際は通知領域の表示ができるかどうかの問題なわけよ。 だから、シェルとしてのexplorer.exeで判定するのが正しい。 あと、起動処理が終わったかどうか調べる必要があるのかもしれない。 WaitForInputIdle?
- 504 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 02:10:50 ]
- GetDesktopWindowだとどうなるんだろう。
ログオフ中はきちんとNULLが返るのかな? 適当な値が返ってきたらやだな。
- 505 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 02:49:50 ]
- >>503
それならShell_NotifyIconが成功するまで適当な間隔で何度も呼び出せばいいだろ そもそもXP以降はそうしろとMSのサイトにも載ってるし、ログオンとか関係ない話になる
- 506 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:53:52 ]
- >>495
俺もなんか知らないけどWMIで取得できそうな気がする。
- 507 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:09:42 ]
- >>500
それはWindowsが異常終了として扱わない。 explorer.exeが異常終了した場合はwinlogon.exe(MSGINA.DLL)がWlxStartApplicationで検出する。 そこでSHELLとしてのexplorer.exeが再度起動される。
- 508 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:08:46 ]
- 空行ウザイ
- 509 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 01:15:50 ]
-
- 510 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 01:19:59 ]
-
↑だからうぜーってば
- 511 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 18:46:42 ]
- しばらく放置しないと、感染症になる雰囲気だけど、
ミソギを兼ねて、つまんない質問を。 Debug バージョンで HeapFree() で落ちるのは、スタックなどの管理領域を 壊したからですか。一時メモリで取った領域でないところに書き込んでも、 運よく、そういう領域でないなら落ちませんか。それとも必ず落ちますか。
- 512 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 19:31:46 ]
- 落ちますん
- 513 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 19:35:47 ]
- HeapAlloc/HeapFreeの管理するメモリ領域は
普通はDebugランタイムのチェック対象ではないが DebugランタイムがAPIフックするような開発環境ならその限りではない
- 514 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 19:54:21 ]
- 運がよければ落ちないかもね
しかし運に頼ってプログラミングするのはやめてもらいたい
- 515 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 20:09:50 ]
- Windows2000からは、ヒープにチェック機構が追加されたので、
バッファオーバーラン等は、ページ単位より細かくチェックが入るようになり、 HeapFree呼び出し時に例外(ブレークポイント)を発生させるようになった。
- 516 名前:511 mailto:sage [2008/08/25(月) 20:30:59 ]
- 早速、有難うございました。
>>514 Xp & VC++6.0 では落ちてなかったのに、Vista & VC++2008EE でだめになったからネ。
- 517 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 23:51:30 ]
- ネットワーク接続時にタスクトレイに出すことの出来る
ローカルエリア接続等で出ている送受信の総量などは APIなどで所得出来るものですか?もし出来る場合どのようなAPIで可能 でしょうか?
- 518 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:13:06 ]
- 休止やスリープから戻ってくるとアプリは起動しているけどパスワード入力画面という状態になってしまいます。
パスワード入力画面の最中は処理を行いたくないのですが、ログイン(?)したかどうかを調べることはできないでしょうか?
- 519 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:21:23 ]
- WTSナントカ
- 520 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 00:26:07 ]
- WM_WTSSESSION_CHANGE
- 521 名前:518 mailto:sage [2008/08/26(火) 00:35:22 ]
- ありがとうございます。これで解決できそうです。
- 522 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 07:17:55 ]
- >>517
www.geekpage.jp/programming/iphlpapi/
- 523 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 11:04:12 ]
- ユーザ名やパスワードなどの文字列を暗号化してINIファイルに書き込んだり、
それを取り出して複合したりといった処理を行いたいのですが、 なにかよいAPIやサンプルはありませんでしょうか。
- 524 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 11:15:08 ]
- CryptoAPI
- 525 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 11:17:04 ]
- サンプルは↓の右下の奴とか結構とっつき易い
ttp://www.trustss.co.jp/
- 526 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:08:12 ]
- APIじゃないかも知れないんですが、
MCEリモコン制御に対応させるためのsdkやらドキュメントの 手がかりってどの辺にありますでしょうか? うまい検索単語が思いつかずに、開発とは関係ないページしか 引っかかりません
- 527 名前:デフォルトの名無しさん [2008/08/26(火) 15:21:40 ]
- 指定PCにpingして生存確認したいんですが、pingするAPIを教えてくださいよ
- 528 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:23:00 ]
- ずばりpingするようなAPIはないからググってサンプル見つけるんだ。
- 529 名前:デフォルトの名無しさん [2008/08/26(火) 15:52:08 ]
- ああ、いやいや、どっかやりかた載ってるサイトを教えてくださいよ
- 530 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:57:19 ]
- CreateProcess+ping.exe
- 531 名前:デフォルトの名無しさん [2008/08/26(火) 15:59:05 ]
- ああ、ping.exeとかそんなんじゃなくておねがいしますよ
- 532 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:59:55 ]
- >>527
DWORD PingToComputer(LPCTSTR HostAddress);
- 533 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 16:00:14 ]
- API関係ないがな
ICMP プロトコル あたりでググればサンプルあるだろう
- 534 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 16:00:33 ]
- IcmpSendEcho
- 535 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 16:04:27 ]
- IcmpSendEchoってまだ使えるのか・・・?
- 536 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 16:09:25 ]
- PFSDK windows server 2003 の IP Helper には
IcmpSendEcho 居て XP も可能と書いてある 最新のは知らない
- 537 名前:デフォルトの名無しさん [2008/08/26(火) 16:11:05 ]
- なんだよお前らなんでそんなに優しいんだよ?
いつものお前ららしくないぜ? >>532-536 とりあえずさんくす。 何かその辺を調べてみますわ
|

|