16/07/21 20:17:01.59 UZ6ROzEF.net
>>702
GetAsyncKeyState
725:デフォルトの名無しさん
16/07/21 20:42:52.77 zIfC/0DQ.net
>>703
>>704
>>705
ありがとうございます。不慣れなもので、
WM_KEYDOWN とかは理解できていないのですが、
GetAsyncKeyState という手がありましたね。
EN_MSGFILTER にこだわりすぎていたようです。
ありがとうございました。
726:701
16/07/23 00:50:48.55 CpwLUyh1.net
連続で聞いてばかりで申し訳ないのですが、
hspでプログラムしています。
タスクバー(リバーコントロール)の中にある
言語バーのハンドルを取りたいのですが、
lpClassName = "Shell_TrayWnd"
hTSKB = FindWindow ( lpClassName, 0 )
lpClassName = "ReBarWindow32"
hREBR = FindWindowEx ( hTSKB, NULL, lpClassName, NULL )
lpClassName = "CiceroUIWndFrame"
hIME = FindWindowEx ( hREBR, NULL, lpClassName, NULL )
と記述しているところ、最後の hIME だけゼロになります。
クラス名は間違いないはずなのですが、
何かアドバイスを頂けないでしょうか?
よろしくお願いします。
727:701
16/07/23 01:01:49.74 CpwLUyh1.net
書き忘れていました。
ちなみにOSはWindows7です。
728:デフォルトの名無しさん
16/07/23 11:33:28.94 6lYjBmg5.net
>>707
言語バーは特殊な取り方しないと取れなかったはず
言語バーとハンドルでググれば出てくると思う
729:デフォルトの名無しさん
16/07/23 11:55:38.92 +Jc7SqHC.net
cn = 'CiceroUIWndFrame'
wn = 'TF_FloatingLangBar_WndTitle'
ctypes.windll.user32.FindWindowExA(0, 0, cn, 0)
ctypes.windll.user32.FindWindowExA(0, 0, cn, wn)
ctypes.windll.user32.FindWindowExA(0, 0, 0, wn)
ctypes.windll.user32.FindWindowA(cn, 0)
ctypes.windll.user32.FindWindowA(cn, wn)
ctypes.windll.user32.FindWindowA(0, wn)
どれでも取れるな
730:706
16/07/23 14:35:08.46 CpwLUyh1.net
取れない・・・。
でもありがとうございました。
731:デフォルトの名無しさん
16/07/23 14:37:37.61 6lYjBmg5.net
TF_FloatingLangBar_WndTitle はタスクバーの中にいるときは消える
732:デフォルトの名無しさん
16/07/23 14:40:17.78 6lYjBmg5.net
URLリンク(msdn.microsoft.com)
733:デフォルトの名無しさん
16/07/24 11:42:42.44 gb9BDOha.net
一方ロシアは、鉛筆を使った
734:デフォルトの名無しさん
16/07/24 12:09:19.84 wdZTIji9.net
>>711
割とマジでレスすると
FindWindowExW な関数に char * 渡してたり
FindWindowExA な関数に wchar_t * 渡してたり
すると取れない
実際に char * か wchar_t * かじゃなくて中身の文字列が
735:710
16/07/25 23:42:36.18 1XHx40P1.net
>>715
ありがとうございました。
ご助言の通りでした。お恥ずかしい。
初心者ですみませんでした。
736:デフォルトの名無しさん
16/07/26 11:41:35.07 As2nHGxN.net
>>707
このコードでどうやって >>715-716 みたいな状況が生まれたのか気になるところである
737:デフォルトの名無しさん
16/07/26 12:55:37.89 88gPJO4Y.net
>>717
× lpClassName = "Shell_TrayWnd"
○ lpClassName = L"Shell_TrayWnd"
って事じゃないの
FindWindowEx使うならTCHARだろとは思うが
738:デフォルトの名無しさん
16/07/26 15:24:12.33 As2nHGxN.net
>>718
>最後の hIME だけゼロになります。
ってことだから上の2つはなんで成功してるんだろ
739:デフォルトの名無しさん
16/07/26 16:01:28.49 88gPJO4Y.net
>>719
最小構成にしたのが>>707で実際のコードとは違うんじゃ?
740:デフォルトの名無しさん
16/07/26 16:22:18.83 As2nHGxN.net
ひとに物尋ねておいて再現しないコード貼るなってことだ罠
741:デフォルトの名無しさん
16/07/26 16:29:34.64 88gPJO4Y.net
そういう意味か
そうだな
742:デフォルトの名無しさん
16/07/26 16:40:25.26 SrQVLHqo.net
自演が強く疑われますね
743:デフォルトの名無しさん
16/07/27 04:24:40.28 AcRDCNCg.net
以下でつまっています。教えてください。
2つウインドウ作っておいて、
2つ目のウインドウの子ウインドウとしてリストボックスを作りました。
この2つ目のウインドウのリストボックスのどれが選択されているかによって、一つ目のウインドウの左クリックの動作を変えたいので、
リストのインデックスを得るために、1つ目のウインドウのプロシージャの case WM_LBUTTONDOWN: の所に、
index=SendMessage(hWnd3,LB_GETCURSEL,NULL,NULL);
~
と書きましたが、リスト内の何を選択しても、indexになぜか値が入りません。
(たぶん初期値の0のまま?)
hWnd3は2つ目のウインドウ内にあるリルトボックスのハンドルです。
コンパイルエラーは無いです。
何かやり方が間違っているのでしょうか?
それっぽいワードでググってもよくわかりませんでした。
お願いします。
744:デフォルトの名無しさん
16/07/27 06:59:54.52 uZQmv6/V.net
>>724
sendmessageでいいのか?
745:デフォルトの名無しさん
16/07/27 07:09:55.44 8bp4Q/I5.net
>>724
hWnd3 はリストボックスを指しているかな?
親なら、GetDlgItem で取得するべし
746:723
16/07/27 09:02:22.97 AcRDCNCg.net
勘違いに気づきました!
本当にごめんなさい・・・
LB_GETCURSEL と CB_GETCURSEL を勘違いしていました。
自分が作っていたのはリストではなくコンボボックスでした。
お騒がせしました。
>>725
sendmessageは合ってました。
>>726
そんな方法もあるんですね。
それでやってもたしかに動きました。
勉強になりました。
747:デフォルトの名無しさん
16/07/27 15:00:16.07 nl1cCFz0.net
>自分が作っていたのはリストではなくコンボボックスでした。
病院池
748:デフォルトの名無しさん
16/07/28 06:23:06.44 17Ger5zU.net
>>706
WM_KEYDOWN の処理とかで使うなら Async無しの GetKeyState の方が玄人感が出ていいぞ。
違いは今のキーボードの状態を返すか(Asyncあり)、イベントメッセージが生成された時の状態を返すか(Async無し)。
ソースはms
An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated.
749:デフォルトの名無しさん
16/07/28 19:08:46.10 O8Vfrh0P.net
相対論的手法での時間差の検出ですねわかります
750:デフォルトの名無しさん
16/07/28 20:36:50.94 svsTqv0A.net
Ctrl+マウスボタンとかの同時押しが妙に反応悪くて
心持ちグッとしっかり押さないと誤爆する
こういうアプリはたいていGetKsyState使うべきところでAsync使ってる
751:デフォルトの名無しさん
16/07/30 06:12:19.39 OSfj7rnr.net
質問ですが、
Win32 APIがスレッドセーフかそうでないかって何見ればわかりますか
例えば、同一のPTP_TIMERオブジェクトに対して
複数スレッドからSetThreadpoolTimer()を呼ぶのは安全なのか
どうなのか、とか
(PTP_TIMERオブジェクトをスレッドごとに持たせれば気にしなくて良い問題でつが
752:デフォルトの名無しさん
16/07/30 08:35:21.11 /DtHQMWG.net
同一の資源を別スレッドからアクセスして大丈夫なんてケースあるの?
753:デフォルトの名無しさん
16/07/30 08:52:51.28 9HEOOrL7.net
そのAPIのリファレンスに特別に書かれているもの以外は
基本全部スレッドセーフじゃなかったかな
754:デフォルトの名無しさん
16/07/30 09:14:23.59 RbMYjVy2.net
>>732
スレッドセーフと言う用語を誤解してると思うが、Win32 APIは全部スレッドセーフ
但し、CreateWindowしたスレッドでなければGetMessage出来ない、と言ったように制限のあるリソースもある
755:デフォルトの名無しさん
16/07/30 09:21:37.15 M4L+hnKH.net
>>733
例えば CRITICAL_SECTION は大丈夫でないと意味ないだろ
756:デフォルトの名無しさん
16/07/30 19:35:42.57 qgpylzNJ.net
>>735
どえらい勘違い野郎だなwww
757:デフォルトの名無しさん
16/07/30 19:41:09.46 +Mfyjjwe.net
どの変が勘違いか指摘できないと無意味
758:デフォルトの名無しさん
16/08/01 07:11:12.23 ZUhN/k0j.net
あれに分かるように指摘するのは壮大すぎて難しいし、他の人は分かってるから指摘する必要がない
759:デフォルトの名無しさん
16/08/01 07:54:22.07 bxVY0FqG.net
2日間必死で検索したけど、見つからなかったんだね。
760:デフォルトの名無しさん
16/08/01 08:09:40.24 ZUhN/k0j.net
いや俺は他人だが
comっぽい実装を持つapiは自前でCoMarshalなんちゃらかんちゃしてあげるか、
排他して用いる�
761:謔、に気をつけるかしないとならないじゃん。shell関連とかね。
762:デフォルトの名無しさん
16/08/01 08:19:17.96 rR9gK78k.net
他人ならそんな必死になることも無い
むしろ他人に説明できて初めて理解できていると言える
763:デフォルトの名無しさん
16/08/01 08:40:04.34 uRXdR+1Y.net
>>741
API がスレッドセーフかどうかと
その API が使うリソースを排他制御しないといけないかどうかは別の話
764:デフォルトの名無しさん
16/08/01 09:05:44.58 ZUhN/k0j.net
リソースの話ではない。
メソッド呼び出しを同期化するための手段。
>>742
必死になってるわけではなくて「Win32は全てスレッドセーフ」はあまりにも乱暴だからついて。
765:デフォルトの名無しさん
16/08/01 12:55:43.69 +SXwg/r8.net
>>744
>>741 はどう見てもリソースの話だが?
> 「Win32は全てスレッドセーフ」はあまりにも乱暴だから
ならスレッドセーフでない API を示せばすむ話
766:デフォルトの名無しさん
16/08/01 13:47:23.41 lahy9Ajd.net
ここなら分かる人がいると思うので質問させて頂きたいのですが、
例えば
WinApp1.exe
WinApp2.exe
の二つのWindows上のアプリがあり、WinApp1.exeのウインドウを
WinApp2.exeのウインドウに埋め込む事は可能ですか?
要するにhtmlのiframeで他のページを埋め込む感じです。
ただしソースコードがあるのはWinApp2.exeのみです。1のほうはバイナリのみ
です。
767:デフォルトの名無しさん
16/08/01 13:56:59.55 TMg9tIFo.net
・App1のウィンドウスタイルを変更し、タイトルバーなどを除去する。
・App1のウィンドウハンドルを取得し、App2上にSetWindowPosを使って張り付かせ続ける。
App1側にタイトルバーを表示したり、それを考慮したウィンドウサイズやクライアントサイズを
使って何か描画したり、ウィンドウ位置やサイズを変更するような機構がないなら、比較的すんなり実現できそうな気はする。
768:デフォルトの名無しさん
16/08/01 14:25:13.31 U+4K15gc.net
>>746
昔SetParentを使ってやったことあるけど
親になる側のソースしかない場合は???だね
>>747のようなやり方しかないかも
769:デフォルトの名無しさん
16/08/01 15:52:53.92 lahy9Ajd.net
>>761>>762
ありがとうございました。
とても参考になりました。
やはりWin32スレの人はレベルが高いですね。
またよろしくお願いします。
770:デフォルトの名無しさん
16/08/01 16:30:19.20 JXVULl1x.net
クライアントのHDC取得して
そっから逐次BMPまるごと転送してくればいい
771:デフォルトの名無しさん
16/08/01 16:34:37.67 3q+qs35i.net
マルウェアか? マルウェアだな?
772:デフォルトの名無しさん
16/08/01 18:28:24.75 rR9gK78k.net
>>750
それはApp1のコントロールアクセスを工夫しないとな
773:デフォルトの名無しさん
16/08/01 18:52:10.28 JXVULl1x.net
位置だけシフトしたマウスメッセージ送るだけじゃだめなん?
どうせ >>747 でもキーボードショートカットとかダメそうやし
774:デフォルトの名無しさん
16/08/01 21:29:20.71 YSAWLf5L.net
ウインドウをまとめてタブ化するアプリがこんなことしてた気がする
775:デフォルトの名無しさん
16/08/01 22:00:15.22 3lZxdv2C.net
>>745
素直に教えてくださいって言えよw
776:デフォルトの名無しさん
16/08/01 22:27:18.04 G87zOVs3.net
>>755
言えないなら無理しなくていいぞ w
777:デフォルトの名無しさん
16/08/02 00:17:55.32 JwW5OeU6.net
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
dbghelpとかだな
778:デフォルトの名無しさん
16/08/02 07:23:52.61 FJZ4hdRz.net
>>757
なるほど、あるもんなんだな
779:デフォルトの名無しさん
16/08/02 08:49:44.46 qrxCcvlk.net
>>741
それは自分のコードが作成し管理してるオブジェクトを、作成スレッド以外に触らせるためのAPI
理解せずにおまじないのごとく使ってたんだろうな
あわれな底辺
780:uy ◆e6.oHu1j.o
16/08/07 09:45:06.38 PWyfS198.net
WinAPIの
781:知識量で底辺どうの言ってる奴までいるとか大丈夫かよ ロートルなもの使わざるを得ない時点で負けてんのに
782:デフォルトの名無しさん
16/08/07 10:13:14.64 bbyjljOW.net
底辺なんて表現が日常的に出てくる職場って、かわいそう
783:デフォルトの名無しさん
16/08/07 10:27:49.88 zBYc/KkC.net
数学教師激怒
784:デフォルトの名無しさん
16/08/07 13:05:30.15 sg2m+nAp.net
それを言うなら算数教諭だろうな
785:デフォルトの名無しさん
16/08/09 08:38:11.99 7b7VJDdn.net
江戸っ子激怒
786:デフォルトの名無しさん
16/08/09 14:34:00.24 n5pitoha.net
質問です
DirectXとかOpenGLとかのライブラリって
いちいちステートマシンの状態セットみたいなのがずらずら並ぶんですが
ハードウェアにレジスタセットするみたいなドライバばかりなんですか?
787:デフォルトの名無しさん
16/08/09 19:58:47.64 GFJow9Sf.net
一昔前に流行った
オブジェクト指向というやつです
788:デフォルトの名無しさん
16/08/10 19:36:30.32 IsHQZY3F.net
GPU にプログラム的な指示して後はお任せ という方向にばかり進化してるから
789:デフォルトの名無しさん
16/08/11 11:56:33.25 v2n9djjr.net
object指向じゃなくてvertex指向だな
790:デフォルトの名無しさん
16/08/14 03:26:23.22 MmvWSAs3.net
>>766
今時のナウなヤングはどんな感じなの?
791:デフォルトの名無しさん
16/08/14 17:49:29.23 j6bpKiBS.net
VRAMに直接書き込み
792:デフォルトの名無しさん
16/08/15 22:57:42.57 wycrF0RU.net
win8.1/win10で動作するもので、管理者権限で実行を必要とするものを
(Windowsのサービスを停止、再開)を作りたいのですが、うまく動きません。
sc.exeとnet.exeを呼び出して、
SellExecuteExでコマンドを送っているのですが、うごく動いていません。
環境はvs2015です。ビルドオプションかなにかが必要でしょうか?
SHELLEXECUTEINFO info;
memset(&info, 0, sizeof(info));
info.cbSize = sizeof(info);
info.lpVerb = L"open";info.lpFile = L"net.exe";
info.lpParameters = L"stop 停止させたいサービス名";
info.nShow = SW_SHOWNORMAL;
info.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(&info);
WaitForSingleObject(info.hProcess, INFINITE);
info.lpFile = L"sc.exe";
info.lpParameters = L"config 停止させたいサービス名 start = disabled";
バッチファイル形式で管理者権限を設定して実行すればうまく動くのですが、
呼び出すAPIが間違っているのでしょうか?
こっちだとうまく動きます。
停止.bat
net stop サービス名
sc config サービス名 start= disabled
ご教授お願いします。
793:デフォルトの名無しさん
16/08/15 23:01:49.24 iamh6a7h.net
info.lpVerb = L゙runas゙ ;
794:デフォルトの名無しさん
16/08/15 23:16:47.36 wycrF0RU.net
>>772
回答ありがとうございます。
ビルドして試しましたが、実機では、サービスが停止していないようでした。
コンソール画面では停止したとは出ていました。
外部呼出しでうまくいけばよかったのですが、これからOpenSCManagerあたり調べてみます。
UAC周りで悪さしているのかなぁ。
795:デフォルトの名無しさん
16/08/16 00:48:14.20 Zc5ax7h8.net
ShellExecuteExでファイルのプロパティダイアログを出すのですが
今どきの広いモニタですと、呼び出したウインドウの上に重なるような位置に表示してくれないと面倒です
引数として親ウインドウのハンドルを渡しているので、
そのくらいやってくれそうな気がするのですが
SHELLEXECUTEINFOに設定できるパラメータを見渡しても、それらしいものは無いよ
796:うなので 自前でダイアログを動かそうかと考えていますが 本当にShellExecuteExの機能として、プロパティダイアログを親ウインドウの上に出すことはできないのでしょうか?
797:デフォルトの名無しさん
16/08/16 09:55:10.07 lvyZIFRY.net
Window の機能じゃなくて Shell の機能だからそういう細かいのは無い
798:デフォルトの名無しさん
16/08/16 11:24:39.96 Zc5ax7h8.net
そうですか
ありがとうございました!
799:デフォルトの名無しさん
16/08/25 13:01:13.59 HVWLzPcg.net
プロセスハンドルからプロセスIDを取得するのってどうやるん?
ハンドル得る時に使ったidを覚えておくしかない?
800:デフォルトの名無しさん
16/08/25 13:12:40.83 EwnmxDlV.net
ハンドルからIDならGetProcessIdが使えるだろ?
801:デフォルトの名無しさん
16/08/25 15:14:16.99 HVWLzPcg.net
OpenProcess関連ばっかり調べてたごめんありがとう
802:デフォルトの名無しさん
16/08/29 18:06:09.51 zb9cEIRR.net
C++初心者スレから紹介されてやってきました。
よろしくお願いします。
その再掲です。
1つのフォームウィンドウをメインフォームとし、
他のフォームはWndParentをそのメインフォームとして子フォームを作成するアプリを作っています。
いま、メインフォームを含めた全フォームをEnableWindowでDisableにし、
新しい子フォームを1つだけ表示させます。要するにモーダルなフォームです。
この状態でアプリケーションを非アクティブにします。
そして、メインフォームをクリックします。
すると、WM_ACTIVATEAPPが送られ、モーダルな子フォームがアクティブになります。
ここまではいいのですが
アプリケーションが非アクティブで、Enableでない別の子フォームをクリックしても
WM_ACTIVATEAPPや、WM_WINDOWPOSCHANGINGが送られてこず
まったくアクティブになりません。Spy++で見たところ、WM_SERCURSORしか
送られてきてませんでした。子フォームのクリックではメインフォームにも何も届きません。
どうやったらDisableされた子フォームをクリックするとアプリケーションが
アクティブになるようになるのでしょうか。
よろしくお願いします。
803:デフォルトの名無しさん
16/08/29 18:26:20.41 sMQdCbqN.net
クリックしても反応しなくなるようにするためのEnableWindowなのよモルダー
フォームそのものはクリックに反応して欲しければ、フォームにEnableWindowを
使わず、フォーム内の操作して欲しくないコントロールをEnableWindowするか
他の工夫をする必要があるわね
804:デフォルトの名無しさん
16/08/29 18:33:18.40 zb9cEIRR.net
そうですか・・・
でも、これでちゃんとアクティブにできるプログラムもあるんです。
エンバカデロのC++ BuilderやDelphiです。
やつらはサイズ0のTApplicationの見えないウィンドウを親ウィンドウとして
同様のコードでちゃんと動作します。
実はソースコードを他の人と共有する必要があって
Delphiじゃまずいかなと、VC++にまるごと移植したんです。
そのときにTApplicationだと、最小化したときにタスクバーにいれられないため
Hideする仕様になってたのがちょっといやで、
メインフォームを本当のメインフォームにするようにしたんですが、
それが原因か、それとも少し省略したせいか、細かいところで挙動が違います。
TApplicationはRestoreTopMostsとかいう関数で常にトップにあったから
そのへんかなと思うのですが・・・・
まあ仕方ないのかなぁ。
805:デフォルトの名無しさん
16/08/29 19:30:24.87 NKz4PvZo.net
>それが原因か、それとも少し省略したせいか、細かいところで挙動が違います。
そりゃかわるわな
806:デフォルトの名無しさん
16/08/29 19:40:13.25 553LWAbc.net
>>782
それは同様のコードでちゃんと動作するとは言わんだろ
VC++でもダミーウインドウを作成するか
EnableWindowで無効にするのではなくて
専用のウインドウプロシージャ(特定の動作しか受け付けない)を作ってそれに切り替える仕様にするとか
807:デフォルトの名無しさん
16/08/29 20:10:51.60 zb9cEIRR.net
突っ込むのはそこ!?
そうじゃなくて、同じようにEnableWindowでDisableしても
なにかしらの方法でアクティブにできるプログラムもあるよっていいたかったんだ。
私がもっと詳しくて、TApplicationの挙動をわかってれば
不具合部分を実装しなおすんだけど、いまいち何をやってるのかわからなくて
直しようがない・・・てのが本当のところです。
なにせ、ダミーウィンドウを作ったところで、どうやったらそいつからウィンドウを
アクティブにできるかわからないので。。。
最悪、メインフォームからも(子フォームになるから)アクティブにできなくなるかもしれない。
TApplicationのWndProcを見ても、DisableされたWindowにWM_WINDOWPOSCHANGINGとWM_ACTIVATEAPPをポストしてる部分がわからない。さっぱりです。
808:デフォルトの名無しさん
16/08/29 20:11:19.06 HNdG8txv.net
WM_SERCURSORが送られて来るんなら
そのメッセージハンドルする時に
EnableWindowすればいいんでは?
マウスのボタンの状態を取得して押されている時は
クリックしたとか判断するフラグ立てて。
809:デフォルトの名無しさん
16/08/29 20:26:10.03 zb9cEIRR.net
やっぱそうだよね。WM_SETCURSORが
WM_LBUTTONDOWNとかもパラメータに持ってるみたいなんで
そこでWM_ACTIVATEAPPを現在のモーダルウィンドウに送ってやるのがいいかと思いました。動くかわからないけど。
TCustomFormのShowModalでは
WindowList := DisableTaskWindows(0);
全ウィンドウを無効化。TApplicationウィンドウを含めて。
で Show;
だから、DelphiのVCLのやり方はやっぱりわからない。
とりあえずWM_SETCURSORで、WM_LBUTTONDOWNみたいなのがきたら
自身がDisableされてたらモーダルウィンドウにポストする、でやってみます。
810:デフォルトの名無しさん
16/08/29 20:31:57.49 sMQdCbqN.net
TApplicationやTCustomFormの実装がどうなってるのか知らないけど、
EnableWindowするとそのウィンドウは操作不能になるのはWin32APIの仕様。
そこんとこUI的に不細工だから、TApplicationとかでは何らかの工夫をしてるんじゃないかしら?
811:デフォルトの名無しさん
16/08/29 20:33:41.85 zb9cEIRR.net
そうだね、きっとうまいことやってるんだと思う。
とりあえず、この方法でアクティブにならなければ、
最悪アクティブなスレッドにアタッチして無理やり入力フォーカスを奪うという
手段も用意されている(この前知った)のでこれでいきます。
812:デフォルトの名無しさん
16/08/29 22:35:39.79 zb9cEIRR.net
WM_SETCURSORで無事うまくいきました。
ありがとうございました。
813:デフォルトの名無しさん
16/08/29 22:48:55.90 zcllQv4V.net
EnableWindowしてもリターンキーやエスケープキー押すときいてしまう不思議
814:デフォルトの名無しさん
16/08/30 11:13:59.38 wDZo+k9K.net
thread の一時停止ってどうやるん?
815:片山博文MZ ◆T6xkBnTXz7B0
16/08/30 12:23:52.68 38hwA1kK.net
>>792
SuspendThread
816:デフォルトの名無しさん
16/08/30 14:53:56.50 XkAkY/BL.net
SuperHawkIII
817:デフォルトの名無しさん
16/08/30 15:10:19.20 8eGP8u09.net
スローなブギにしてくれ
818:デフォルトの名無しさん
16/08/30 23:43:32.45 Un8GLDK5.net
遠い地平線が消えて、 ふかぶかとした夜の闇に心を休める時、
はるか雲海の上を音もなく流れ去る気流は、 たゆみない宇宙の営みを告げています。
満天の星をいただく、はてしない光の海を ゆたかに流れゆく風に心を開けば、
きらめく星座の物語も聞こえてくる、 夜の静寂の、なんと饒舌なことでしょうか。
光と影の境に消えていったはるかな地平線も 瞼に浮かんでまいります。
日本航空があなたにお送りする音楽の定期便 ジェットストリーム
皆様の夜間飛行のお供をするパイロットは私、城達也です
819:デフォルトの名無しさん
16/08/31 01:28:30.78 5rt51UxE.net
>>793
みんなー、世界初!!「体液取引所」ができたお [転載禁止]c2ch.net
スレリンク(news4viptasu板)
1 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:25:59.04 ID:VhXmVBOx0
「体液取引所」
URLリンク(katahiromz.esy.es)
試してみてね。。。ご感
820:想などよろしく。。。 3 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:28:32.37 ID:VhXmVBOx0 男汁、女汁、唾液、おしっこなどの体液を取引できるサイトが できたんだよーーー。 利用者登録すれば使える。使ってみてね。。。 13 :テューンタン ◆msxA1lIh7Ei2 @転載は禁止:2015/04/27(月) 16:43:12.16 ID:h2ozZyBy0 このスレみて昔あった体液フェチの友人がなんたらってスレ思い出した 20 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/28(火) 12:30:57.13 ID:kCLcZkq+O 体液取引所は、非技術的問題で閉鎖しました。大変申し訳ありません。
821:デフォルトの名無しさん
16/08/31 03:49:27.75 2/Bxm7SJ.net
【社会】キリン、「氷結」発売中止 原料果汁に偽装の可能性 [無断転載禁止]・2ch.net
822:デフォルトの名無しさん
16/08/31 03:55:15.79 2/Bxm7SJ.net
うーたん @xuph933v 1分
食べすぎ注意!
8/31 3:52 Re RT ☆ 詳細
823:デフォルトの名無しさん
16/08/31 04:02:01.47 2/Bxm7SJ.net
THE BEATLES LYRICS
"Please Mister Postman"
Wait, oh yes wait a minute mister postman
Wait, wait mister postman
Mister postman look and see
Is there a letter in your bag for me
I been waiting a long long time
Since I heard from that girl of mine
824:デフォルトの名無しさん
16/08/31 04:11:06.94 2/Bxm7SJ.net
┌─────────┐
│ │
│ しばらく空腹のまま お待ち下さい。 .... │
│ ノ⌒ヽ │
│ (( ( ○ ), )) │
│ (⌒⌒) ヽ__メ´ │
│ |__| _____ 彡" │
│ (^ω^)ノ━ヽ___ノ'''゙ ッパ.. │
│ ノ/ :/ │
│ ノ ̄ゝ │
│ Now Cooking ... │
└─────────┘
825:デフォルトの名無しさん
16/08/31 10:09:26.11 aGvvWmav.net
>>797
保健所からガサ入れ来たか
826:デフォルトの名無しさん
16/08/31 17:22:43.45 ZZEqTkFc.net
URLリンク(detail.chiebukuro.yahoo.co.jp)
↑このコードだとウィンドウが応答なしになってしまいます
どうすればいいでしょうか
よろしくお願いします。
827:デフォルトの名無しさん
16/08/31 18:07:41.76 JrJNK2gn.net
>>803
ループ判定に使ってるフラグにvolatileつけてみて
volatile bool ・・・ね
828:デフォルトの名無しさん
16/08/31 18:18:36.04 ZZEqTkFc.net
>>804
特に変わりないです
829:デフォルトの名無しさん
16/08/31 18:27:20.50 4tIFiDjY.net
ShowWindowじゃなくてShowWindowAsyncだとどう?
830:デフォルトの名無しさん
16/08/31 18:34:13.09 ZZEqTkFc.net
>>806
ちゃんと終了しました
ありがとうございます
831:デフォルトの名無しさん
16/09/01 06:39:35.08 NXhRk3Fv.net
if (GetAsyncKeyState(VK_ESCAPE) & 0x8000)
を削除してTerminateThreadだけにすればいい。
832:デフォルトの名無しさん
16/09/01 18:54:39.95 fjADWK/0.net
CreateWindow で SysDateTimePick32 と DTS_TIMEFORMAT を指定して時間コントロールを作成、
DTM_SETFORMAT で "hh:mm" を指定して時分のみ(秒は表示しない)スタイルで時間指定できるようにしています。
このコントロールをカーソルキーの上下や、スピンコントロールの上下の操作で分の操作をする際は
+10ずつ増減させたいのですが、どうすれば実現できるでしょうか?
833:デフォルトの名無しさん
16/09/02 22:11:24.25 U/mvZpMk.net
矢印キーを押したら+10して表示を更新するようにすればよい。
スピンコントロールも同様。
834:808
16/09/03 19:09:55.84 EfpbXZif.net
>>810
できましあ。
感謝
835:デフォルトの名無しさん
16/09/05 11:33:40.30 mpmtDfhF.net
私ならこうする、という話で詳しい手順は省きますが、
問題の調査をするならこんな感じでしょう。
Windows Sysinternals から Process Monitor を入手します
URLリンク(technet.microsoft.com)
Process Monitor を起動し、Boot Logging を有効にします
Windows を再起動し、問題のメッセージが出るのを確認します
Process Monitor を起動し、ログを保存します
保存したログを Process Monitor で開き、
%userprofile%\AppData\Local\Microsoft\Windows\Burn
以下にどのようなファイル アクセスが行われているのか調べます
Process Monitor についての詳細は、Windows Sysinternals のサイトや
「Windows Sysinternals 徹底解説」
URLリンク(ec.nikkeibp.co.jp)
をご覧ください。
836:デフォルトの名無しさん
16/09/06 20:34:00.68 4l7E9vnw.net
FreeResourceやUnLockResource見たら必要無いって出てくるけど
リソース読み込んだらプロセスが終了するまで占領し続けたりしないん?
837:デフォルトの名無しさん
16/09/07 14:56:31.98 8SeVjemL.net
そうだけどそのリソースはexeファイル内の特定の部分指してるだけだからなあ
838:デフォルトの名無しさん
16/09/07 15:03:50.90 YSZpbVen.net
Lockって名前付いててもロックしてる訳じゃなくてマウントしてるだけみたいな
839:デフォルトの名無しさん
16/09/07 15:03:53.47 zaGYBHu2.net
Win16の頃はメモリを有効活用するためにリソースは移動可能としていた
固定するのがLockResource、使い終わったらアンロックする事でメモリを有効に使える
840:デフォルトの名無しさん
16/09/10 13:11:49.37 Jm2YrF8N.net
20年以上前の古い制約の残骸やで
841:デフォルトの名無しさん
16/09/10 13:20:40.85 TxiqjBPh.net
今WIN16で動いているアプリってあるんですか?
842:デフォルトの名無しさん
16/09/10 13:42:10.96 3gGPay5O.net
windows7以降もしくは、windows8.1以降をターゲットとしたフォントをきれいに見せる方法って
GetGlyphOutlineで自前描画と、DirectWrite使うのどっちが良いでしょうか?
CreateCustomRenderingParamsで、
DWRITE_RENDERING_MODE_DEFAULTとDWRITE_RENDERING_MODE_OUTLINEを試しましたが、
ちょっとボケた感じで、アンチエイリアスのかけすぎな気がする。
DWRITE_RENDERING_MODE_CLEARTYPE_NATURALはちょっと線がいまいち。
CreateCustomRenderingParamsの第三パラメーターのFLOAT clearTypeLevel って数値何を入れればいいんでしょうか?
0-1.0fの範囲? 変化がよくわかりません。
どなたかご存知の方いましたら教えてください。
msdn.microsoft.com/ja-jp/library/windows/desktop/dd368190(v=vs.85).aspxを見ても大雑把な説明でさっぱりです;;
843:デフォルトの名無しさん
16/09/10 13:48:41.54 QUVRyXDh.net
>>818
MonaOS
844:デフォルトの名無しさん
16/09/10 13:49:11.68 QUVRyXDh.net
>>819
FreeType2
845:818
16/09/11 00:52:31.20 80N4ZclY.net
>>821
ありがとです。GPLなどの縛りがないなら検討してみます。
846:デフォルトの名無しさん
16/09/11 15:50:50.25 +/tFZym3.net
すいません。
アプリケーションが落ちたことを知るメッセージか何かあったと思うのですが
教えていただけないでしょうか。
847:デフォルトの名無しさん
16/09/11 16:09:52.36 zF4qt1T7.net
>>823
プロセスバンドル持ってるなら WaitForSingleObject でいいかと
URLリンク(msdn.microsoft.com)
848:429427.aspx
849:デフォルトの名無しさん
16/09/11 18:45:58.69 +/tFZym3.net
>>824
なるほど。
ちょっと調べてみます。
ありがとです。
850:デフォルトの名無しさん
16/09/12 13:43:51.12 uadDl1bC.net
atexit() は呼ばれないのかな
851:デフォルトの名無しさん
16/09/12 23:11:45.62 01Pz4EoL.net
>>826
いきなり落ちるような状況だと呼ばれないでしょ
852:デフォルトの名無しさん
16/09/12 23:26:49.38 Gdi/DDue.net
そんなものはバンドルされてないよ
853:デフォルトの名無しさん
16/09/13 21:38:12.97 zadSVrtv.net
Windows10上でVisual Studio 2015でWin32アプリを作っているんだけど、
SetWindowRgn()を呼ぶと、タイトルバーや最大最小化ボタンなんかの
ウインドウの外見がWindowsXPみたいになるんだけど、これって仕様?
SetWindowRgn()をコメントアウトすると、他のアプリと同様にフラット
なビジュアルになるんだけど、なぜそうなるのかが良くわからない。
解決方法とかあるのかな?
854:デフォルトの名無しさん
16/09/13 21:44:09.67 zadSVrtv.net
XPじゃなくて、Windows95だった。訂正します。
855:デフォルトの名無しさん
16/09/13 22:11:22.82 ATVfKx2c.net
Windows2000だろ
856:デフォルトの名無しさん
16/09/14 08:45:47.11 7JW5y0cu.net
2000といえばそうかな。どうもこれはGDIとDWMが絡む問題っぽい。
リージョンを設定すると、内部的にGDIに強制されてしまうようだ。
それに伴って、ビジュアルも変わるみたい。解決策はなさそう
なので、透明色とかで対応するか・・・。
857:デフォルトの名無しさん
16/09/14 09:10:14.24 XNSEb5OG.net
リージョンなんか忘れろ。
2000以降はlayered windowを使う。
858:デフォルトの名無しさん
16/09/14 10:25:53.22 hCerG0dU.net
8.x以降はDirect Compositionやね
859:デフォルトの名無しさん
16/09/14 14:22:37.20 iWIT7eZb.net
>>829
visualstyleなんたらとか言う属性を
設定するんじゃあないか?
860:デフォルトの名無しさん
16/09/14 18:34:58.98 XNPp97JV.net
manife
861:デフォルトの名無しさん
16/09/16 03:00:17.08 lT9MgRBJ.net
今日も雑魚しかいねーな
862:デフォルトの名無しさん
16/09/17 14:46:30.83 maY60Dp3.net
クラシックスタイル対策
#pragma comment(linker,"/manifestdependency:\"type='win32' \
name='Microsoft.Windows.Common-Controls' \
version='6.0.0.0' \
processorArchitecture='x86' \
publicKeyToken='6595b64144ccf1df' \
language='*'\"")
863:デフォルトの名無しさん
16/09/17 15:12:59.91 UZZ3Nfx8.net
#defineでも使ってprocessorArchitectureを変えたら対応できるな
x86 = 32BitのX86系CPU
ia64 = Intel64BitのIA64系CPU
amd64 = AMD64BitのX64系CPU
* = その他のCPU
864:デフォルトの名無しさん
16/09/17 22:23:10.28 dDTyJFeK.net
>>837
その日の書き込みはあなただけなのでそういうことです
865:デフォルトの名無しさん
16/09/18 20:23:43.58 epT5qit0.net
RichEditコントロールにユニコード文字を含んだ文字列をEM_SETTEXTEXで追加したら文字のフォントが変わってしまう
EM_STREAMINでも同じ現象が起こる
これってどうやったらフォントがRichEditに設定したフォント(等幅フォント)のまま追加できる?
追加した文字列(仮にTest ? Test)だけフォントが変わる ?はハートとかね
追加後にフォントを再設定してもハートだけ文字幅が他とは違
866:うし UNDOにフォント設定も含まれるから今度はそれを防ぐ方法が無くて詰んでる ここの人ならどうやって解決する? ちなみにRichEdit内で「Test ? Test」を入力してそれをコピペ(WM_COPY WM_PASTE)した時の動作が理想
867:デフォルトの名無しさん
16/09/18 23:37:11.23 1b9LKm5P.net
>>841
馬鹿には無理
868:デフォルトの名無しさん
16/09/19 00:31:56.15 pgxpd79F.net
コピペシミュ
869:デフォルトの名無しさん
16/09/19 00:35:10.37 pgxpd79F.net
入力しみゅ
870:デフォルトの名無しさん
16/09/19 08:45:50.92 nr8fG4n4.net
>>843-844
そういうのしかないんかな
ありがとう
871:デフォルトの名無しさん
16/09/19 11:14:17.03 d/dsjAXw.net
>>841
俺も少し困ってるけど長らく放置してる 多分同じ現象だろう
EM_SETLANGOPTIONS と IMF_DUALFONT を使って直せるらしいんだが
俺のは上手く行かなかった
872:デフォルトの名無しさん
16/09/19 11:17:24.74 d/dsjAXw.net
いや違うのか
最初からその文字を持ってるフォントを選んでおけばそれで済むんじゃないの?
873:デフォルトの名無しさん
16/09/19 11:59:01.12 nr8fG4n4.net
>>847
1, 手入力
2, 同じコントロール内でWM_COPY, WM_PASTE
3, SETTEXTEX, EM_STREAMIN
等幅フォントに一番最初に設定
→ 1, 問題無い (この時点でフォント設定も問題無い)
→ 2, 問題無い
→ 3, フォントがおかしくなる (UNICODE指定もしてある)
同じフォント設定にしたメモ張で同じ文字列を入力してCtrl+C
→RichEditへCtrl+V 3と同じ問題発生
こんな感じ
URLリンク(i.imgur.com)
874:デフォルトの名無しさん
16/09/19 12:01:55.23 nr8fG4n4.net
あぁごめん
フォント再指定後ってのは
SETTEXTEX, EM_STREAMINでおかしくなった奴に対して指定したらこうなるって意味ね
875:デフォルトの名無しさん
16/09/19 17:04:20.90 zU29XWLW.net
2、3年前は荒らしも多かったけど、まだまともな回答者も多かった。
今は荒らしもまともな回答者もいなくなって、
>>843,>>846みたいな気色の悪い奴が自己顕示欲を満たすだけの場になってしまった。
どうしてこうなった。
876:デフォルトの名無しさん
16/09/19 17:17:06.88 K5hghQdn.net
>>850
>どうしてこうなった。
自己顕示欲を満たすだけの気色の悪い>>850みたいなのがいるからじゃね
877:デフォルトの名無しさん
16/09/19 17:26:33.45 x6oYh1MF.net
じゃあウザいだけです時代に戻そうか
878:デフォルトの名無しさん
16/09/19 17:43:22.23 VrFlYlJN.net
Win32APIが枯れていて、不具合が発生していない。
使用ユーザーも熟知していて、質問する必要がない。
理想的な状態?
879:デフォルトの名無しさん
16/09/19 18:57:36.68 4df2MR9Z.net
倦怠期
880:デフォルトの名無しさん
16/09/20 01:18:12.66 0Myqw3Nm.net
>>852
そこだけ戻したところでまともな回答者はもう戻ってこないだろw
881:デフォルトの名無しさん
16/09/20 08:34:28.90 KnjyA1F8.net
>>849
こっちでも再現できたわ
Terminal 14が画像と同じになった
他の等幅フォントでも再現されたけど
MS ゴシック、MS 明朝なら大丈夫みたい
メモ帳では再現されないのは謎だけどな
882:デフォルトの名無しさん
16/09/21 18:38:12.75 2/iKekT4.net
>メモ帳では再現されないのは謎だけどな
メモ帳のソースコードに書いてある
883:デフォルトの名無しさん
16/09/21 20:53:42.44 WRzjrZbQ.net
>>841
c#使い始めたら便利なのでもうwin32でgui作成する気にはなれないんですが今でもwin32使う理由は何?
884:デフォルトの名無しさん
16/09/21 21:03:14.46 O8zsEtDk.net
GetMessageループで小細工をしたい時など
C#でGetMessageループにフック噛ます方法があるなら教えてよ
とても興味深い
885:デフォルトの名無しさん
16/09/21 22:56:28.21 SIQDhLUp.net
>>859
小細工って、ウインドウププロージャの書き換えで
886:はできないこと?
887:デフォルトの名無しさん
16/09/21 23:19:35.96 O8zsEtDk.net
GetMessageじゃなくてPeekMessageにするとか
TranslateMessageの呼び出しを止めるとかはウィンドウプロシージャからでは不可能
888:デフォルトの名無しさん
16/09/21 23:43:59.21 VY6IcR6g.net
>>861
そういうのって、どういう時に使うの。
889:デフォルトの名無しさん
16/09/21 23:46:34.12 YZL270gC.net
メインとループなんて毎回コピペだが、
いざとなったら書き換えられるという安心感がある
そして永遠に書き換えない
890:デフォルトの名無しさん
16/09/22 02:22:17.57 BRx1Bv8g.net
win32でGuiが大変とか言ってる人ってリソースファイル使わずに作ろうとしてるとか?
891:デフォルトの名無しさん
16/09/22 02:24:52.16 ds9UeOri.net
>>864
ばーか
892:デフォルトの名無しさん
16/09/22 02:30:08.84 saKRBDTg.net
>>864
誰が大変なんて言った?
情報が多い分、楽だよな
893:デフォルトの名無しさん
16/09/22 02:39:21.74 mitwVgUL.net
C#が便利でwin32に戻れないって、かつてVBやMFC使いも言ってましたね
894:デフォルトの名無しさん
16/09/22 05:33:10.99 gyLxLatL.net
かつてのVBはおまじない宣言してAPI叩かないと使い物にならなかったわけだが
895:デフォルトの名無しさん
16/09/22 06:00:54.98 saKRBDTg.net
>>867
そうか?
お前さんだけじゃね?
c#の何が便利なの
896:デフォルトの名無しさん
16/09/22 09:08:20.92 enqfOrPh.net
>>858
win32使ってないのにこのスレにいる理由は何?
便利(win32は難しすぎた)だろw
897:デフォルトの名無しさん
16/09/22 11:54:27.95 wKjxcHVF.net
>c#使い始めたら便利なのでも
使い始める前まではWin32API使っていたんだろ
>今でもwin32使う理由は何?
C#を使い始めていないということだ
898:デフォルトの名無しさん
16/09/22 12:50:29.63 ad+iWZXx.net
>>858
Win32でリソーススクリプトを直叩きしてGUIを作るの楽しいよ
あとWin32API使える俺スゲーと思えるとかしょーもないアホな理由
と言いつつ最近はGUIのアプリやツールの制作ではC#ばかり使ってるわ
やっぱ動けばいいものをサクッと手早く作りたいときはC#だな
899:デフォルトの名無しさん
16/09/22 13:06:17.33 enqfOrPh.net
メインとループ毎回コピペって
プロジェクト作成時に最少構成自動で作成するようにしてないんか?
VC++Expressですらできるのに
900:デフォルトの名無しさん
16/09/22 13:36:00.69 ad+iWZXx.net
>>873
俺は.NETのFormクラス風のWndクラス作ってあるからそれ使う
そのほかバージョン情報クラスとかいろいろ簡単に使えるクラスを作って置いてる
901:デフォルトの名無しさん
16/09/22 14:14:25.34 sh3eyHdy.net
俺はむしろ反対で
中途半端なラップなぞ要らないという判断
定型文を登録しておいて
いつでもクリップボードに転送できる系のアプリ
とか使うとよいと思うよ
902:デフォルトの名無しさん
16/09/22 15:03:14.08 Ob4qBdWH.net
>プロジェクト作成時に最少構成自動で作成
コピペでも対して手間変わらんし
VS/VC++でGUIからlibpathとかいじるの面倒だし
903:デフォルトの名無しさん
16/09/22 15:17:17.17 enqfOrPh.net
>>876
いやプロジェクト作成時に選択するテンプレート自体を自分で作るから
path変更すらいらん
904:デフォルトの名無しさん
16/09/22 16:40:58.43 c0uylKlH.net
>>871
C#でもクラスライブラリが用意されていない機能で必要ならWin32API使うぞ。
GUI作るだけならほとんど出番はないけど。
905:デフォルトの名無しさん
16/09/22 19:59:29.23 jmlT4pdX.net
カスタムウィザードって作れなかったか?
906:デフォルトの名無しさん
16/09/23 08:44:30.83 hdVg5emL.net
>>879
それはExpressじゃ無理だな
Expressは自分でフォルダ構成してテンプレート保存場所に配置する必要がある
言い換えればExpressでも自分でやれば後はカスタムウィザードみたいな事ができる
907:デフォルトの名無しさん
16/09/23 11:49:16.53 Bla+oVr/.net
>>862
俺の質問に答
908:えたら答えてやるよ C#でできるのか?できないのか?
909:デフォルトの名無しさん
16/09/23 11:51:09.00 Bla+oVr/.net
Pythonスレにも書いたけど、リモートプロセスに侵入してウィンドウをサブクラス化するなんてのも
C#ではやれない芸当でしょうね
910:デフォルトの名無しさん
16/09/23 13:08:18.98 rYmTtd8q.net
>>881
それ(>>861)は出来ないかな。
>>882
出来るけど。
Cross Process Subclassing
URLリンク(www.codeproject.com)
911:デフォルトの名無しさん
16/09/23 13:28:57.30 cTcmD9zg.net
C#ちゅーかどのGUIフレームワーク使うのかにもよるんじゃね
WinFormsならMFCライクな挙動のApplication.Idleがあるからその中で
PeekMessage呼び出しつつアクティブなゲームループ回したりとか
912:デフォルトの名無しさん
16/09/23 14:32:50.11 1AYxo37g.net
>>883
↑
他人が作ったものをドヤ顔で「出来るけど」ってwwww
913:デフォルトの名無しさん
16/09/23 14:39:27.60 laz5P8lZ.net
Cross Process Subclassing
URLリンク(www.codeproject.com)
これ見えてるコードはC#に見えないけど、C#のプロジェクトなのか?
914:デフォルトの名無しさん
16/09/23 14:50:27.96 e3KOFFwu.net
>>886
どうしてC#だと思った?
915:デフォルトの名無しさん
16/09/23 15:23:09.32 laz5P8lZ.net
>C#ではやれない芸当でしょうね
と言ってる>>882に対してドヤ顔で
>出来るけど。
ってるじゃん
916:デフォルトの名無しさん
16/09/23 18:14:16.83 MUYZ+xZC.net
なんだ?
Win32板がC#板になってる。
まあいいけど。
917:デフォルトの名無しさん
16/09/23 18:14:40.82 MUYZ+xZC.net
板じゃなくってスレだった、すまん。
918:デフォルトの名無しさん
16/09/23 20:00:27.86 laz5P8lZ.net
ID:rYmTtd8qは逃亡?
919:デフォルトの名無しさん
16/09/23 20:03:46.92 GYZZDVTI.net
>>881
WinFormsのメッセージループはそもそもC#で実装されてるので、同じことを実装すればできるはず
それをやる意味があるかは知らん
>>882
C#だけではおそらくできない(プロセスメモリに直に機械語を書き込むとかならできるかもしれんが・・・)
C++/CLIを経由するか、C言語でDLLを書けばできる
C#は高レイヤー用だから、低レイヤーな部分はC言語が必要になってくる
ただ、低レイヤーを扱うソフトでもGUI部分はC#を使ったほうが楽な場合も多いと思う
920:デフォルトの名無しさん
16/09/23 21:06:06.73 rYmTtd8q.net
>>886,887
ご指摘通り、それ全部Nativeだった。orz
C#で直接他プロセスをフックするコードは書けないので、Nativeコードを経由する必要があるけど(>>892)、
その部分で上記サンプルコードで作るDLLが使用できるよ。
C#側はこんな感じ。(フックされる側もする側も、32bitじゃないと多分動かない)
URLリンク(ideone.com)
921:デフォルトの名無しさん
16/09/23 21:14:04.51 laz5P8lZ.net
>>893
3行目以降はみんなわかってるから書かないで良いよ
922:デフォルトの名無しさん
16/09/24 21:52:53.12 M/J9F64h.net
まあまあ、そこまで書かなくても・・・
923:デフォルトの名無しさん
16/09/26 14:31:52.90 OBYZqfWW.net
IPAddressコントロールのメニューってどうやったら消せる?
サブクラス化してもWM_CONTEXTMENUが来ない
924:デフォルトの名無しさん
16/09/26 22:48:08.03 TukXLw2X.net
つDisappearMenu()
925:デフォルトの名無しさん
16/09/27 00:13:33.87 /Yg2QTqO.net
>>896
Spy++
926:デフォルトの名無しさん
16/09/27 12:46:31.44 uV/py0I0.net
win32apiはCで使うもの、それともC++でやってる?
猫レベルなので、次が不明でさまよっています。
927:デフォルトの名無しさん
16/09/27 12:53:47.21 lZ2V1Ihe.net
>>899
CでやってるとC++のクラスを使いたくなるけど
レールに沿ってやるより自分がやってみたい事を実現するために必要な事を1つ1つやっていった方がいい気もする
928:デフォルトの名無しさん
16/09/27 13:09:24.50 8ZLpHgGV.net
>>899
C++でやんなきゃCOMでウザい事になるぞ
929:デフォルトの名無しさん
16/09/27 13:10:17.87 pAYH5Jb4.net
ならないよ
930:デフォルトの名無しさん
16/09/27 13:48:32.20 cO8I5ivP.net
C++をBetter Cとして使ってりゃそのうち使い分ける
931:デフォルトの名無しさん
16/09/27 17:00:00.51 JUhPFI9j.net
>>902
俺もなると思うが?
生のCはやっちゃダメせいぜい教育用くらい
932:デフォルトの名無しさん
16/09/27 17:37:41.25 lPJarC9l.net
C++なんてウンコ言語はCOM使う時くらいだな
何通りも初期化記法があったり黒魔術が多過ぎる
933:デフォルトの名無しさん
16/09/27 17:37:44.77 PAHsg1th.net
C#のが楽 Win32で十分
くらいの差であって、ウザいかどうかはその人と仕事内容次第
934:デフォルトの名無しさん
16/09/27 18:29:05.45 bFdF3zA0.net
>>906
COM は C# の方が面倒だわ
microsoft.office.interop.* をもっと真面目に作ってくれ
935:デフォルトの名無しさん
16/09/27 18:30:49.38 uV/py0I0.net
898です。
独学で猫の本程度、作れるようになりました。
生産性を考え、C#,C++,Java,python,rubyとかを次に考えています。
拡張子がcppで、comも少しやっています。
おすすめ言語ありますか?
ついでに本も。
ソフト屋じゃないのに、やっつけデータ処理が、必要なんです。
936:デフォルトの名無しさん
16/09/27 18:34:20.96 uV/py0I0.net
日本語変ですね。
お礼もない。
若くないので、コストを考えました。
937:デフォルトの名無しさん
16/09/27 18:41:58.58 w5gpFchP.net
Win32APIについて聞きたいならこのスレでいいが
やっつけ仕事に適した言語が知りたいならこのスレより
スレ立てるまでもない質問はここで~
の方が適切
938:デフォルトの名無しさん
16/09/27 18:48:19.76 uV/py0I0.net
ホントですね。
失礼しました。
win32apiから、C++なら便利?と考えておるうちにずれていました。
939:デフォルトの名無しさん
16/09/27 19:17:10.39 +Hq6Z55/.net
>>905
バカ
940:デフォルトの名無しさん
16/09/27 20:18:13.60 lCQO94l1.net
Win32は修羅の道
思いとどまれ踏み込むな
迷い込んだら覚悟を決めろ
941:デフォルトの名無しさん
16/09/27 21:33:50.34 w5gpFchP.net
覚悟完了
942:デフォルトの名無しさん
16/09/27 22:01:03.88 G7SFDpUA.net
戦略的撤退
943:デフォルトの名無しさん
16/09/29 01:56:16.40 JU45VBWv.net
>>905
GDI+「私を忘れてないかな?」
944:デフォルトの名無しさん
16/09/29 18:41:10.44 M0rjTDUo.net
win32apiならC++よりCからの方が使い易い
945:デフォルトの名無しさん
16/09/29 19:45:58.02 LDkzfJUX.net
SkyTelコワイ
946:デフォルトの名無しさん
16/10/01 08:23:59.69 LRewiCIS.net
>>916 ラッパ
947:デフォルトの名無しさん
16/10/02 13:09:10.02 4o4y3Pue.net
のマークの
948:デフォルトの名無しさん
16/10/02 13:29:05.78 GxRMdu/c.net
まさつゆまる
949:デフォルトの名無しさん
16/10/02 13:59:01.98 GX41vvMR.net
虫歯に効くのは木クレオソートが強い防腐作用や殺菌作用があるため
神経に対して初めは少し刺激が起こりますが次第に知覚麻痺して痛みを感じなくなっていきます
950:デフォルトの名無しさん
16/10/02 17:17:41.77 2/1u9rrl.net
隠しAPIのDwmGetDxSharedSurface()ってGetDesktopWindow()のハンドル指定してもテクスチャ取得できないのかな?
例えばIEとかのハンドル指定すれば問題なくテクスチャ取得まで行けるんだが・・・
951:デフォルトの名無しさん
16/10/02 17:52:00.53 GX41vvMR.net
DwmGetDxSharedSurface(NULL)
952:デフォルトの名無しさん
16/10/06 08:03:39.04 2kYP0kDB.net
.NETは.NET Frameworkがいる上に起動が遅いのが難点
特に頻繁に起動・終了するツールの開発には向かない
953:デフォルトの名無しさん
16/10/06 08:13:43.59 y1wzqO45.net
20年近く前はそう言われてたな
954:デフォルトの名無しさん
16/10/06 08:44:16.97 LW7zvFbD.net
>>925
よお老害
955:デフォルトの名無しさん
16/10/06 09:53:11.69 BiGan9Dw.net
>>925
Windows Updateをきちんと適用していれば、.Net Frameworkはインストールされてるぞ。
もはや、インストーラーに含める必要もなくなった。
起動時間は、事前コンパイルしとけば大幅に改善される。
956:デフォルトの名無しさん
16/10/06 10:01:20.19 BiGan9Dw.net
>>928の起動時間は1回目のね
元々2回目以降の起動はコンパイル結果がキャッシュされてるからそんなに遅くない。
957:デフォルトの名無しさん
16/10/06 10:33:07.96 kdCvlbXg.net
なんで急にこんな話になったのか分からんが、とりま20年近くも歴史ないわ。
あと、.NETがうんこじゃなくなったのはWin8に搭載された4.5から。
ここ4年の話で、それ以前はクソ&クソ。
958:デフォルトの名無しさん
16/10/06 12:27:21.91 LW7zvFbD.net
>>930
具体的によろしく
959:デフォルトの名無しさん
16/10/06 12:53:11.51 +tO9yjwe.net
.NETの思想って、利用者の端末機に負担をかけない様に
サービス可能なサーバーに情報を渡して、答えを貰うんだった。
回線の高速化や端末機の普及で、ローカルホスト通信で済ませる様になり
現在に至っている。
もう少しマイクロソフトがIISに力を入れてくれれば
ローカルホスト通信を使わなくなるのだろうね。
960:デフォルトの名無しさん
16/10/06 19:11:09.40 2kYP0kDB.net
>>929
ネイティブなら一瞬で起動するようなアプリでも.NETだとNgen使っても体感できるレベルで(数百msec以上)待たされる
起動に数秒かかることが許される規模のアプリであれば.NETでもいいけど
インタプリタでも一瞬で終わるような処理を.NETで実装したら実行時間の無駄
Javaも同じ事が言えるけどね。動き出せば速いけど動くまでが遅い
これは2年ほど前に配布を考慮した気軽に使えるGUIツール開発プラットフォームを探した時に出た結論
961:デフォルトの名無しさん
16/10/06 21:06:40.44 JthKKgNo.net
ふーん
お宅の言う結論ってケツの穴の論理と大差なさそうだね
962:デフォルトの名無しさん
16/10/07 04:23:54.50 HwYDbl3n.net
もう新規案件をWin32ネイティブで開発することは少なくなったな
WTL/ATLを気に入ってよく使ってた
963:デフォルトの名無しさん
16/10/07 17:22:23.22 lKepYBPc.net
#include <ws2tcpip.h>
しても inet_pton が宣言されてねぇと叱られる('⊿`)
964:デフォルトの名無しさん
16/10/07 17:27:35.32 nw13XKq1.net
ユニコードビルドしてると使えないとか?もしくはInetPton
965:デフォルトの名無しさん
16/10/07 17:51:19.48 ah4nbj/y.net
#include <ws2tcpip>
966:デフォルトの名無しさん
16/10/07 19:03:39.31 lKepYBPc.net
お、反応してくれてありがとう
VC2015 Windows Kit 8.1 デフォルトのままUNICODE使用
#include <winsock2.h>
#include <ws2tcpip>
#include <ws2tcpip.h>
#include <arpa/inet.h>
統合環境のプロジェクトの外部依存関係にある ws2tcpip.h を開くと inet_pton InetPtonW 宣言部分はカラー表示されていて
#if で無効化されてる気配も無い けど
'inet_pton' 識別子が見つかりませんでした
x86 x64 Release Debug 全部
(ってのを最初に書けよって話だな すんません
コンパイラオプション /P でプリプロセス後の状態を見たら inet_pton InetPtonW 宣言部分は無かった
なんでやねんと思ったら
#if 0 //[
#include <windows.h>
・・・
#include <ws2tcpip.h> //ここに足してた
#else //][
#include <windows.h>
・・・
#endif //]
よそ様のコードの保守は大変ですな
外部依存関係 に表示しないで欲しいのですが
ごめんなさいごめんなさい 吊ってきます
967:デフォルトの名無しさん
16/10/08 12:28:41.20 0jaJMPXG.net
自分の無能をよそ様のせいにすんなボケ
968:デフォルトの名無しさん
16/10/08 12:34:16.03 0jaJMPXG.net
次です
Win32API質問箱 Build123
スレリンク(tech板)
969:デフォルトの名無しさん
16/10/11 16:41:23.69 WucPD6lR.net
縦書きのAPI(CreateFont、GetTextMetrics、GetGlyphOutline)で質問です。
CreateFont第三引数に回転値2700を設定後、
GetGlyphOutlineを使うとき、描画座標位置と、送り幅と送り高さの取得の値はどうなるのでしょうか?
フォントは、"@MS ゴシック"を使っています。
横書き通常だと下記のコードで問題なく値が取得できるのですが、縦書きだとうまく動作しません。
offsetX = gm.gmptGlyphOrigin.x;
offsetY = tm.tmAscent - gm.gmptGlyphOrigin.y;
nextWidth =gm.gmCellIncX;
nextHeight=tm.height;
CreateFont、GetTextMetrics、GetGlyphOutlineを使うコードは次のようにしています。何か設定がおかしいのでしょうか?
hFont = CreateFontW(100,50,2700,0,
FW_REGULAR,FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
PROOF_QUALITY,FIXED_PITCH | FF_MODERN,L"@MS ゴシック");
oFont=(HFONT)SelectObject(hdc,hFont);
GetTextMetrics(hdc, &tm);
CONST MAT2 mat = { { 0,1 },{ 0,0 },{ 0,0 },{ 0,1 } };
GetGlyphOutlineW(hdc, wch, GGO_GRAY4_BITMAP, &gm, 0, NULL, &mat);
970:デフォルトの名無しさん
16/10/11 17:16:34.58 QeFd4z39.net
縦書きだとyが変わるんじゃね
971:デフォルトの名無しさん
16/10/11 18:16:44.11 WucPD6lR.net
フォントサイズ100で"あ"を出力した結果
横0/縦0/縦2700
gmBlackBoxX 90 80 80 *
gmBlackBoxY 80 90 90 *
gmptGlyphOriginX 5 13 -1 *
gmptGlyphOriginY 79 81 -5 *
gmCellIncX 10 100 0 *
gmCellIncY 0 0 100 *
tmHeight 100 100 104 *
tmAscent 86 86 88 *
tmDescent 14 14 16 *
tmInternalLeading 0 0 4 *
tmExternalLeading 0 0 0
tmAveCharWidth 50 50 50
tmMaxCharWidth 197 197 197
tmWeight 400 400 400
tmOverhang 0 0 0
tmDigitizedAspectX 96 96 96
tmDigitizedAspectY 96 96 96
tmItalic 0 0 0
tmUnderlined 0 0 0
tmStruckOut 0 0 0
tmPitchAndFamily 54 54 54
tmCharSet 128 128 128
横0は "MS ゴシック" CreateFontの第三引数 0
縦0は "@MS ゴシック" CreateFontの第三引数 0
縦2700は "@MS ゴシック" CreateFontの第三引数 2700
APIは、ややっこしい出力してますねぇ。。
縦2700でTextOutすると右上が文字の原点に移動するっぽいのでそれ考慮して計算するのかなぁ。
972:デフォルトの名無しさん
16/10/11 20:10:04.56 fRcBIrce.net
>>928
きちんと無駄に.Netは更新しないようにしてるんだよなぁ…
973:デフォルトの名無しさん
16/10/12 11:31:26.15 Gd/C/AAX.net
>>943
縦2700だとtm,gmの概念がわからなかったので、縦0で縦フォント作ってから、画像を270度回転してtm,gm辻褄を合わせて描画したら安定。
XとYの概念が入れ替わって混乱した。
974:デフォルトの名無しさん
16/10/12 13:51:15.72 MITJcbWv.net
>>946
無理矢理つじつま合わせすると(例えば縦横の座標入れ替え)うまくいくのは90度単位の回転のみで、
45度とかの場合は破綻するでしょ。
943 の話はベースライン座標をを270度回転させて求めないとうまくいかないと思う。
975:デフォルトの名無しさん
16/10/12 14:20:20.43 CGbCriuU.net
>MSはこんなのまで用意してくれているからな
>URLリンク(github.com)
>低脳のおもりは大変だ
976:デフォルトの名無しさん
16/10/12 17:31:03.60 Gd/C/AAX.net
>>947
縦読みだけなら90度回転ベースの270度(上下左右入れ替えと、オフセット計算)で仕様は満たされますが、45度とか要求となると別途手間かかりそうですね。
文字列をテクスチャーとかに描画してから回転したほうが簡単そう。
977:デフォルトの名無しさん
16/10/12 17:33:12.25 aj5TKozK.net
ある対象ファイルが他アプリケーションから開かれている否かはどうやって知れますか?
978:デフォルトの名無しさん
16/10/12 17:39:22.99 NnJ6rK8J.net
enumprocess->openprocess->zwqueryobject
979:デフォルトの名無しさん
16/10/12 17:44:09.42 aj5TKozK.net
全プロセス舐めなきゃいけないんですか?
980:デフォルトの名無しさん
16/10/12 17:44:16.63 Gd/C/AAX.net
>>950
この編参考にならない?試してないけどな。
_fsopen(で _SH_DENYRWっていうオプションがあるっぽい
URLリンク(msdn.microsoft.com)
「アプリケーションからファイルの排他オープンが可能かどうかを確認する一番確実な方法は、そのファイルをオープンしてみることです」
と書かれてる
URLリンク(support.microsoft.com)
981:デフォルトの名無しさん
16/10/12 17:45:51.04 bqn+ql9d.net
Win32API質問箱 Build123
スレリンク(tech板)
982:デフォルトの名無しさん
16/10/12 17:47:37.52 bqn+ql9d.net
>>953
>お祝いに参加しましょう
なんだこれω
983:デフォルトの名無しさん
16/10/12 18:03:38.18 g+0wIc73.net
「お誕生日おめでとう」
なんだろうけど、ちょっと恥ずかしい
984:デフォルトの名無しさん
16/10/13 22:45:03.69 pWVjxgqB.net
VK_NUMPAD6とVK_RIGHTなどのキーが同じものとして扱われてしまうのですが
どうすれば使い分けられるのでしょうか
985:デフォルトの名無しさん
16/10/14 09:38:05.35 DLzZN/YU.net
>>957
NumLock ON/OFFは?
986:デフォルトの名無しさん
16/10/15 01:01:26.59 qV7dku2N.net
>>957
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
extended keyの説明見てみ
987:デフォルトの名無しさん
16/10/15 18:25:43.89 NU1xJ4eI.net
>>958
やりましたけど、同じでした
>>959
なんかむずかしいすぎてついていけません。
KEYEVENTF_SCANCODEではなく
KEYEVENTF_EXTENDEDKEYを使うとか?
過去ログも検索で見ましたがむずかしいですね
988:デフォルトの名無しさん
16/10/21 17:44:09.25 KvD6T+Uq.net
コンソールをリサイズした状態でのバッファ表示についての質問です。
COORD wh = {80, 50};
SMALL_RECT area = {0, 0, 79, 49};
SetConsoleScreenBufferSize(GetStdHandle(-11), wh);
SetConsoleWindowInfo(GetStdHandle(-11), TRUE, &area);
で 80x50 のコンソールになるのですが、その後
CHAR_INFO b[50 * 80];
COORD p = {0, 0};
b[(0-79と0-49で行と列を計算)].Char.AsciiChar = '適当';
b[(上と同じ)].Attributes = 適当;
WriteConsoleOutputA(GetStdHandle(-11), b, wh, p, &area);
を何度か繰り返すと、25行以内(0-79と0-24の範囲)だけに書き込んでいるときは表示が正常なのですが、
26行以�
989:�(0-79と25-49の範囲)書き換えると訳の分からない表示になります。 ()の中は (y*80+x) みたいな計算をしています。 ScrollConsoleScreenBuffer(GetStdHandle(-11), &area, NULL, p, b); を入れると多少表示は変化するのですが、期待する結果にはなりませんでした。 何か勘違いしているのかも知れませんが、解決のお手伝いください。
990:デフォルトの名無しさん
16/10/21 19:21:16.29 zTYixhM/.net
>>961
bが自動変数で初期化されていないのでゴミデータが出力されているだけでは?
991:デフォルトの名無しさん
16/10/22 10:46:34.18 O48rD9qT.net
原因が判りました。
50行目以降のアドレスに書き込んでました。
50+n行目に書くとn行目の不特定な列に書き込まれるようです。
992:デフォルトの名無しさん
16/10/23 10:31:21.49 CGzeXgZh.net
馬鹿には無理
993:デフォルトの名無しさん
16/10/23 10:36:05.47 B3h+V7cB.net
>>964
自虐ネタ乙
994:デフォルトの名無しさん
16/10/23 13:06:59.50 Qt7KzQsX.net
>>965
ぐぬぬ
995:デフォルトの名無しさん
16/10/23 14:40:22.78 CpFScuJ1.net
OSのバージョンでビルド番号を調べるAPIはどれですか
996:デフォルトの名無しさん
16/10/23 14:50:12.71 Qt7KzQsX.net
>>967
普通にGetVersionExじゃあかんの?
997:デフォルトの名無しさん
16/10/23 14:54:32.90 CGzeXgZh.net
>>968
最近のOSだと使わない方が良いみたいね
998:デフォルトの名無しさん
16/10/23 21:07:47.59 GtfQU5YV.net
取得はその関数で構造体の変数値を直接比較せず専用関数使えってことでしょ
999:デフォルトの名無しさん
16/10/24 09:04:03.53 fQGKWk+u.net
比較しないでただ取得するだけならそれでいいんじゃね
1000:デフォルトの名無しさん
16/10/24 10:32:35.70 9xygNeDa.net
>>969
manifestを書くと解決するらしいが非推奨
1001:デフォルトの名無しさん
16/10/24 10:53:15.41 RAJtJMqi.net
manifest書いた上でVerifyVersionInfo
1002:デフォルトの名無しさん
16/10/28 06:29:16.08 iv1fMup0.net
今はWin32_OperatingSystem一択
1003:デフォルトの名無しさん
16/10/28 20:48:37.18 71rg+6zF.net
>>974
WMIは初回が遅すぎるんだよなぁ。
1004:デフォルトの名無しさん
16/10/28 21:04:02.29 ceXQtcCi.net
WMIってヘルプが嘘多いのとバージョンアップで変わってるから困る
1005:デフォルトの名無しさん
16/11/02 02:06:35.91 stLp85Rp.net
virtualallocってディスクに予約、確保するの?
1006:デフォルトの名無しさん
16/11/02 03:29:42.91 ttxNZg5R.net
足りないときにやってくれるだけで毎回ディスク使う訳じゃない
1007:デフォルトの名無しさん
16/11/03 17:15:22.49 M9JiIIXY.net
このスレでは興味薄そうだけど
URLリンク(github.com)
これが最初から欲しかった
URLリンク(github.com)
CXの言語仕様策定した連中は無能すぎ
1008:デフォルトの名無しさん
16/11/03 18:06:39.24 KRq5Cur1.net
うんいらない
1009:デフォルトの名無しさん
16/11/03 18:21:49.22 jnPNi8zj.net
> 978
ご苦労であった
下がってよいぞ
1010:sage
16/11/03 19:20:32.95 AWrr+PAw.net
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
1011:デフォルトの名無しさん
16/11/03 19:24:45.18 KRq5Cur1.net
梅津
1012:デフォルトの名無しさん
16/11/03 19:29:23.50 Vul1aP3I.net
RTってwin32apiの後継?
1013:デフォルトの名無しさん
16/11/03 19:29:39.16 KRq5Cur1.net
全然別物
1014:デフォルトの名無しさん
16/11/03 19:31:46.62 KRq5Cur1.net
Win32
スレリンク(tech板)
WinRT
スレリンク(tech板)
1015:デフォルトの名無しさん
16/11/03 19:33:14.02 Vul1aP3I.net
>>985
じゃあ、なんでここに書き込むの?
1016:デフォルトの名無しさん
16/11/03 19:33:50.89 iYejUQc8.net
IE11 と Edge が同じか?って聞かれたら
ほとんどのひとが違う�
1017:ニ答えるだろ そのくらい違う
1018:デフォルトの名無しさん
16/11/03 19:35:10.91 KRq5Cur1.net
へ?
1019:デフォルトの名無しさん
16/11/04 02:08:02.90 wTo+5XZe.net
いい加減こっち埋めろよ
1020:デフォルトの名無しさん
16/11/04 03:27:27.88 e0uuer+h.net
ふんわりパンク
1021:デフォルトの名無しさん
16/11/04 04:37:04.72 UUBafTaz.net
うめ
1022:デフォルトの名無しさん
16/11/04 05:07:13.26 gpXDTSEe.net
edge ω
1023:デフォルトの名無しさん
16/11/04 07:55:58.21 aR9Unpf6.net
梅
1024:デフォルトの名無しさん
16/11/04 10:23:48.39 eeUHQUQt.net
なぜ sprintf はあるのに sgets が無いのですか?
1025:デフォルトの名無しさん
16/11/04 10:28:47.54 e0uuer+h.net
int readnum = sscanf(src, "%*[^\n]", maxnum, dst);
だったかな
うろ覚え
1026:デフォルトの名無しさん
16/11/04 11:17:17.84 gpXDTSEe.net
これか
URLリンク(www.kijineko.co.jp)
もう忘れた
1027:デフォルトの名無しさん
16/11/04 17:32:12.45 xcPL+uad.net
フォームタイトル左のアイコンを消すAPI教えて下さい。
ちなみに、タイトル右のアイコン化等のボタンは表示したままでお願いします
1028:デフォルトの名無しさん
16/11/04 19:46:41.00 K7hL1M31.net
うめたて
1029:デフォルトの名無しさん
16/11/04 19:59:11.56 22qUZxEG.net
こんにちは
1030:デフォルトの名無しさん
16/11/04 19:59:39.65 22qUZxEG.net
さようなら
1031:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています