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


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

Win32API質問箱 Build125



1 名前:デフォルトの名無しさん [2019/02/27(水) 15:09:08.64 ID:6ExXwgQU.net]
Win32APIについての質問はこちらへどうぞ。

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

■過去スレ
Win32API質問箱 Build124
mevius.5ch.net/test/read.cgi/tech/1510395780/
Win32API質問箱 Build123
mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
echo.2ch.net/test/read.cgi/tech/1428570962/

■関連スレ
Visual Studio 2019
mevius.5ch.net/test/read.cgi/tech/1548765663/
Visual Studio 2017 Part6
mevius.5ch.net/test/read.cgi/tech/1528645068/
【C++】 DirectX初心者質問スレ Part41 【C】
mevius.5ch.net/test/read.cgi/tech/1521786252/

876 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 11:11:28.31 ID:HleGE+LF.net]
邪魔ですからPythonスレに来ないでください

877 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 14:13:33.57 ID:O6whyyHQ.net]
コピペの話題だけで伸びるなあ

878 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 14:51:02.53 ID:rt22J2a+.net]
ていうか、何1つ技術論になってない。
どうでも良い話ばかりで意味が無い。

879 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:09:59.98 ID:iAHQje9y.net]
>>860
鏡を見なよ
書いてること読めないくせに、書いてないことにして逃げてる君が居るよ
日本人じゃないのかなあ?

880 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:19:23.96 ID:JneJDC0D.net]
>>864
「書いてる」って強弁するしかない低能乙
低能のパターンっていつも同じだなw

881 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:48:15.77 ID:iAHQje9y.net]
IDもたどれない低脳が何言ってんのかな?

882 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 17:36:22.73 ID:JneJDC0D.net]
>>866
IDたどればわかるって言うのも低能がよくやる手
もちろんどんだけたどっても出てこない
出てくると言うなら
> レス番示して引用
するだけでいいんだけど、やれないから色々知恵を絞って言い訳してる
まあ知恵絞っても所詮低能の知恵だからいつものパターンしか出てこないけどなw

883 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 17:45:35.62 ID:SZLGcxYz.net]
匿名掲示板にないものをあてにする
そもそも根本的なことがわかってないまま
おかしい前提でわめくやつってよくいるよね

884 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:14:57.83 ID:6GWqrPiA.net]
>>867
スレチって言葉知ってます?



885 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:15:05.22 ID:iAHQje9y.net]
>>867
はい、日本語検定終了です
無能をご自身で証明しましたね

854 :デフォルトの名無しさん :sage :2019/12/13(金) 20:55:09.79 (p)ID:azLSlpn/(6)

このIDすら辿れんの?検索って言葉も知らなかったの?
書込み6つのうち、理由書いてるの一つだけだぞ
これでも使わなくていい理由に該当する日本語文章を理解できないなら、マジモンだわ

886 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:40:30.28 ID:OXhHrwiB.net]
ガガイのガイ

887 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:51:07.34 ID:JneJDC0D.net]
>>869
知ってるならお前こそ無駄なレスするなよw

>>870
たどっても書いてないからなぁ
書いてると言うならとっとと
> レス番示して引用
しなよ
まあできないからグダグダ言うしかないんだろうけどw

888 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 19:44:35.88 ID:6GWqrPiA.net]
スレチの指摘がスレチって小学生ですか?
スレ内検索方法もスレチですよ

889 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 22:05:00.87 ID:kglnzMFx.net]
5ch初心者か?
嵐の相手する奴もまた嵐
って言葉も知らんの?

890 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 13:57:19.13 ID:OEfOSaxg.net]
ここが適切かどうか解りませんが最近のWindows10で腑に落ちないことが
32bitのアプリ内からプリンタドライバ経由でファイル生成を行ってたんですが
実体のファイルが無い(=親プロセスから見えない)のに処理が完了するようになってました
少なくともWindows7やWindows10初期では出なかった問題なのでここ最近のアップデートで
関連する何かの仕様変更があったのでしょうか?

今までは次ステップ処理で単にファイルの存在確認だけで問題無かったのですが
対策として存在確認の前に生成されていない状況を想定し、ウェイト入りで
複数回確認することで回避は出来ています

変更内容によっては他の箇所も潜在的な問題が埋まってることになるのでいっぱい見直さないと・・・

891 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 14:51:44.29 ID:0QfDHC/h.net]
ファイル生成完了するまで処理が戻ってこなかったのに、完了前に戻ってくるようになったって事?
これはむしろ昔からそのような仕様だったような

印刷枚数を厳密に管理するためにファイルに吐いてから自分で印刷をかけるシステムを
組んだことあるけど、ファイル生成完了まで待つ処理を作ってた記憶がある

ファイルが見えないだけなら権限の問題じゃないのかね

892 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 19:04:49.34 ID:OEfOSaxg.net]
>>876
ファイル生成完了前に戻ってくるようになった、という認識です
Windows2000の時に組んで今年に入るまでは問題報告を受けてませんでした

アクセス権の反映と思って(あるけど触れない)単純に1〜2秒のウェイト入れて一時的に
回避してたのですがそれでもおかしい時があるのでキッチリ見える

893 名前:謔、になるまで待つようにしました

Windows7の時にもの凄い回数の負荷テストを乗り越えてた処理なので
少なくともWindows10以降からの仕様とは思ってるですけどねぇ・・・
[]
[ここ壊れてます]

894 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 20:45:50.96 ID:0QfDHC/h.net]
>>877
Win95〜ME辺りの相当前のことなのでちゃんと覚えてなかったゴメン
ソース引っ張り出してみたけど、単にメッセージループ挟みながら
出力ファイルをaccess関数に渡して0が返ってくるの待ってるだけだった
この後自分でポートに出力してる流れ

この時のaccessが0を返すタイミングがファイル作成中なのか終了後なのかもはやよく分からないけど、
ファイル作成中なら後のポート出力で死にそうなんだよね・・
古すぎてもう動作確認無理

この辺の動きはプリンタードライバーによっても違ったような気もする
(意図した動きをEPSONはするけどCANNONはしなかったとかで、EPSONを採用したような)

いずれにせよ古すぎる話なので流し読みしてください



895 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 09:24:20.39 ID:Gy2xCCd1.net]
せっかくなのでもちょい情報共有
PrinterにFileName与えて印刷ジョブ作ってファイル保存させているのですがこのファイルが見えない
何かアンチウィルス系ソフトが引っかけてるのかと思って読み書き出来るようになるまで待つループを
入れてはみたけどそもそも見えない状態で印刷処理が終了して帰ってきてます

後工程ですがAdobeのDistillerAPIで上記のファイルからPDFに変換させてるんですが
明確にPDFファイル生成終わってから戻るってプロパティを指定しているにも関わらず
実体ファイルが見えない状態で元プロセスに戻ってくるって所です

子プロセスで生成したファイルを参照する場合、同期(処理完了待ち)してても
ちゃんと実体ファイルがある(見える)かどうか確認しろって仕様なんでしょうね

896 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:37:37.67 ID:sJgjk0Fu.net]
>>877
ファイル生成に使っている関数はなんなのかとか、
作成先はローカルHDDなのかネットワーク越しなのかその他のデバイスなのかとか

897 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:41:56.82 ID:sJgjk0Fu.net]
あプリンタドライバか
ちゃんと見てなかった

898 名前:デフォルトの名無しさん [2019/12/17(火) 10:48:38.27 ID:rApV4krM.net]
とりあえずもちつけ

\もちつきワッショイ/
  +       +
      ペタン
    +       +
/■\  ||| /■\
(´∀`) _ (´ー`)
( つ つ | |=O=O=)
`) ) )| ̄ ̄ ̄|( ( (
(_)_)|´∀`|(_(_)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

899 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 11:03:41.27 ID:KzMqUd+t.net]
極大重圧呪文
敵の足元に事象の地平面が現れる

900 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 14:46:19.28 ID:7Wrw/7IE.net]
重圧はのしかかるものなのに足元とは

901 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 17:24:25.91 ID:6LhBKKEf.net]
>>883
ダイの大冒険?

902 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 19:32:25.48 ID:KzMqUd+t.net]
うわ、誤爆ってたの?
すまん今気付いたw

903 名前:蟻人間 mailto:sage [2019/12/17(火) 22:37:32.43 ID:meZ9RH2S.net]
SysLink controls for Windows 2000+
https://github.com/katahiromz/SysLink

904 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 00:53:57.57 ID:05wxiJCk.net]
CreateProcessマスターに俺はなる!



905 名前:デフォルトの名無しさん [2019/12/20(金) 00:32:35.78 ID:RUAfqlkn.net]
質問させてください。
コマンドプロンプトが入力待ちしている時に、右クリックするとクリップボード内のテキストが貼り付けされますが、
キーやマウスの入力エミュレートを使わずに、似たことを外部プロセスから実行する方法ってありますか?
具体的には、所定の文字列をコマンドプロンプト入力待ち領域に貼り付けて使えるようにしたいです。
WriteConsoleOutput()はあくまでも文字列をコマンド窓内に描画するだけであり、これを入力文字列としては使えないという認識です。

906 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 02:39:17.63 ID:u+7Wx2e4.net]
printf? stdout?

907 名前:蟻人間 mailto:sage [2019/12/20(金) 08:40:13.73 ID:DMSRAkHW.net]
シェル自作がお望みかな?

908 名前:889 [2019/12/20(金) 08:54:20.93 ID:RUAfqlkn.net]
>>891
コマンドプロンプト版のhistoryにあたる doskey /h だけでは不満でdoskey /h の結果を使って、
プロンプト上で選んだ履歴文字列をプロンプトに出力して使えるようにし、
TABコマンドやF7, F8押下コマンド みたいな挙動が実現できればと思っています。

909 名前:889 mailto:sage [2019/12/20(金) 08:58:30.35 ID:RUAfqlkn.net]
F7押下で履歴リスト選択がCUIとして表示されますが、これを別プロセスで実現し、リスト選択した結果を呼び出し元プロセスのコマンドプロンプトに渡せればな、と。

910 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 09:17:52.02 ID:u+7Wx2e4.net]
パイプでおk?

911 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 16:33:13.35 ID:P4bU09Ny.net]
ちょっと教えてください

スリープ解除後、自作アプリのウィンドウが勝手に
OSによって動かされることがあるんですが
ユーザでなくOSによってウィンドウが
移動させられたことを知る方法ってあります?

もしあれば教えてください

912 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 17:15:36.83 ID:nxgYpIXA.net]
誰に移動さられようが普通にウィンドウメッセージが飛んでくるんじゃねえの

913 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 17:20:12.25 ID:vypSjpz7.net]
スリープ前後で瞬間的に解像度が変わっているんだろう
で、解像度の変更を監視するWin32APIは知らないけど
SystemEventsクラスで監視はできるらしい
ttps://smdn.jp/programming/tips/displayresolutionchanged/

914 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 20:46:10.87 ID:5BvN72vp.net]
Windows Terminal ちょっと使ってみたんだが、良さがわからなかった。
マイクロソフト公式の「車輪の再発明」って感じ。



915 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 21:16:48.92 ID:P4bU09Ny.net]
>>896,897
DisplaySettingsChangedでちょっとテストしてみます

916 名前:895 mailto:sage [2019/12/25(水) 23:24:15.33 ID:P4bU09Ny.net]
WM_DISPLAYCHANGEで試してみました

質問には関係ありませんが、4KとFHDのデュアルモニタ構成で
スリープ復帰後にサブのFHDモニタのほうが先にアクティブになるのが原因で
個々のウィンドウが移動してしまうみたいです

22:51:29- Width=3840 Height=2160 MonitorCount=2 Left=3183 Top=921
-- Display Sleep
23:07:52- Width=1920 Height=1080 MonitorCount=1 Left=1271 Top=461
23:07:54- Width=3840 Height=2160 MonitorCount=2 Left=2542 Top=922

917 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 00:55:16.41 ID:mIZi4PgB.net]
display portで繋いでると、ディスプレイの電源offを感知して
offってないディスプレイに勝手にウィンドウを移動するのがうざくてしかたない
offったディスプレイの電源をonしたら戻すならまだ許すんだけどそれはしてくれない

この動作をどこかのレジストリとかで止められないのかな

918 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 01:22:41.29 ID:rIhsLdYp.net]
HDMIでつなげば解決

919 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 21:38:04.29 ID:W3/psl0T.net]
>>901
https://akiba-pc.watch.impress.co.jp/docs/news/news/1209822.html

920 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 22:38:01.08 ID:6ESypvgt.net]
スレチ便乗で申し訳ないけど、作業中にDPモニターがいきなり真っ暗になってスリープに突入、


921 名前:そのまんまキーを押すと復帰するけど、>>901,903のような現象にはならない
これは別件かな?
[]
[ここ壊れてます]

922 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 09:44:17.38 ID:sALG2rcq.net]
PCがスリープかモニターがスリープか?

923 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 12:49:32.62 ID:Jp3jdKct.net]
>>905
モニターがスリープです
PCが突然死したのかと思いきやキーを押すと復帰して、
ウィンドウ・アイコン類の位置は不変で復帰

スレチでスマン

924 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 09:38:30.70 ID:YUnrK54G.net]
>>901
レジストリ云々の問題じゃなく単にモニタの電源のハード不良じゃないの
人間も寒いと急死したりするし



925 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 09:39:53.71 ID:YUnrK54G.net]
あ、 DisplayPortの仕様の欠陥か
失礼失礼

926 名前:901 mailto:sage [2019/12/29(日) 02:37:17 ID:vZG3cDjt.net]
ありがとう
>903の記事読んで適当にググってみたら、結構文句が出てる件なんだな
当たり前か
で、結局一番まともな解決法は>902というね…
OSが勝手に移動するのをやめてくれるだけでいいんだけどなぁ

927 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 11:23:17.35 ID:tkVKn3Ql.net]
モニタが急死したときには移動してくれると嬉しいけどなあ
急死と休止を判別できれば良いだけなのに

928 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 11:56:44.30 ID:NDUAcuzf.net]
>offったディスプレイの電源をonしたら戻す
を行う常駐アプリは比較的簡単に作れそう。
さらに、2ndディスプレイがオフられた時、そこにあった窓は最小化する機能も上記と併せて作れそうだな。

929 名前:デフォルトの名無しさん [2020/01/13(月) 02:20:53 ID:KqHO+Fgo.net]
コマンドプロンプト上で doskey /reinstall とコマンド実行したら何が起きるのが正しいの?

930 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 03:51:15 ID:D4OVEYsz.net]
自分のマシンで起きたことが正しい

931 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 11:19:01.21 ID:R0T58PMv.net]
魔界への扉が開きました

932 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 12:05:02.42 ID:9+tQ8K1Z.net]
オーラロードが開かれた。きらめく光、オレをうつ。
conhost.exe、コアダンプ吐いても恐れはしない。飛び込めばいい。
肉を切らせてとどめを刺せば。

933 名前:デフォルトの名無しさん [2020/02/08(土) 00:55:22 ID:Qm4Y0Gmj.net]
GetLastInputInfoって管理者権限じゃないとちゃんと値が返ってこないっぽいんだけど、こんなもんなんですかね
アイドル時間知りたいだけなのに管理者って・・・

using System;
using System.Runtime.InteropServices;

public class GIT {
[DllImport("User32.dll")]
private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
internal struct LASTINPUTINFO {
public uint cbSize;
public uint dwTime;
}
public static uint GetIdleTime() {
LASTINPUTINFO lastInPut = new LASTINPUTINFO();
lastInPut.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(lastInPut);
GetLastInputInfo(ref lastInPut);
return (uint)Environment.TickCount - lastInPut.dwTime;
}
}

934 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 10:26:36 ID:yaVA2/v3.net]
4時間アイドル状態になってたらハッカーも侵入しやすそうだからな
知りたい情報の一つだろう



935 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 11:37:22 ID:1udHLgDG.net]
EnableWindow(hwnd, FALSE);
この状態でhwndのウィンドウがクリックされた事を知るにはどうすればいいですか?
モーダルダイアログを表示してる間はそれ以外のウィンドウを無効にしてるんですが(MessageBoxで言う所のTASKMODAL)
hwndがクリックされたら有効になってるモーダルダイアログをアクティブにしたいんです

936 名前:デフォルトの名無しさん [2020/02/08(土) 11:51:40 ID:v1IBJgnW.net]
管理者じゃなくても実行出来てるみたいだが

937 名前:デフォルトの名無しさん [2020/02/08(土) 11:52:14 ID:v1IBJgnW.net]
ああ実行できるだけで値が可笑しいのか

938 名前:デフォルトの名無しさん [2020/02/08(土) 12:05:40 ID:v1IBJgnW.net]
>>918
hwndをモーダルなウィンドウのparentにしておけば良いんじゃね

939 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 16:25:55 ID:1udHLgDG.net]
>>921
ありがとうございます
それだと親の時だけFlashWindowとMessageBeepの動作になるんですよね

セオリーかはわかりませんがこれで目的の動作になりました

// クリックされた側のプロシージャ内
case WM_SETCURSOR:
 if(HIWORD(lParam) == WM_LBUTTONDOWN)
  if(LOWORD(lParam) == (WORD)HTERROR)
   // hwndがクリックされた時の動作

940 名前:デフォルトの名無しさん [2020/02/09(日) 21:47:59.30 ID:VD5bohdG.net]
GetGlyphOutline などで文字画像を取り出そうとすると、フォントが持ってない文字は代わりの文字を出力してくる。
(例えば、昔の毛筆フォントでは「(はしご高)」などはMSゴシックになる。)
これを抑制したいので、そのフォントがグリフデータを持っているかどうか、調べる方法はありますでしょうか?
すれ違いと言われてここを紹介されました。

941 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 22:40:23.79 ID:iEENywsd.net]
フォントフォールバックやらフォントリンク無視したいならUniscribeのAPI使えばいけるかもな

942 名前:デフォルトの名無しさん [2020/02/10(月) 16:17:30 ID:TGcYvj29.net]
FreeFont とかの DLL 使っても良いと思うし
グリフがあるかどうか確認したいだけなら
ファイルを直接操作してインデックスがあるかどうかだけ観ても良い

943 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 01:46:21.54 ID:N6oHYtf1.net]
923ですが、GetGlyphIndices で自己解決しました。ありがとうございました。

944 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 11:42:16.91 ID:KtXysiBK.net]
FreeFont じゃない FreeType



945 名前:デフォルトの名無しさん [2020/02/14(金) 04:06:03 ID:+zlzzx/H.net]
CreateWindowをした時に、強制的にウィンドウが開かれてしまうのですが、
これを最初は非表示にすることってできないでしょうか?

946 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 04:53:29.98 ID:0uq7uYLU.net]
WS_VISIBLEを抜く

947 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 08:32:06.27 ID:L0qSgtfV.net]
トップレベルウィンドウの事ならShowWindow SW_HIDEにする

948 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 14:52:03 ID:1V6axvhx.net]
>>928
WS_EX_LAYEREDにしておくと初期状態で透明度100%じゃなかったっけ
あるいはcx,cyを1,1にしといて、あとでSetWindowPosとか

949 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 17:55:12.05 ID:I6SUroxS.net]
(1レス目で答え出てるんちゃうか・・・)

950 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 19:42:58 ID:1V6axvhx.net]
即表示にしてないはずなのに一瞬出るって問題ちょくちょく出るかんな

951 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 03:03:52.13 ID:6/Lp/FUD.net]
理由は忘れたし検証する気はないが、普段非表示で必要時のみウィンドウを表示する
アプリを作ったときは CreateWindowEx を使ってウィンドウサイズ0でやってた

952 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 05:39:02.31 ID:ceUVsII7.net]
初回のShowWindowではSW_xxxは無視される

953 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 09:27:01 ID:w0AGl45A.net]
>>935
SW_HIDE試したけど無視されずに非表示になったよ

954 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 16:03:34.65 ID:0hgUDlXi.net]
ウィンドウの種類による



955 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 18:47:38.00 ID:ceUVsII7.net]
STARTUPINO si;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWMAXIMIZED;
で、こっちが優先される
SW_SHOWNORMALだとアプリケーションの設定に従うようだ

956 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 00:51:56 ID:I6oNTTaj.net]
START /MIN "" "C:\Windows\Notepad.exe"

957 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 12:55:56 ID:gSBwNpi/.net]
reg export HKCU\Software\...
でレジストリの内容をエクスポートできますが、
このコマンドと同じことをAPIを使って行うことはできますか?

958 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 13:53:35 ID:9Kd/PSPa.net]
このあたりを使えばできるんじゃね、知らんけど
https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-functions

959 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 09:52:47.18 ID:Hq3bKq4G.net]
>>941
やっぱり自前で一から組み立てて真似しないといけないんですかね。
常駐ソフトの終了時にreg exportをCreateProcessで実行したいんですが、
WM_ENDSESSIONの中ではCreateProcessは失敗するようなんです。

960 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 10:04:04.72 ID:1Gze6tYX.net]
WM_DESTROYでやれば

961 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 10:28:13.32 ID:Hq3bKq4G.net]
>>943
起動されたままWindowsを終了したときは、WM_DESTROYは来ないようです。
WM_QUERYENDSESSIONやWM_ENDSESSIONしか来てませんでした。

962 名前:デフォルトの名無しさん [2020/02/25(火) 13:23:26.90 ID:FzVRg2bh.net]
WM_CLOSE とか WM_DESTROY とか自分で呼べば

963 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 16:32:29 ID:Hq3bKq4G.net]
>>945
WM_QUERYENDSESSIONやWM_ENDSESSIONの中でウィンドウを破棄しても、
そこからCreateProcessは呼べないようです

964 名前:デフォルトの名無しさん [2020/02/25(火) 18:18:41 ID:FzVRg2bh.net]
CreateProcessを呼んでからCloseするんやろ



965 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 18:21:12 ID:1Gze6tYX.net]
WM_DESTROYとか来ないね
まあ聞いてる間に自分で組んでたらとっくに終わってる感
キーを読みながらぐるぐるループ回して吐くだけでしょ?

966 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 18:46:36 ID:yWXkUq9v.net]
WM_ENDSESSIONから戻った後はたとえイベント発火したとしてもkillされる可能あるし

967 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 21:59:24.69 ID:B0KlsSQW.net]
>>946
別スレッドでWM_ENDSESSION来たらやってみるのは?
あとShellExecuteはダメなん?

968 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 03:04:08.38 ID:KxcyAhRx.net]
typedef struct
{
WORD idReserved;
WORD idType;
WORD idCount;
} ICONDIR;
#pragma pack( push )
#pragma pack( 2 )
typedef struct
{
BYTE bWidth;
BYTE bHeight;
BYTE bColorCount;
BYTE bReserved;
WORD wPlanes;
WORD wBitCount;
DWORD dwBytesInRes;
WORD nID;
} GRPICONDIRENTRY;
#pragma pack( pop )

で、ICONDIR の後ろに GRPICONDIRENTRY を個数分だけ並べて ico ファイルから引っ張ってきたデータをそれに突っ込んでUpdateResource()してる。
もちろん対応するRT_ICONにイメージは追加してある。
実行時にエラーも出ないし、ResourceHackerなどで見ても、ちゃんと登録されているのだが、エクスプローラーの表示を特大アイコンにしても48x48の中央寄せ表示になってしまうんだ。
マルチプルアイコンを、::UpdateResource()で登録するとき、なにかシングルアイコンと比べて注意することがあるなら教えてください。
参考URLでもOKです(探してみたけれどシングルアイコンのものしか見つからなかった)

969 名前:デフォルトの名無しさん [2020/02/26(水) 11:15:27.85 ID:wiEfavJ1.net]
https://docs.microsoft.com/en-us/windows/win32/menurc/about-icons

970 名前:デフォルトの名無しさん [2020/02/26(水) 11:17:27.14 ID:wiEfavJ1.net]
https://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c12873/Hacking-Icon-Resources.htm
forums.codeguru.com/showthread.php?200836-Using-UpdateResource()-to-change-the-icon-of-an-EXE-file

971 名前:デフォルトの名無しさん [2020/02/26(水) 19:34:00 ID:dDQscU5G.net]
https://jyn.jp/iconfile_how_to_create/

972 名前:デフォルトの名無しさん [2020/02/28(金) 18:42:51 ID:HAMXUqwp.net]
https://www.setsuki.com/hsp/ext/ico.htm

973 名前:デフォルトの名無しさん [2020/02/28(金) 18:45:16 ID:HAMXUqwp.net]
https://stackoverflow.com/questions/9811076/how-to-add-an-icon-to-an-existing-exe-file-without-an-icon-by-default

974 名前:デフォルトの名無しさん mailto:sage [2020/03/05(Thu) 00:47:31 ID:HyVcGvBE.net]
WM_WINDOWPOSCHANGING
というメッセージは、lParamにWINDOWPOS構造体のアドレスが渡されてきて、
その中のflagsメンバなどを修正するとZ-Orderの変化を阻止したり出来ます。
それは実験的に確認しました。質問は、この仕組みのことなのですが、
GetMessage()でこのメッセージを受けた後、DispatchMessage()経由で WindorProc()
に来ることが前提なのかと言うことです。逆に、
GetMessage()でこのメッセージを受けた後、DispatchMessage()を経由せずに、独自に
WindowProc()を呼び出した場合は、WINDOWPOSの中を変えたとしてもWindows Systemは
感知しないのではないかと思うのです。
今までメッセージループ内で定型として漠然と DispatchMessage() を使ってきたのですが、
こんな不思議な仕組みだったのでしょうか。



975 名前:デフォルトの名無しさん mailto:sage [2020/03/05(木) 01:09:07.09 ID:HyVcGvBE.net]
>>957
すみません。これは、Postではなく、Sendで送られてくるメッセージのようです。
だから、メッセージループや GetMessage 関数は無関係なんですね、恐らく。

976 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 15:08:53.14 ID:nGQiIF3A.net]
PeekMessage()のPM_QS_SENDMESSAGEの働きが分かりません。MSDNによれば:
「Process all sent messages.」
「During this call, the system delivers pending messages that were sent to windows owned by the calling thread using the SendMessage, SendMessageCallback, SendMessageTimeout, or SendNotifyMessage function. 」
となっていますが、SendMessage()でpending messagesされているメッセージとはいかなるものなんでしょうか。
この説明だとSendMessage()されたメッセージの内、pending状態にあるものは、PM_QS_SENDMESSAGEを指定したPostMessage()によって取得できることになってしまいますが、どういうことなのか分かりません。






[ 続きを読む ] / [ 携帯版 ]

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

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