16/01/05 19:39:12.23 w68plevo.net
ヽ( )/
( * )
ノ ゝ
∧_∧
(ヽ( )ノ) ∧_∧ ∧_∧
ヽ ̄ l  ̄ ./ (ヽ( )ノ) ∧_∧ (ヽ( )ノ)
∧_∧ | . . | ヽ ̄ l  ̄ ./ (ヽ( )ノ) ヽ ̄ l  ̄ ./
(ヽ( )ノ)(___人__ ) | . . | /⌒ヽ ヽ ̄ l  ̄ ./ | . . |
ヽ ̄ l  ̄ ./ ; 丿 し ( _,;*;,__ (ヽ( )ノ) | . . | (___人__ )
∧|_∧ | ∪ ∪ ; 丿 ヽ ̄ ∧_∧ (___人__ ) ∧_∧
(ヽ( )ノ) ∧_∧ ∪ (ヽ( )ノ)丿 し (ヽ( )ノ)
ヽ ̄ l  ̄ ./ (ヽ(::::::::::::::::)ノ) ∧_∧ ヽ ̄ l  ̄ ./∪ ヽ ̄ l  ̄ ./
| . . | ヽ:: ̄ー ̄./ (ヽ( )ノ) | . . | ∧_∧ |
(___人__ ) ∧_∧::::::|:::::::::| ヽ ̄ l  ̄ / ( _,;*;,__ ) /⌒ヽヽ(::::::::::::::::)ノ)
; 丿 し (ヽ( )ノ) ::::::::) | . . | ∪ ; 丿(ヽ( )ノ) ー ̄./
∪ ヽ ̄ l  ̄ ./ ; 丿 (___人__ ) ∪ ヽ ̄ l  ̄ ./::::::|:::::::::| ∧_∧
| . . | ∪ ; 丿 し | . . | (:::::人:::::::(ヽ( )ノ)
出会うはずの場所が 出会うはずの人たちが あなたを待ってい�
3:驕iドンドコドコドコドンドコドコドコ)
4:デフォルトの名無しさん
16/01/06 13:05:09.32 UIYJrmr4.net
前スレの続き
キーボードフィルタードライバーは使用時に
未署名で大変危険だから入れるなみたいなことを言われますか?
5:デフォルトの名無しさん
16/01/06 14:31:50.81 yluT1kPN.net
4ね
6:デフォルトの名無しさん
16/01/07 20:51:29.55 +ry8DJY3.net
質問させてください。
WinPcapでパケットの内容をキャプチャして動作するWindowsアプリケーションを作っています。
現状は、100msでタイマを貼ってメッセージループ内でpcap_next_exを処理しているのですが、
pcap_next_exが1000msほどロックしているみたいで動作が重い感じになってます。
何かいい実装方法を教えていただけないでしょうか?
別スレッドを走らせてpcap_loopを実行してコールバックで実装すればいいのでしょうか?
7:デフォルトの名無しさん
16/01/08 20:04:14.65 84rpqrkC.net
>>5
馬鹿には無理
身の程を知れ
8:デフォルトの名無しさん
16/01/09 03:41:16.19 al1OphsN.net
一昔前は、議論の余地があったり、正解が一つじゃない問題について提起するような質問が中心で、
発展性のある質疑応答が行われていたが、
いつの間にか>>5みたいな本当にただの情報乞食しか質問しに来なくなった。
9:デフォルトの名無しさん
16/01/09 05:22:45.24 YFiivbQo.net
ここまでテンプレ
10:デフォルトの名無しさん
16/01/09 07:06:26.41 f8lDEwqx.net
ここまでテンプレ
11:デフォルトの名無しさん
16/01/09 12:52:50.77 yPE83akt.net
閑古鳥が通りますお
(AAry
12:デフォルトの名無しさん
16/01/09 20:50:24.29 tLSvbtI/.net
haru pdfを使用しています。
もっと使いやすいの知らない?
13:デフォルトの名無しさん
16/01/12 22:53:40.27 MKR6D1vT.net
SCROLLINFO structureのnMaxって32768までしか設定できないの?
エディタみたいなの作って32768行超えたら1行目に戻っちゃう。
14:デフォルトの名無しさん
16/01/13 00:58:43.27 gJwvtijf.net
32bit Integerだぞ
今試してみたけど2147483647が入る
15:デフォルトの名無しさん
16/01/13 20:38:05.51 ia1lU0C0.net
ホントこのスレ雑魚しかいねーな
16:デフォルトの名無しさん
16/01/13 20:45:46.97 3lvMCHEn.net
ウインドウメッセージを改変したいのですがこのような場合どのような実装をするのが一般的ですか?
タッチ非対応のアプリケーションをタッチで操作しようとすると不便なことが多いのでタッチ関係のメッセージを
適当なマウスやキーボードのメッセージに変換したいです
常駐して複数のアプリケーションのメッセージの変換を一手に引き受けるようなユーティリティを考えています
アプリケーションはパスで区別するようかな
ググっても不特定多数のアプリケーションのメッセージの処理に割り込む方法は見つけられませんでした
画面全部のメッセージをいったん受け取って任意の座評下にあるアプリケーションに投げられれば
出来そうな気がしますが、普通メッセージを受け取れるのは自分だけ?ですし・・・
GUIのプログラミングはほとんど経験がないので見当違いなことを言っていたらすみません
17:デフォルトの名無しさん
16/01/13 21:03:00.57 wjilFIid.net
>>12
WM_VSCROLL messageが16bitで値をよこすんだった。
>>13
だよね、はいるよね、問題はそっちじゃなかった。
お手数を掛けて申し訳ない。
18:デフォルトの名無しさん
16/01/13 21:05:21.53 o1e0oiX3.net
リモートプロセスのウィンドウプロシージャとかGetMessageとかSendMessageとかフックすれば行けるんでないの
WH_WNDPROCは無理だぜ
19:デフォルトの名無しさん
16/01/13 22:39:43.83 U6qWkuuA.net
最近、片山先生見ないね。
忙しいのかな
20:デフォルトの名無しさん
16/01/13 23:53:20.75 ia1lU0C0.net
片山はム板の害虫だからな
誰かに駆除されたんじゃねーのw
片山は未来永劫来ないでくれると有難い
21:デフォルトの名無しさん
16/01/14 00:16:58.27 H3jYOyT9.net
ニートです1からプログラミングを教えてくれる [無断転載禁止]・2ch.net
スレリンク(prog板)
22:デフォルトの名無しさん
16/01/14 00:20:42.44 H3jYOyT9.net
片山ウザイ死ね
片山ウザイ死ね
片山ウザイ死ね
片山ウザイ死ね
片山ウザイ死ね
片山ウザイ死ね 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
23:片山博文MZ ◆T6xkBnTXz7B0
16/01/14 00:23:21.55 H3jYOyT9.net
あたまだいじょうぶ
24:デフォルトの名無しさん
16/01/14 01:32:07.40 6PBsRRef.net
SetWindowsHookEx()でタッチやらジェスチャやらのメッセージを捉えられるんじゃないの?
25:デフォルトの名無しさん
16/01/14 05:30:49.75 55qL7TdQ.net
自演
26:デフォルトの名無しさん
16/01/16 21:54:28.31 MtHEXlH9.net
ARM上でもWin32動作可能にするってよ
よかったなお前ら
27:デフォルトの名無しさん
16/01/16 22:28:43.71 Ip/Ue952.net
IntelやAMDと違って、ARMのプロセッサベンダーは
Windowsに配慮しないからどうせ遅くて使い物にならないんだろ
RTでも同じことやったろ
28:デフォルトの名無しさん
16/01/19 19:20:02.04 w01QVg+/.net
DateTimePicker コントロールを持つウィンドウがあります。
コントロールの▼を押すとカレンダーが表示されますが、このカレンダーのサイズ(ウィンドウ、フォントとも)を変更したいと思っています。
しかし、このカレンダーのウィンドウハンドルを取得する方法が分かりません。
DTN_DROPDOWN のタイミングでコントロールのウィンドウハンドルを EnumChildWindows に渡してみても何も列挙されません。
つまりカレンダー部分は子ウィンドウではないのでしょうが、EnumWindows ではどれがカレンダーなのか判断しかねます。
これらを試す前に DateTimePicker コントロールに対して WM_SETFONT を試していますがこれは単に日付のみフォントが変更され、
カレンダー部はまったく変化ありません。
よろしくお願いします。
29:27
16/01/19 20:43:08.74 w01QVg+/.net
自己レスです。
カレンダーウィンドウハンドルは DateTime_GetMonthCal で取得できることが分かりました。
また、ウィンドウサイズは取得したハンドルを元に MoveWindow等でサイズ変更はできましたが、
フォントサイズを WM_SETFONT で変更することはできませんでした。
この辺はさすがに簡単に実現するのは不可能と諦めるべきでしょうか?
30:デフォルトの名無しさん
16/01/19 20:50:31.01 XjyMc5te.net
>>28
自分で作る方が速いとおもうよ
31:27
16/01/19 20:52:09.47 w01QVg+/.net
連投すみません。自己解決しました。
SetWindowTheme でテーマを無効にすればサイズ変更できました。
お騒がせしてすみませんでした。
32:デフォルトの名無しさん
16/01/19 20:54:22.49 9RLBZfMa.net
いや貴重な情報だと思うよ
俺は使わないけど
33:デフォルトの名無しさん
16/01/20 21:01:11.40 e3A3Udpz.net
初心者の質問はここでいいのでしょうか?
URLリンク(www.kumei.ne.jp)
ここで作っているようなウィンドウで親から独立したものにするには、どういう変更をしたらいいでしょうか?
34:デフォルトの名無しさん
16/01/20 21:16:26.78 eHYWF0WY.net
CreateWindowで親ウィンドウの指定無し
35:32
16/01/20 21:31:24.98 e3A3Udpz.net
>>33
親切にありがとうございました
親ウィンドウのハンドルをNULLに変えて、メニューハンドルもNULLに変えて、ウィンドウの種類をWS_OVERLAPPEDWINDOWに変えたらできました!
36:デフォルトの名無しさん
16/01/21 12:52:26.19 zpe1QHZ3.net
ここのひとはみんな知ってるから
そういうレベルのことはいちいち報告しなくていいよ
37:デフォルトの名無しさん
16/01/21 15:43:01.51 yQ7XttE4.net
>>35
水をさすお前がいらない
38:デフォルトの名無しさん
16/01/21 16:31:35.32 jQP351Wh.net
このスレでドヤ顔することがステータスと感じるアホが定期的に湧くんだよなあ。
>>29とか>>35とか技術的に何も解ってないけど書き込みに来ている。
39:デフォルトの名無しさん
16/01/21 16:36:55.72 FX4iXu3R.net
水差し野郎
ガソリン差し野郎
火消し
爆発物
40:デフォルトの名無しさん
16/01/21 22:17:17.69 U885wehe.net
目先は大荒れだが,いずれ日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する
基調はリスクオンの株式暴騰、金暴落だね
日銀砲がくるぅ!日銀砲がくるぅ!
41:デフォルトの名無しさん
16/01/23 08:43:44.82 CgOtOMI0.net
>>39
Win32APIってすごいんだね
42:デフォルトの名無しさん
16/01/23 21:52:41.24 +1x++qqq.net
今でも仕事でwin32api使う場合ありますか?
43:デフォルトの名無しさん
16/01/23 22:00:08.53 xc9KTHaP.net
>>41
あるあるC#の場合でさえWin32API呼びださなきゃいけなくなることがままある
44:デフォルトの名無しさん
16/01/27 11:09:12.58 ubzWCtFz.net
Win64APIまだ?
45:デフォルトの名無しさん
16/01/27 20:28:00.57 VvXpIcfG.net
Win128APIが欲しい
46:デフォルトの名無しさん
16/01/28 01:26:45.10 WiblVc97.net
もう一声
47:デフォルトの名無しさん
16/01/28 09:27:47.10 nlvFx6uK.net
Win256APIが欲しい
48:デフォルトの名無しさん
16/01/28 09:46:42.11 HvsZ1lb+.net
WinAPIってもう進化しないの?
49:デフォルトの名無しさん
16/01/28 10:45:53.17 mkheAnhu.net
10586でも普通にAPI追加されてたりするけど?
50:デフォルトの名無しさん
16/01/28 11:33:13.05 dcg0T2/H.net
APIってより、コモンコントロールのVerUpお願いします。
51:デフォルトの名無しさん
16/01/30 00:52:11.27 AjjCF8oJ.net
てst
52:デフォルトの名無しさん
16/01/30 09:53:55.83 1awzzRNN.net
目先は大荒れだが,いずれ日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する
基調はリスクオンの株式暴騰、金暴落だね
日銀砲が北!日銀砲が北!
今度の黒田砲は緩慢に効いてくる
53:デフォルトの名無しさん
16/02/04 13:33:10.29 M0mujwf4.net
Windowsアプリはwin32じゃなきゃ作れない?
54:デフォルトの名無しさん
16/02/04 14:00:42.81 XbjzwYmp.net
いいえ
55:デフォルトの名無しさん
16/02/06 17:11:28.72 fGMj84cM.net
プリンタの一意(シリアルでも良い)の情報を取得出来ますか?
(例)
プリンタ1:USB接続のデバイス
プリンタ2:LAN上のデバイス
プリンタ3:Bluetooth上のデバイス
違うポートや、接続方法を変更しても、変わることの無いプリンタ固有の情報を取得したいです。
56:デフォルトの名無しさん
16/02/06 17:24:13.58 bnegH6uR.net
意味が分からないです。
EnumPrintersで希望の情報が取得できないなら、その理由をお願いします。
57:デフォルトの名無しさん
16/02/06 17:46:57.72 fazvGls3.net
IrOBEX
58:デフォルトの名無しさん
16/02/06 18:09:41.61 ewLa/pEP.net
>>54
一般的には無理だろ
59:デフォルトの名無しさん
16/02/06 23:39:17.94 XRyA0EjL.net
コントロールパネルのプリンタ一覧に出るくらいの情報は取れるだろ
60:デフォルトの名無しさん
16/02/07 11:57:58.30 fu54F6yL.net
目先は大荒れだが,いずれ日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する
基調はリスクオンの株式暴騰、金暴落だね
日銀砲が北!日銀砲が北!
今度の黒田砲は緩慢に効いてくる
61:デフォルトの名無しさん
16/02/08 18:21:03.34 LpGg46bP.net
1.時間
2.情報(知識)
3.人
4.物
5.金
6.公務員
62:デフォルトの名無しさん
16/02/13 08:27:03.25 GG2kKfuP.net
【SendMessage】関数【PostMessage】関数についてご教授下さい。
開発中のシステムからメモ帳のウィンドウハンドル(入力ウィンドウ)を取得し、
SendMessageやPostMessageを行っています。
PostMessageは成功するのですが、SendMessageが失敗してしまます。
なぜ、SendMessageが失敗するのか、原因をご教授下さい。
コードは以下の通りです。
-------------------------------
HWND wh = FindWindow(nullptr, p);//pは”無題 - メモ帳”です 本体のウィンドウハンドルを取得
wh = GetWindow(wh,5);//入力欄のウィンドウハンドルを取得
SendMessage(wh, WM_KEYDOWN, 'A', 0);
PostMessage(wh, WM_KEYDOWN, 'B', 0);
-------------------------------
このコードを実行すると b のみ出力され a が出力されません。
なぜでしょうか?環境面など悪さしてますか?それともコーディング間違いでしょうか?
同期処理を実現したいのでSendMessageが使いたいのです。
環境は以下です。
--------------
Windows7
Visual Studio
C++ cli
--------------
63:デフォルトの名無しさん
16/02/13 08:52:05.92 BxXCiqDX.net
送り先が間違ってる
メモ帳でWM_KEYDOWNをハンドルしている所はメインウィンドウではない
SendMessageとPostMessageの違いは同期か非同期かだけではない
64:デフォルトの名無しさん
16/02/13 08:56:36.73 BxXCiqDX.net
具体的に言うと、SendMessageだとTranslateMessageが呼ばれないから駄目
65:デフォルトの名無しさん
16/02/13 09:03:07.21 ORf98vEQ.net
KEYUPは?
66:デフォルトの名無しさん
16/02/13 09:36:08.50 kF8JbQ5J.net
transrate されないから WM_CHAR で送るんだっけ?
67:デフォルトの名無しさん
16/02/13 13:39:44.07 pQPzYQNF.net
そう。
仮想キーボード作るのにkeybd_event知らずにWM_CHAR送ってたことあったわ。
68:デフォルトの名無しさん
16/02/13 15:16:29.22 GG2kKfuP.net
>>62
送り先はあっています。
PostMessage(wh, WM_KEYDOWN, 'B', 0); が成功してますので・・・
>>63
>>64
>>65
>>66
ありがとうございます。
SendMessage(wh, WM_CHAR, 'A', 0);
で出来ました。
つまり、SendMessage でWM_KEYDOWN は使えないということですね?
次のステップなのですが、
「右矢印キーを2回押す」や「ctrl+Sを押す」といった事は、
SendMessageで行えますか?PostMessageを使うしかないでしょうか?
コード例以下です。
「右矢印キーを2回押す」
SendMessage(wh, WM_KEYUP, VK_RIGHT, 0);
SendMessage(wh, WM_KEYUP, VK_RIGHT, 0);
「ctrl+Sを押す」
SendMessage(wh , WM_KEYDOWN , VK_CONTROL , 0);
SendMessage(wh , WM_KEYDOWN , 'S' , 0);
SendMessage(wh, WM_KEYUP, VK_CONTROL, 0);
SendMessage(wh, WM_KEYUP, 'S', 0);
ちなみにkeybd_eventやSendInputは最前面ウィンドウに対する操作になってしまうので、
使えないです。
※ウィンドウが最前面か否かに関わらず常に安定した操作を実現したいのです
69:デフォルトの名無しさん
16/02/13 15:45:29.59 QD8KbUeS.net
つ SendMessageCallback
70:デフォルトの名無しさん
16/02/13 16:13:10.53 GG2kKfuP.net
>>68
ありがとうございます。
SendMessageCallback というものがあったんですね。
しかし、「SendMessage でWM_KEYDOWN は使えない」という原因の解決にはならないですね。
71:デフォルトの名無しさん
16/02/13 16:39:49.96 BsiOP/VU.net
2
72:デフォルトの名無しさん
16/02/13 18:32:28.11 s+9Slq2v.net
>>69
諦めるかリモートプロセスに潜り込んでサブクラス化するか
どちらか選べ
73:デフォルトの名無しさん
16/02/14 06:41:33.20 l8k1FRK9.net
Ctrl+SはTranslateAcceleratorが処理しているので
宇宙が終わるまで頑張ってもラノベの能力者でもSendMessageで実行することは不可能
74:デフォルトの名無しさん
16/02/14 10:00:11.42 U4HqBg4Q.net
つーか、相手がメモ帳である必要はあるのか?
メモ帳もどきを自作した方がいいのではないか?
監視対象を逆にして、メモ帳もどきがシステムから文字を読み取ればいいのではないか?
75:デフォルトの名無しさん
16/02/14 11:45:01.21 pLP1J6Vd.net
まずテストで対象をメモ帳にしているだけではないか?
76:デフォルトの名無しさん
16/02/15 14:46:28.65 8Os0TVn8.net
ほんとにやりたいのはもちろんネトゲのクラックだけどバラすと叩かれるので言えません
77:デフォルトの名無しさん
16/02/15 15:02:27.81 Y2R/v65U.net
んな事企んでる奴がSendMessageに目をつけるかよw
だよな?
78:デフォルトの名無しさん
16/02/16 15:03:44.56 Ktv0T7Kd.net
MFCで作られたアプリを他のプロセスから操作というかデータを抜き出したいんですけど
どのようなアプローチがありますでしょうか
79:デフォルトの名無しさん
16/02/16 16:24:35.08 98frxkoE.net
ざっくりしすぎ
80:デフォルトの名無しさん
16/02/16 21:53:32.80 lC/6c5cB.net
ぎっくりごしすき に見えた 逝ってくる
81:デフォルトの名無しさん
16/02/18 12:25:34.32 S96kZ0X7.net
>>77
JSON
82:デフォルトの名無しさん
16/02/19 17:44:52.75 4ohwfksv.net
時間のかかる処理において、ESCキーで処理を中止できるようにする場合、
if (GetAsyncKeyState(VK_ESCAPE) != 0)
で判定する場合と
while (PeekMessage(&msg, hwnd, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE)) {
if (msg.message == WM_KEYDOWN && msg.wParam == VK_ESCAPE)
で判定する場合と
で、どちらも期待通りに動いていますが、お作法としてはこっちがいい。
ということはありますか?
83:デフォルトの名無しさん
16/02/19 18:58:40.25 LIHPi+yd.net
GetAsyncKeyStateの方だとウィンドウにフォーカスが無くてもESCキーが押されたのを拾うが
PeekMessageの方だとウィンドウにフォーカスが無いと検出できないという違いはあるね
だけど、PeekMessageでウィンドウメッセージが拾えているということは
ウィンドウを作成したスレッドで時間のかかる処理をしているみたいだけど
>URLリンク(msdn.microsoft.com)
>(PeekMessage 関数は、ほかのスレッドに所属するウィンドウに関連付けられているメッセージは取得しません)
中断を受け付けるような時間のかかる処理は、ウィンドウを作成したスレッドとは別スレッドでやった方が良い
もしくは定期的にPeekMessageを呼んでディスパッチしてやるという方法もあるが
ダサいのでスレッドを使った方が良いだろう
84:デフォルトの名無しさん
16/02/19 21:08:52.65 4ohwfksv.net
なるほど、よく分かりました。
フォーカスのことを失念していました。
このままだと、処理中に別のアプリケーションで作業しつつESCを押すと
本処理が中断されてしまいますね。
スレッドに関しては仰るとおりです。
どうもありがとうございました。
85:デフォルトの名無しさん
16/02/20 02:04:49.32 S2Po0hUW.net
エスケープをホットキーに登録する方法もあるよ
86:デフォルトの名無しさん
16/02/20 04:00:53.50 DENPjcvu.net
SetWindowPos で質問です。
通常のオーバーラップ、ポップアップウィンドウを前面(手前)に表示したい場合、
SetWindowPos で HWND_TOP を指定すれば実現できます。
同じ調子で、あるウィンドウの中にいくつも重なり合うコントロールの中で、
任意の一つのコントロールを前面に表示したいと思い、先と同じように
SetWindowPos に HWND_TOP を指定してみたのですが、前面になりません。
思ったのとは逆に、HWND_BOTTOM を指定すれば前面になります。
MSDN によると、HWND_BOTTOM はZオーダーの最後と書いていますので、
Zオーダーの最後にくることによって、結果的に前面に表示されると思えば
納得できなくもない(ダイアログエディタではその挙動なので)のですが、
この解釈で合ってますか?
実際、そのように動いてはいますが、なんだか釈然としません。
87:デフォルトの名無しさん
16/02/21 12:57:11.04 J0DDw2OI.net
>>85
WS_CLIPSIBLINGS を指定し忘れてない?
重なり合う場合これを指定しないと、どのウィンドウが前面にあるか関係なく、
最後に描画操作したウィンドウがそのまま表示されるので、bottomにあるウィンドウが
一番手前にあるように見えたりする。
88:片山博文MZ ◆T6xkBnTXz7B0
16/02/21 23:54:03.12 mZ9I4pVL.net
特定のアプリの時間を止めることは出来ますか?
89:デフォルトの名無しさん
16/02/22 00:01:15.97 e00mKUAj.net
>>86
お返事ありがとうございます。何とか解決しました。
>>85を具体的に説明しますと、ダイアログベースで作ったメインのオーバーラップウィンドウにいくつか
コントロールが配置されていて、あるボタンを押すとダイアログのある範囲のデザインを変更すべく、
別の子ウィンドウスタイルのダイアログが上に表示されます。
これまでは>>85の解釈が正解であれば、HWND_BOTTOMでZオーダーの最後にすることにより前面に来るような挙動をしています。
ここで子ダイアログにWS_CLIPSIBLINGSを指定して、SetWindowPosでHWND_TOP、HWND_BOTTOMとも試してみましたが、
親ダイアログ内の重なり合うコントロールより上には正しく表示されません。
親ダイアログ内の重なり合うコントロールにもWS_CLIPSIBLINGSを付与してみると、今度はSetWindowPosでHWND_TOPを
指定すると当初の希望通りに前面に子ダイアログが表示されました。
HWND_BOTTOMを指定すると、今度は一番下になりました。
これで解決に見えますが、最後に質問です。
親ダイアログ内の重なりあるコントロールにWS_CLIPSIBLINGSを付与しましたが、VSのダイアログエディタでは操作できないので
プログラムでわざわざ付与しています。
ダイアログベースの場合、ここまでしなければいけないものでしょうか?
90:デフォルトの名無しさん
16/02/22 00:03:09.54 Hluu6IDo.net
デバッガー経由で実行してINT3しろ
91:片山博文MZ ◆T6xkBnTXz7B0
16/02/22 00:21:47.83 C/gFN+RL.net
アプリの実行状態を保存したり、復元したりできるだろうか?
92:デフォルトの名無しさん
16/02/22 01:01:11.43 efQJgPcz.net
SuspendThreadとか?
93:片山博文MZ ◆T6xkBnTXz7B0
16/02/22 01:08:29.91 C/gFN+RL.net
>>91
それだ!
94:デフォルトの名無しさん
16/02/22 01:33:00.33 wBLibIRF.net
>>88
子ダイアログを表示する際、同時に、重なり合う親ダイアログ内のコントロールを非表示にすれば?
95:片山博文MZ ◆T6xkBnTXz7B0
16/02/22 01:47:42.64 C/gFN+RL.net
WS_CLIPCHILDREN
96:86
16/02/22 13:07:14.63 eU9Lov9M.net
>>88
プログラムでスタイルを変更するか、rcをテキストエディタで直接編集するしかないような気がします。
ダイアログ内のコントロールは重なり合うような位置に配置することが通常ないので、
コントロールにWS_CLIPSIBLINGSをつける必要性がほとんどないせいかと思います。
97:デフォルトの名無しさん
16/02/22 13:43:47.72 v1Wohs7h.net
今のWindowsではどうか知らんけどXPの時は何故かコモンコントロールの
WS_CLIPCHILDRENとかWS_CLIPSIBLINGSは期待通りの動きをしなかった記憶が。。。
WS_CLIPCHILDREN指定しても親windowのdrawでコントロールが塗りつぶされちゃって
親window側でExcludeClipRect使ったりしてた
98:片山博文MZ ◆T6xkBnTXz7B0
16/02/22 14:06:29.16 C/gFN+RL.net
WS_CLIPCHILDRENは、親に指定するんじゃなかった?
99:デフォルトの名無しさん
16/02/22 14:25:04.74 v4lNOwvr.net
さすがにWS_CLIPCHILDRENを子ウィンドウにセットするバカはいないだろう
CHILDRENってなってるのにさ
100:デフォルトの名無しさん
16/02/22 15:31:52.54 e00mKUAj.net
85です。
>>93
そのようにする場面もあるのですが、今回は注意喚起の表示という仕様のため、条件を満たすまで
今回の子ダイアログは表示しっぱなしだけど他のコントロールは操作できるようになります。
なので、見た目はポップアップぽいけどフォーカスは奪わないし親ウィンドウの移動にも追随する
という感じになります。
>>95
どうやらそのようですね。
保守性がよろしくないので、一旦元の形に戻してしまいました。
下に続きます。
>>94,96
結論から書くと、WS_CLIPCHILDRENでうまく行きそうです。
ただ、WS_CLIPCHILDRENのみを付与しても目的の動作にはなりませんでした。
この場合、コモンコントロールが混じってると親と子ダイアログの前後関係がさらにおかしくなりました。
親ダイアログに配置されているコモンコントロールが常に子ダイアログより前面に来てしまいます。
なおかつ、その状態で子ダイアログに配置されているコントロールのみ、前面に表示されます。
(子ダイアログ本体の枠や背景のみが後ろになる)
SetWindowPosでHWND_TOPやHWND_BOTTOMを付与しても変化ありませんでした。
長いので区切ります
101:デフォルトの名無しさん
16/02/22 15:32:18.37 e00mKUAj.net
諦めかけましたが、試行錯誤の結果、次のようになりました。
親ダイアログ:WS_CLIPCHILDRENを付与
子ダイアログ:WS_CLIPSIBLINGSを付与
子ダイアログ表示時のSetWindowPosのフラグ:HWND_TOP
リソースを直接編集したり、ソースレベルでWS_CLIPSIBLINGSを各コントロールに付与しない。
これで完全に意図した動作となりました。
ただ、これは大したことは無いですが、親ダイアログで使っているグループボックスはすべて透過指定を
しなければグループ内部が真っ白になります。
通常、これをしなくとも透過したような表示なるコントロールですが、WS_CLIPCHILDRENを使う場合は
これも忘れてはいけないことなります。
うっかり忘れそうな約束事なので、ウィンドウスタイルや透過など一切気にしなくていい>>85の作りの方が
気楽ではありますが...
皆さんありがとうございました。
102:デフォルトの名無しさん
16/02/22 15:44:46.41 v1Wohs7h.net
コモンコントロールはパフォーマンス向上の為かなんか知らんけど
何か変なことやってるんだよ
103:デフォルトの名無しさん
16/02/22 15:46:07.35 v1Wohs7h.net
>>97
もちろん親windowに指定した
104:デフォルトの名無しさん
16/02/25 06:57:11.58 PLgU9tTi.net
「XXX を削除できません。
ほかの人またはプログラムによって使用されています。
ファイルを使用している可能性があるプログラムをすべて閉じてから、やり直してください。」
が出る場合、そのファイルを使用しているプロセスを知る方法はありますでしょうか
105:デフォルトの名無しさん
16/02/25 07:56:07.46 KuR04bG+.net
あるよ
ただ、簡単ならいくらMicrosoftが能無しでもそこのダイアログに誰が開いているか表示するだろう
そのくらい面倒くさくまともな方法じゃないってことは察しろ
お前には無理
106:デフォルトの名無しさん
16/02/25 08:19:39.32 PLgU9tTi.net
あるだろうか
たぶん、ファイルシステムにフラグを立てているだけで
OSですら誰が専有してるか知らないのではないか
知ってたらプロパティのとこに表示するはず
107:デフォルトの名無しさん
16/02/25 08:51:54.48 w0W3/+pC.net
>>103
フリーソフトであるけどプログラムからやりたいのん?
108:デフォルトの名無しさん
16/02/25 09:23:48.92 m/jN0scy.net
>>105
カーネルオブジェクトに書いてあるっての
無知が下らない予想するな
109:デフォルトの名無しさん
16/02/25 09:56:10.61 pDSMfAMl.net
Unlocker(やその類)入れてない奴居るんだ
110:デフォルトの名無しさん
16/02/25 10:20:15.36 o9gTGVty.net
わざわざフリーソフト入れんでも知りたいだけならopenfilesでええやん。
111:デフォルトの名無しさん
16/02/25 10:35:43.60 5pSxGIX0.net
>>108
ミサワの絵がバックについてそう
112:デフォルトの名無しさん
16/02/25 10:57:38.25 xnX4JkuY.net
>>103-105
セキュリティーポリシーで
全ディレクトリを監視フラグ立てておいて
使用中ですのメッセージが出たら
イベントログのセキュリティー監査を見る
113:デフォルトの名無しさん
16/02/25 21:23:11.22 2hov+RIN.net
>>103
人間が見てわかればいいだけなら、リリースモニターで見るのが楽
URLリンク(www.atmarkit.co.jp)
114:デフォルトの名無しさん
16/02/25 22:21:38.65 e75sLQ6e.net
本当はOSとは、そういうことを簡単に見られるようにするべきものなんだがね
なんでひとこと「ソフトXXXがファイルにロックをかけています」が出せないんだろう
115:デフォルトの名無しさん
16/02/26 00:14:13.49 sByuqtKs.net
本当にそうだよね
以下のプロセスで使用中なので削除できません
・・・
・・・
って感じで表示してくれればよいのにね
116:デフォルトの名無しさん
16/02/26 02:16:20.97 h0IG9LPJ.net
USBメモリーの取り外しの時もそやな
117:デフォルトの名無しさん
16/02/26 06:10:00.75 SbNdnXGp.net
全てアクセス出来る権限がある人の発想だから
そうじゃないケースもある
118:デフォルトの名無しさん
16/02/26 07:12:26.23 JdiTwSlc.net
そうですね
で
「たぶん、ファイルシステムにフラグを立てているだけで
OSですら誰が専有してるか知らないのではないか
知ってたらプロパティのとこに表示するはず」
とか述べちゃって馬鹿にされた溜飲はMSを罵倒することで醒めましたかね
愚かな子よ
119:デフォルトの名無しさん
16/02/26 11:00:17.08 3qM7nJI0.net
表示したら何も考えずプロセス強制終了させたり、必要だからロックしてんのにソフトに文句つける奴が出るだろ
120:デフォルトの名無しさん
16/02/26 11:47:06.68 fV5IfbGO.net
unixやlinuxみたいな仕様でいいんだけどね
なぜWindowsではそうなってないかというと、
これはもうFATの仕様を引きずってるために他ならない
121:デフォルトの名無しさん
16/02/26 14:23:21.89 VQGl6zaq.net
>>118
msのsvchostばっかり出て来て都合が悪いのかもな
122:デフォルトの名無しさん
16/02/26 14:52:18.99 jCv12aZp.net
権限がないとわからない
そのプロセスじゃなく呼び出し元のアプリ/ウインドウを追究・表示しないと結局わからない
つまり決定打となる解決策はこれ
「誰かがファイルをつかんでいるのでシステムを再起動してください」
123:デフォルトの名無しさん
16/02/26 15:29:31.56 oOqM6/8K.net
シャットダウン時に妨げてるプログラムとして「ログオフの音を鳴らしている」をリストアップするWindowsさんが
そんな体面を取り繕うような真似をするわけがなかろう
124:デフォルトの名無しさん
16/02/27 01:27:00.12 knS9v8z9.net
最近のWindowsと特定のプログラムの組み合わせだと何で開かれてるか表示される場合もあるけど
あれは何が条件なんだ?
125:デフォルトの名無しさん
16/03/07 13:29:11.54 0uegXE54.net
教えて下さい。
カメラをPCにつなぐとポータブルデバイスと出てドライブレターが表示されないのがあるんどえすが
この中のファイルにアクセスする方法を教えてください。
ちなみに、エクスプローラでは普通にポータブルデバイス内のファイルにアクセスできます。
ドライブレターが無いのでどうやってアクセスしていいのかわからないので・・
126:デフォルトの名無しさん
16/03/07 13:36:06.47 ukNPOJq0.net
UNCパス
127:デフォルトの名無しさん
16/03/08 00:06:02.05 4rcXoPLf.net
WPDならIPortableDevice使えばいいんじゃね
128:片山博文MZ ◆T6xkBnTXz7B0
16/03/10 18:32:23.79 xtkhTFvc.net
SmartScreenのせいでEXEの野良配布が困難になってきてるよな。
129:片山博文MZ ◆T6xkBnTXz7B0
16/03/10 18:46:42.47 xtkhTFvc.net
署名とかストアとか覚えないといけないの?
130:デフォルトの名無しさん
16/03/11 19:47:15.34 qqLNoNER.net
>>127
zip 配布もだめなの?
131:デフォルトの名無しさん
16/03/11 22:34:26.95 S7VWGxAb.net
win32→storeのプロジェクトはまだ生きてたみたいだから
そういう流れになっていくんだろうな
132:デフォルトの名無しさん
16/03/13 19:04:41.84 Fmygxn2c.net
セキュリティ
133:関連についての質問。 他のアプリケーション(例えそれが管理者権限で実行されたとしても)に絶対読まれたくないデータはどうやって保存すればいい? もし無理なら、そのデータに他のアプリケーションからアクセスされたかどうを知る手段はある?
134:デフォルトの名無しさん
16/03/13 19:08:51.86 N6Vxxlvc.net
>>131
他のアプリのしらない方法と鍵で暗号化すればいい
他のアプリが自分のアプリを検索して鍵を探すようなことをするのであれば‥その鍵を別の鍵をつかって暗号化するとか‥
完全に安全を保障する方法はないね
135:デフォルトの名無しさん
16/03/13 19:16:05.80 Qm5VdHR0.net
管理者権限なんてローカル限定の権限なんだからリモートに保存すればいい
もっとも、保存直前にプロセスのダンプを取られたらどんな方法を取ろうが無力
136:デフォルトの名無しさん
16/03/13 19:48:45.08 N6Vxxlvc.net
>>133
悪意を前提で考えると,リモート保存も安全性には寄与しない
137:デフォルトの名無しさん
16/03/13 20:08:01.48 ugQKdrMu.net
Win32スレに来ているくらいだからまずはMSDNで探してみるべきだろう。データ保護APIってのがある。
ProtectedMemoryを正しく使えば>>133の言うようなプロセスのダンプからも保護できる。
138:デフォルトの名無しさん
16/03/13 20:25:41.60 N6Vxxlvc.net
>>135
そのデータ保護APIなるものは,同一アカウント上のプロセス間で保護するのか?
異なるアカウント間では保護できるようだが,ようするにそれはパスワードレベルの保護のことだよね
139:デフォルトの名無しさん
16/03/13 21:15:28.14 ugQKdrMu.net
そりゃもちろん、プロセス間で保護できなきゃザルなわけで。仮に他プロセスからセッション鍵を盗むことが
できたとしても、その鍵を使って保護されたメモリからデータを取り出すことはできない。
ファイルに保存されたものがアカウント+パスワードレベルの保護になるのはしょうがないが、他プロセスから
保護することとパスワードに基づく保護というのは別に排他的な概念じゃないからな。
140:デフォルトの名無しさん
16/03/13 21:42:17.07 N6Vxxlvc.net
>>131 にもどって,他のアプリに読まれたくないデータをどこに保存すればいいかっていう話なんだから
>ファイルに保存されたものがアカウント+パスワードレベルの保護になるのはしょうがない
ということならば, >>131 には否定的な回答しかできないわけだ.
141:デフォルトの名無しさん
16/03/13 21:44:05.47 Fmygxn2c.net
サンクス。
その何とか保護API調べてみるわ。
>悪意前提
悪意前提で考えてる。
>ネットワーク
ネットワーク上に保存したくないからローカルで、というわけでローカルでのファイル保護について質問した。
保護されたファイルへアクセスしたプロセスって後から調べたりるの無理だよね?
詳しくないけどグローバルフックとやらを使えばリアルタイムで何とかなるのか?
保護しきれないならせめてファイルアクセスがあったかどうかを知りたい。
142:デフォルトの名無しさん
16/03/13 22:29:44.93 ugQKdrMu.net
>>138
なんか面倒くさい奴だなぁw
別にパスワードによる保護を否定するつもりはないし、>>137で書いたようにそもそも>>135の
143:プロセスの保護の話とパスワードを使うかどうかってのは全然関係ない話なんだが。 要は>>136の1行目と2行目には脈絡がないということ。
144:デフォルトの名無しさん
16/03/14 00:10:23.99 J7Gv1smK.net
話を面倒臭くしているのは自分自身だと思うぞw
145:デフォルトの名無しさん
16/03/15 13:27:09.56 SqQ89npq.net
Windows7でMCIコマンドでCDドライブの操作試みてるけど、
トレイの開閉ステータスが取れないね。
・メディアが入っていなければ常にMCI_MODE_OPENを返す...常にオープンしか返さない
・メディアが入っている場合は常にMCI_NOT_READYを返す...中身を読める場合でもNOT_READY
MCIの仕様変わっちゃったの?
試しにフリーソフトも動かしてみたけどステータス見れてない感じ。
146:デフォルトの名無しさん
16/03/18 22:48:07.36 tzMPzhn8.net
質問があります
ツリービューコントロールの要素をD&Dで移動させる処理を
APIバイブルのサンプルを参考に作りました。
(TVN_BEGINDRAGを捕捉してTreeView_CreateDragImageして
マウスキャプチャとかする感じの)
それが出来上がってからほかのソフトのウィンドウにもD&Dを
したくなりました(ツリービューの要素にはファイルパス情報が入っているので)
それを調べたらOLEを使うのが一般的っぽかったので、
IDropSourceとかIDataObject等一通り調べてなんとか理解できたかと思います。
しかし、ツリービュー内でのD&Dなら今まで通り、他のウィンドウへのD&Dなら
ファイルパス情報を渡すみたいな感じにしたいのですが、
こういう場合はツリービュー内でもOLEを使わないと無理なのでしょうか?
147:デフォルトの名無しさん
16/03/19 16:00:00.47 h2RjUxSC.net
OLEで使用するDoDragDrop関数がドロップを終えるまで制御が返らないので、
前者の方法(TVN_BEGINDRAG を捕捉して始めて WM_MOUSEMOVE と WM_LBUTTONUP を捕捉する)
との併用は不可能だと判りました。
OLEを使って同じツリービュー内でやるには
OLEのIDropTargetを使う方法じゃないとダメっぽいとの結論になりました。
148:デフォルトの名無しさん
16/03/20 08:15:49.40 J2K9MuYg.net
IDispatch派生クラスのオブジェクトをIDispatch*で受け取ったさい、そのオブジェクトのサイズを取得する方法はないでしょうか。
つまり sizeof(実際のクラス) を知りたいのです。
149:デフォルトの名無しさん
16/03/20 10:30:56.23 YlJ66Eyf.net
無い というかそういう設計を考えてはいけない
150:デフォルトの名無しさん
16/03/20 12:53:05.21 qAkJCql8.net
イベントをフックをする時はSetWindowsHookExで登録してUnhookWindowsHookExで削除するのが基本のようですが
UnhookWindowsHookExを呼び出せずにアプリケーションが終了してしまった場合はどのようになりますか?
151:デフォルトの名無しさん
16/03/20 13:37:31.29 WeI0+7T0.net
自分の環境で実行してみりゃいいじゃないの
152:147
16/03/20 18:19:28.89 qAkJCql8.net
>>148
試そうかと思いましたがクラッシュしたり意図しない動作のまま回復不能になったりしそうで躊躇しています
そのような危険がないのであれば試してみようかと思いますが・・・
153:デフォルトの名無しさん
16/03/20 18:23:37.30 9URbr6kI.net
>>149
仮想マシン
154:デフォルトの名無しさん
16/03/20 18:41:38.31 QxKIfwds.net
>>149
他人なら
> クラッシュしたり意図しない動作のまま回復不能になったり
してもいいってか?
シネよ
てか、仮想でやれ
155:デフォルトの名無しさん
16/03/20 21:26:43.48 29yt69lx.net
おかしくなったとしても再起動すればよいだろ
クラッシュが怖くて開発が出来るかよ
156:デフォルトの名無しさん
16/03/20 21:49:19.68 zQsHS3k2.net
ディスクを破壊しながらクラッシュとか、
昔はよくやったものだ。
157:デフォルトの名無しさん
16/03/20 22:08:27.62 qUimOGMq.net
えーと、要らない一時ディレクトリを丸ご�
158:ニ削除するプログラムにしよう。 /(^q^)\親ごと全部消えた!!!
159:デフォルトの名無しさん
16/03/21 07:05:13.67 nDSulSOJ.net
ディレクトリ階層削除する関数で
空文字指定したらルートまで全部みたいな
160:デフォルトの名無しさん
16/03/21 08:32:25.02 Mnjzg0Wz.net
アンインストール時に親ディレクトリ毎削除したやつがおってだな
161:デフォルトの名無しさん
16/03/21 08:53:39.84 PmGMa+wt.net
おっと、富士通の悪口はそこまでだw
162:デフォルトの名無しさん
16/03/21 12:36:26.84 b4wXoPlv.net
昔みずいろとかいうエロゲがあって
163:デフォルトの名無しさん
16/03/21 12:37:40.64 dZKdhS3z.net
>>155
こええよ、そういう話は夏にしてくれ
164:デフォルトの名無しさん
16/03/22 15:34:10.27 cRV6j0bX.net
私、rmちゃん
今あなたの後ろにいるの
165:デフォルトの名無しさん
16/03/23 00:43:37.49 kpR9M/as.net
'rm' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
166:デフォルトの名無しさん
16/03/24 01:43:08.29 +x6xcDgj.net
windows7でmingwのwindresでsyntax errorになる。
下記のリソーススクリプトでPUSHBUTTONの所でエ
ラーになる。何がおかしいのだろうか。
/*リソーススクリプト*/
KITTY DIALOG 10 , 10 , 100 , 50
FONT 12 , "MS ゴシック"
CAPTION "Magical nyan nyan TARUTO" {
LTEXT "終了します\nよろしいですか?" , -1 , 5 , 5 , 90 , 20
PUSHBUTTON "OK" , IDOK , 40 , 35 , 20 , 10
}
167:デフォルトの名無しさん
16/03/24 01:55:58.88 019JwaRF.net
IDOKが定義されてないとか
168:デフォルトの名無しさん
16/03/24 06:39:03.44 +x6xcDgj.net
有難う御座います。
IDOKは予約後で定義されていると思いますが。
私もそれを疑って、#include "reesource.h"をリ
ソースファイルの先頭に追加して。
resource.hで #define IDOK 1001を定義したら今
度は確かにsyntax errorは無く正常にコンパイル
しました。
然し、今度は逆にボタンを押した時にきちんと
IDOKが返って来ません。何れにしてもここでの
IDOKと言う定義が間違っていると思いますが。
正しいIDOKの定義はどの様にすれば良いのでしょ
うか。単に、定義をするだけではリソースは出来
てもリソースは出来たとしてもリソースとしては
機能しません。
済みません。アドバイスをお願いします。
169:デフォルトの名無しさん
16/03/24 06:51:45.03 019JwaRF.net
IDOK は、多分 1
170:デフォルトの名無しさん
16/03/24 06:55:59.99 019JwaRF.net
ていうか ID_OK の間違いだろ
171:デフォルトの名無しさん
16/03/24 07:01:21.78 +x6xcDgj.net
有難う御座います。
IDOKをID_OKに変更しても結果は変わらずsyntax
errorになります。
172:デフォルトの名無しさん
16/03/24 07:11:16.45 5JBRPHnG.net
.rcかresource.hでwindows.hをインクルードしてる?
173:デフォルトの名無しさん
16/03/24 07:57:01.56 +x6xcDgj.net
有難う御座います。
解決しました。
windows.hをインクルードしていないのが原因でした。
174:デフォルトの名無しさん
16/03/24 18:15:30.54 /fYMaFNHW
すいません初心者です。質問があります。
c/c++の基本が一通り終わって、これからwindowsプログラミング
の方に入ろうと考えているのですが、今やるべきは.net言語なの
でしょうか?
そう考えると今のままだとc++/cliとなると思います。
しかし、c++/cliは難しい&c#でc++のコードを使うためのもので
単体で使うことは少ないと書いてありました。
ここはいっそのことc#を覚えた方がよいのでしょうか?
・net言語にすべきかどうか、.netならばc++/cliにすべきかc#に
すべきか。よろしくお願いします。
175:デフォルトの名無しさん
16/03/25 15:02:32.36 e5iRWphL.net
makefileの書き方が分からない。(1/2)
Windows7でmingwのgccを使っています。
win32apiを使っての開発の件でリソーススクリプ
トが有る場合と無い場合とではmakefileの中身が
違います。
リソーススクリプトが有る場合のmakefileは、下記です。
SRC=01.c
OBJS=$(SRC:.c=.o)
RC=02.rc
OBJS+=$(RC:.rc=.o)
PROG=01.exe
CC=gcc
MENU=windres
CFLAGS=-Wall -O3 -finput-charset=cp932 --exec-charset=cp932
LDFLAGS=-mwindows
RM=rm
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
%.o: %.rc
$(MENU) $(RC) $*.o
.PHONY : all
all: $(PROG)
$(PROG): $(OBJS)
$(CC) $(OBJS) $(LDFLAGS) -o $@
.PHONY : clean
clean:
$(RM) $(OBJS)
176:デフォルトの名無しさん
16/03/25 15:04:12.61 e5iRWphL.net
makefileの書き方が分からない。(2/2)
リソーススクリプトが無い場合のmakefileは、下
記です。
SRC=01.c
OBJS=$(SRC:.c=.o)
PROG=01.exe
CC=gcc
CFLAGS=-Wall -O3
#LDFLAGS=-mwindows
RM=rm
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
.PHONY : all
all: $(PROG)
$(PROG): $(OBJS)
$(CC) $(OBJS) $(LDFLAGS) -o $@
.PHONY : clean
clean:
$(RM) $(OBJS)
上記二つのmakefilleをif文を用いて一つの
makefileに統一をしたいのですが。if文の書き方
が分かりません。
済みません。makefileの提示をお願いします。
宜しく、お願いします。
177:デフォルトの名無しさん
16/03/25 15:10:54.87 CUZNJgnV.net
スレ違いにも程があるぞ
本屋行ってオライリーのGNU Make読んでこい
178:デフォルトの名無しさん
16/03/25 15:18:16.65 CX1q41Ys.net
mingw/gcc の質問やないか
179:デフォルトの名無しさん
16/03/31 08:39:59.70 K1Mny911.net
すみません質問させてください
SystemParametersInfo関数のようなWindowsのシステムをいじることについて
網羅的に書いてある紙の本ってあるんでしょうか
代表的なものだけでも
180:デフォルトの名無しさん
16/03/31 10:33:05.53 rf0CgBoT.net
>>175
っプリンター
181:デフォルトの名無しさん
16/03/31 15:16:19.63 3JOhUKfn.net
つプリンター Ex
URLリンク(msdn.microsoft.com)(d=printer).aspx
182:デフォルトの名無しさん
16/03/31 16:57:20.40 nkzU0v9F.net
>>175
もちっと自分のやりたいことがわかるように聞いたほうがいいんじゃね
183:デフォルトの名無しさん
16/03/31 17:50:33.83 K1Mny911.net
>>178
ありがとうございます
Windowsの操作を楽にする便利なツールを色々思い付く限り作りたいと思います
その為には「こういうことができないか」とやりたいことを考えてからそれを実現する関数を調べるという道筋と
すべての関数の一覧を見ていて「こういう関数があるならこういう便利なツールを作れるな」と発想する道筋の2つがあると思いました
それで前者についてはネットで調べるので良いのですが、
後者の着想のきっかけを得るために本に網羅されたリファレンスマニュアルのようなものがほしいのです
184:デフォルトの名無しさん
16/03/31 18:33:03.51 I8JOZpbh.net
ほら網羅つURLリンク(msdn.microsoft.com)
紙がいいならプリンター使えって先輩も親切に教えてくれてるよ
185:デフォルトの名無しさん
16/03/31 22:24:02.53 uSuxbU8H.net
URLリンク(channel9.msdn.com)
力技か
186:デフォルトの名無しさん
16/04/01 05:12:57.08 olPRPtsN.net
オンゲー解析してみたくて今C言語学習中なんですが、いつ頃WINAPI32を学習すればいいですか?
オンラインゲームを解析するにはWINAPI32の学習は避けては通れない道みたいですが、今API32の入門書を読んでもサッパリで
187:片山博文MZ ◆T6xkBnTXz7B0
16/04/01 05:33:04.14 cbPhNKwQ.net
>>182
WINAPI32じゃなくてWin32 APIだよ。
Win32は果てしなくでかいので、入門書だけでなくヘルプも読むのが常識だよ。
Win32には独自の型があるので、それらの使い分けを最初に勉強するといいよ。
188:デフォルトの名無しさん
16/04/01 05:48:48.38 olPRPtsN.net
>>183
ありがとうございます。
win32は予備知識などなくても覚えられるものでしょうか?
189:片山博文MZ ◆T6xkBnTXz7B0
16/04/01 06:17:50.03 cbPhNKwQ.net
>>184
関数、構造体、ポインタ、関数ポインタ、イベント駆動などの知識が
必要と思われる。
190:デフォルトの名無しさん
16/04/01 08:37:14.08 TsVr6Gke.net
>>182
話にならん
自分が人に教えられるレベルになってからそういうのをやるもんだ
191:片山博文MZ ◆T6xkBnTXz7B0
16/04/08 17:51:35.51 eaIwZ6It.net
ダウンロードしたインストーラの実行前のSmartScreenの警告を消すためにはDigiCertから
EV証明書を買ってSignToolを使ってコード署名しないといけないんだよね?
証明書がウン万円もするんだが。。。
192:デフォルトの名無しさん
16/04/08 18:04:06.56 O1PVjDtF.net
そらそうよ
証明書買ってコード署名した汎用ダウンローダーを作って安く売れば需要あるかな?
インストーラーの顔をしながら、実行すると本体インストーラーをダウンロードして実行する奴。
というか、既にありそう。
193:片山博文MZ ◆T6xkBnTXz7B0
16/04/08 18:54:22.13 eaIwZ6It.net
>>188
有り難う。
証明書に有効期限があるということは、ソフトにも賞味期限ができたことになるな。
194:デフォルトの名無しさん
16/04/08 21:21:33.10 gortvINo.net
>>188
そういう脱法的なのは、それを使って悪用されたら面倒なことになると思うけど良いのかな。
少なくともその証明書はブラックリストになるはず。
>>189
署名する時にタイムスタンプサーバーを指定して署名日時を入れておけば大丈夫だよ。
これを忘れると証明書の期限切れとともに署名も無効になる。
195:デフォルトの名無しさん
16/04/09 01:31:16.52 mjwXlN36.net
>>187
EVコードサイニング証明書の取得は法人格が必要。
個人だったらコードサイニング証明書まで。EVコードサイニング証明書に比べたらちょっと安いけど、それでも結構するな…。
EVじゃない方だと評価回数が少ないうちはSmartScreenで警告されるみたいだね。
196:デフォルトの名無しさん
16/04/10 01:49:05.76 bQbq5y+9.net
Convert your desktop application to a Universal Windows Platform (UWP) app
URLリンク(msdn.microsoft.com)
来たよ
197:デフォルトの名無しさん
16/04/11 03:43:32.81 A0XmuThL.net
リッチテキストコントロール(riched20.dll)に、グラフィックを含むRTFファイルを読み込ませて表示することは不可能でしょうか?
実際に試すとグラフィックのみ表示されません。
単純にEM_STREAMINで読み込ませていますが、他の方法では可能なのでしょうか?
198:デフォルトの名無しさん
16/04/12 21:21:05.39 ulqJQxxJ.net
>>192
これVMだと使えない
面倒
199:デフォルトの名無しさん
16/04/22 15:16:55.94 8YNH+QmN.net
ドラッグドロップされたファイルと同じパスにある違う拡張子のファイルを読み込みたいんですが
拡張子を決めうちでケツから3文字消しても問題ないですか?
あとwin32apiではsubstringメソッド的なものはないですか?
200:デフォルトの名無しさん
16/04/22 16:08:23.80 4ikocpMD.net
最後に出てくる「.」以降が拡張子。2文字もあれば6文字もある。
201:デフォルトの名無しさん
16/04/22 16:08:31.56 V7gBXlAq.net
拡張子3文字じゃない場合どうするつもりか知らないけど、好きに作ればいいよ
202:デフォルトの名無しさん
16/04/22 16:14:45.73 msF6wRol.net
読み込みたいって事は拡張子わかってるんじゃないの?
203:デフォルトの名無しさん
16/04/22 17:20:58.53 xOnwNmiP.net
>>196
.で終わってるファイルとか
.を含まないファイル名のときは?
204:デフォルトの名無しさん
16/04/22 17:38:18.46 +7c/qlM5.net
拡張子がないってこと以外に何かある?
205:デフォルトの名無しさん
16/04/22 17:42:35.47 YFuTfo2Y.net
>>199
>.で終わってるファイルとか
Windowsは.で終わってるファイルってのは認めていない
Windows環境下で作成しようとするとピリオド無しでファイルが作られる
>.を含まないファイル名のときは?
.を含まないファイル名は拡張子無し
拡張子を持たないピリオドを含むファイルってのは作れない
ピリオド以降を拡張子として認識してしまう
206:194
16/04/22 18:38:44.93 8YNH+QmN.net
いろいろ調べた結果PathFindExtensionを使うことがわかりましたが
ビルドが通りません
1>main.obj : error LNK2019: 未解決の外部シンボル __imp__PathFindExtensionW@4 が関数 _WinMain@16 で参照されました。
fatal error LNK1120: 外部参照 1 が未解決です。
URLリンク(ideone.com)
何が悪いのでしょうか?教えてください
207:デフォルトの名無しさん
16/04/22 19:15:23.54 4ikocpMD.net
#pragma comment(lib, "Shlwapi.lib")
208:デフォルトの名無しさん
16/04/22 23:12:03.91 8YNH+QmN.net
ありがとうございます、ビルドはできました
ですが拡張子を抽出することができません
GetCommandLine関数の返り血にスペースやダブルクォーテーションが含まれているのが問題だと思うんですが
C++のReplaceメソッドで置き換えしようとしてもLPTSTRからString型に変換するほうほうがわかりません
こういう場合どうすればいいんですか?
209:デフォルトの名無しさん
16/04/22 23:22:20.50 o1lCaFi5.net
諦めたらいいと思うよ
210:片山博文MZ ◆T6xkBnTXz7B0
16/04/22 23:38:04.60 ixsqd3SA.net
C++勉強してCStringのソース読めや。
__argc、__wargv、wcsrchrなんてのも使えるかもしれん。
211:203
16/04/23 05:57:01.65 UoCDvxkd.net
型変換がむずかしすぎます
嫌がらせのように文字列型があってなんで型変換のメソッドが用意されてないんですか?
212:デフォルトの名無しさん
16/04/23 07:32:43.16 1OvIZwV0.net
>>195
ファイル名の長さを調べて
ポインタを最後尾にする
ポインタを1文字すつ前に移動して最初に「.」があれば(略
>>207
asmoのソース参考にすればいい
213:デフォルトの名無しさん
16/04/23 07:51:54.45 1OvIZwV0.net
using std::string;
string get_file_prefix(const std::string& filename) {
string temp(filename);
string::size_type pos = temp.find_last_of(".");
if (pos != string::npos) {
temp = temp.substr(0, pos);
}
pos = temp.find_last_of("/\\");
if (pos != string::npos) {
temp = temp.substr(pos + 1);
}
return temp;
}
ex)
string in_filename(argv[1]);
string prefix = get_file_prefix(in_filename);
214:デフォルトの名無しさん
16/04/23 14:36:18.35 Ny1JsAlg.net
LPTSTRって何だっけ?
215:デフォルトの名無しさん
16/04/23 14:43:34.37 qkM7UD7C.net
#ifdef UNICODE
wchar_t *
#else
char *
#endif
216:デフォルトの名無しさん
16/04/23 14:45:32.47 43LRl8T1.net
NULLターミネートするTCHAR配列(TSTR)へのlong pointer(LP)
217:デフォルトの名無しさん
16/04/23 15:41:39.82 Ny1JsAlg.net
ああ、tcharで使うやつか
思い出した
他にも似たやうな名前のがあるよな
LPCTWSTRみたいな。
わけわかめだ
218:デフォルトの名無しさん
16/04/23 15:49:55.48 ob/Sewtp.net
LPTSTR と LPCTSTR のふたつくらい、君のキャパでも憶えられるだろ。
あとは気にしないでいい
219:デフォルトの名無しさん
16/04/23 15:55:31.31 Ny1JsAlg.net
おれはwchat_tしか使わないから。
220:デフォルトの名無しさん
16/04/23 16:35:07.30 ra5UaJir.net
>>213
LP=ロング・ポインタ
C=コンスト
T=テンプレート
W=ワイド
STR=ストリング
LPCTWSTR=ロング・ポインタ・コンスト・テンプレート・ワイド・ストリング
俺はこんな感じで覚えてる
ていうかLPCTWSTRなんてあったっけ?、テンプレートとワイドは共存しないとおもうが・・
LPCTSTRだろう
221:片山博文MZ ◆T6xkBnTXz7B0
2016/04/2
222:3(土) 16:39:45.15 ID:IdUKJjCp.net
223:デフォルトの名無しさん
16/04/23 17:05:51.57 7b5nyUqS.net
テキストとストリングって、上野クリニック案件になっちゃわない?
224:デフォルトの名無しさん
16/04/23 17:23:31.69 SujJgXyp.net
関数はA/W/無印なのに文字、文字列は無印/W/Tで一貫性がないよな
225:デフォルトの名無しさん
16/04/23 17:35:19.88 SujJgXyp.net
WinMain関数は無印,w,_tでCRT風だしで更にカオス
猫でも分かるなんかのうんこサイトは使い分けすらしておらず
初心者を陥れる為にわざとやってるのかと思うほどだわ
226:デフォルトの名無しさん
16/04/23 18:19:36.74 lEfknhOE.net
あれは本題部分のみ参考にするとこだろ
227:デフォルトの名無しさん
16/04/23 18:43:01.46 QugQUSQO.net
気にしたことなかったけど、確かにそうだな。
まともにソース読む気が起こらないし、読んだこともない。
228:デフォルトの名無しさん
16/04/23 18:50:54.27 ra5UaJir.net
>>217
え、そうなの?
なんかのサイトでテンプレートだと書いてあって、CP932でもUnicodeでも対応できる
ということで鋳型という意味のテンプレートだという説明だったので納得してたんだが
229:デフォルトの名無しさん
16/04/23 18:56:18.55 e6EoTGG4.net
>>213
TとWが同時に付くことはないはず
230:デフォルトの名無しさん
16/04/23 18:58:15.98 e6EoTGG4.net
>>215
これから作るのは全部それで良いよね
231:デフォルトの名無しさん
16/04/23 19:00:48.56 e6EoTGG4.net
>>216-217
TCHAR *fuga = _T("fuga");
wchar_t *hoge = L"hoge";
だっけ
_T は TEXT だよなー
232:片山博文MZ ◆T6xkBnTXz7B0
16/04/23 19:01:10.72 IdUKJjCp.net
>>223
あっしは汎用テキストのTだと理解してたが。
233:デフォルトの名無しさん
16/04/23 20:55:00.69 ra5UaJir.net
>>226
うん。_TのTはText、TCHARのTはテンプレートだと思ってる
>>227
UNICODEの定義によってCP932またはUNICODEにはめ込むことができるので
テンプレート(鋳型)という説明が一番しっくりくると思う
234:デフォルトの名無しさん
16/04/23 21:42:13.74 8PouUri8.net
普通に Type の T じゃね?
235:デフォルトの名無しさん
16/04/23 22:44:03.32 X/qVSAL9.net
>>208
ありがとうございます
一応LPTSTR→char *型への変換もできるようにがんばってみます
236:203
16/04/23 22:44:43.88 X/qVSAL9.net
LPWSTR→char *型への変換でした・・・
237:デフォルトの名無しさん
16/04/23 22:53:53.23 K7zZdQrl.net
>>226
_Tは_TEXTの省略形。
238:デフォルトの名無しさん
16/04/23 23:41:57.72 ra5UaJir.net
>>229
wchar_tの最後のtはtypeのtだそうだけどね
TCHARのTがTYPEだとUNICODEの定義の有無によってCP932またはUNICODEにという
情報が名前に反映されてないことになるのでおかしいのではないかな
239:デフォルトの名無しさん
16/04/24 00:36:28.24 5jPfs9BP.net
URLリンク(msdn.microsoft.com)
type を抑えてtemplate を推したくなるような記述は見当たらないような
240:デフォルトの名無しさん
16/04/24 01:00:59.35 jZ3tR2YK.net
>>234
"generic type"が鍵になりそうだな
1)generic typeでT(つまりtypeのT。但し、ただtypeでなくgeneric typeを表すT)
2)generic typeなので、その性質を一言で表すtemplateのT
この2種類が考えられそうだ
241:デフォルトの名無しさん
16/04/24 01:01:33.13 PmTKsIVl.net
あるサービス(hoge.exe)の起動を待機したいのですが可能でしょうか?
242:デフォルトの名無しさん
16/04/24 01:25:39.75 WUvyiW4J.net
タスクスケジューラでも使えば?
243:デフォルトの名無しさん
16/04/24 03:37:41.55 PmTKsIVl.net
そんなの使わなくてもできました
244:デフォルトの名無しさん
16/04/24 07:43:52.20 fu8W/E1c.net
>>233
templete って枠のことでしょ
TCHAR とか LPCTSTR 全体を言うならまだわかるけど T を templete って言うのは無理があるような気がする
245:デフォルトの名無しさん
16/04/24 09:22:15.37 TYncJpKd.net
wchar_t の
246:t が text の t だとしたら size_t の t は何だろ? 同じ種類のものではないの? 何の略かはわからんけど…
247:デフォルトの名無しさん
16/04/24 09:27:07.20 TYncJpKd.net
ごめん、よく読んでなかった
type の t が一番納得できるな
248:デフォルトの名無しさん
16/04/24 11:39:52.17 zKXhuchC.net
int64_t
249:デフォルトの名無しさん
16/04/24 16:31:23.37 8sLUoClv.net
>>241
URLリンク(faithandbrave.hateblo.jp)
俺はまったくもって納得できん
wcharを予約語にしてwchar_tはtypedefで残せばよかったのになー
WinSDKにしてもaffixはどうでもいいけどどれかに統一して
AMessageBox(=MessageBox)/WMessageBox/TMessageBox
ACHAR(=CHAR)/WCHAR/TCHAR
とでもしときゃよかったのになーと心底思うよ
そういうものだと割りきるしかないんだけど
250:デフォルトの名無しさん
16/04/24 16:50:26.02 zKXhuchC.net
localeのUTF-8化を頑なに拒んでる時点で
251:デフォルトの名無しさん
16/04/24 16:55:02.71 TYncJpKd.net
wchar_tは、C++03の予約語(言語仕様)だろ
基本型をtypedefすることはない
C++11では、char32_t とか char64_t とかも追加されてる
252:デフォルトの名無しさん
16/04/24 16:56:04.06 TYncJpKd.net
間違えた
char16_t と char32_t だった
253:デフォルトの名無しさん
16/04/24 21:06:36.67 8sLUoClv.net
>>244
でもその糞さのお陰で雇用も生みだしてるんだろうしね
正直U8,U32は欲しいところ
>>245
> wchar_tは、C++03の予約語(言語仕様)だろ
だからそれが納得できないって言ってるのだが…
予約語なら_tいらんだろと。
_t付けたいならtypedefでいいだろと。
ついでに言えばs16,u16でいいだろと。
254:デフォルトの名無しさん
16/04/24 21:19:50.47 CBUFfK5a.net
言語の予約語に_tとかついてるのは嫌で仕方ない
size_tとかwchar_tとか
予約語はシンプルであるべきだ
255:デフォルトの名無しさん
16/04/24 21:26:38.72 TYncJpKd.net
static_cast、const_cast、dynamic_cast、reinterpret_cast とか
thread_local とか static_aseart なんてのもあるな
256:デフォルトの名無しさん
16/04/24 21:28:31.96 TYncJpKd.net
static_assert
257:デフォルトの名無しさん
16/04/24 22:08:20.08 k3Kd32U9.net
>>248
駄々こねるのもいい加減にして下さい
size_tじゃなくてsizeに出来たらさぞかし素晴らしかったでしょうねw
258:デフォルトの名無しさん
16/04/24 22:12:22.95 HGS+mIYq.net
全世界のソースコード修正祭りが開催されて何億円という損失だな素晴らしい
259:デフォルトの名無しさん
16/04/24 22:56:43.97 GQXrb8zO.net
予約語の追加はかなりでかい破壊的変更になるからね
C#とか新しい順C++では文脈キーワードで対処してるけどさすがに型名は追加できんだろう
260:デフォルトの名無しさん
16/04/25 06:11:32.16 IJUNQlfS.net
>>248
それ以前に言語仕様で規定されてる sizeof の戻り値の型が typedef って言うのに違和感がある
261:デフォルトの名無しさん
16/04/25 13:56:35.15 HSarKqaj.net
そもそも、size_tは予約語か?
size_tはtypdedefで定義されていて、32bitアプリと64bitアプリで切り替わるようになっているんだぞ
wchar_tとは事情が違うだろ
だから>>247→>>248の流れはおかしい
主に>>248がおかしい
262:デフォルトの名無しさん
16/04/25 19:23:57.38 Frw0Qt8a.net
本来ならwcharだけで予約されるべきところということか
263:デフォルトの名無しさん
16/04/25 19:38:55.15 jv7QqRvk.net
wchar を予約語にしておいてCとの互換性にはtypedef wchar wchar_t のようにしておけばよかったのにと思うけど
wchar を予約語に出来ない理由ってなんかあったっけ?
264:デフォルトの名無しさん
16/04/25 22:50:55.52 R+Ez/oiI.net
>>255
予約語のwchar_tとそうでないsize_tが同じ形式というのがそもそもおかしい
265:デフォルトの名無しさん
16/04/25 23:03:21.85 jv7QqRvk.net
size_tはおかしくないんだからsize_tを引き合いに出すのはおかしい
266:デフォルトの名無しさん
16/04/26 01:37:24.15 MYWP6CaR.net
>>234
"T"=????=generic type
"W"=Wide=Unicode type("W"がWideなのは他のドキュメントからわかる)
で、そのドキュメントには"W"がWideとは書いていないと同時に"T"が何なのかも
書いていないので、"T"がtemplateの可能性は排除できないだろうと思うがどうだろうな
template推しのサイト↓
URLリンク(vllv.us)
「TemplateとはC++のテンプレートから来ており、『型の変化に適応する』という意味が入っています。」
(『マルチバイトとユニコード両方で通用する書き方』項目の最後の文)
LPCTSTR=Long Pointer to Constant null-terminated Template STRingの略です。
と言い切っているのは興味深い
267:デフォルトの名無しさん
16/04/26 02:48:18.10 GOCkX5ww.net
Lサフィックスをマクロなんて書いてる個人サイト持ち出されてもな
268:デフォルトの名無しさん
16/04/26 02:48:44.74 GOCkX5ww.net
プレだった
269:デフォルトの名無しさん
16/04/26 03:18:04.61 R8utnF8M.net
URLリンク(www.wdic.org)
によると、Cでは(勝手にしてない限り)予約語ではない
c++はその名残、が妥当かと
270:デフォルトの名無しさん
16/04/26 03:30:36.17 R8utnF8M.net
ごめん、>>263 はなんか書いてること変だった
無視してくれ
271:デフォルトの名無しさん
16/04/26 14:16:03.38 zelw3Bet.net
ビットマップファイルを読み込む時に使うのはLoadBitmap
では、書き込む時に使うのは?
272:デフォルトの名無しさん
16/04/26 14:28:33.59 MYWP6CaR.net
>>261
Lプレフィックスをマクロなんてどこに書いてあるの?
どこにも見当たらなかったが・・
273:デフォルトの名無しさん
16/04/26 14:30:13.15 gGelNJu8.net
それはファイルI/Oとは違うから対となる書き込み機能は無いよ
274:デフォルトの名無しさん
16/04/26 14:33:30.69 p/TmI1mb.net
CImage::Save
275:デフォルトの名無しさん
16/04/26 14:40:17.40 zelw3Bet.net
>>267-268
windows.hの中にはないんですね。
対になる機能がないのが不思議。
276:デフォルトの名無しさん
16/04/26 14:46:48.74 gGelNJu8.net
いや、LoadBitmapはファイルじゃなくて”リソース”から読み込むのであってな。
書き込みはあってもいいかも知れんけど、バイナリ変形するし元に戻せなくなったら詰む。
ビットマップファイルのI/OはLoadBitmapじゃなくて、ファイルI/Oでやって下さい。
277:デフォルトの名無しさん
16/04/26 14:52:10.27 KUbgmjPe.net
気の利いたライブラリを探せば jpeg, png 使えるから
bmp なんか捨てたほうがいい
278:デフォルトの名無しさん
16/04/26 15:48:01.84 hodGhGMX.net
>>266
> 一番上のL
279:デフォルトの名無しさん
16/04/26 15:48:57.83 hodGhGMX.net
>>266
> 一番上のL"文字列"はユニコード限定の文字列ですよ、という
> 意味を表すマクロなので設定をマルチバイトに変更するとエラーになります。
一般的なブラウザを使っているなら
Ctrl-F 押すとページ内が検索できるようになるから
それで マクロ を検索してごらん
てかそのサイトは信用しないほうがいいと思うよ
> ちなみにLはLiteral(リテラル)の略で文字通りのとかいう意味です。
と断言してるとこは説得力なくて笑っちゃったよ
""だってナローリテラルだし他のu8"",u"",U""もリテラルなのに変じゃないか
引用元もないしで本人が思い込んでるだけじゃね?と不安になる
280:デフォルトの名無しさん
16/04/26 16:11:13.64 xq7hrZNz.net
>>265
読み込みも含
281:めてWICでやるのが一番いい
282:デフォルトの名無しさん
16/04/26 16:12:58.34 MYWP6CaR.net
>>273
ほんとだ、初っ端にちゃんと書いてあったわ、すまんすまん
> ちなみにLはLiteral(リテラル)の略で文字通りのとかいう意味です。
これは俺も違和感あったわ、確かにその通り変だ
ちょっといまいちなサイトだったな
MSDNからの引用があればよかったんだが・・
283:デフォルトの名無しさん
16/04/26 18:58:17.94 Tx8NMol0.net
MSDNも変なところ多いけどなあ。
284:デフォルトの名無しさん
16/04/26 19:04:37.78 lzHK63LG.net
大昔全FFを非同期リセットにしてた。
ASICの規模が大きくなってタイミングエラーの嵐になってきて、
99%以上のFFは同期リセット、
外部IO周りとか発振始まるまで不定じゃ困る部分のみ非同期リセットに変えた。
そのことでベンダーに何か注意されたこともないし、
特に困ったことも起こっていないな。
285:デフォルトの名無しさん
16/04/26 20:23:40.01 ScpOGrIY.net
LプリフィックスのLをロング(Long)の略としているサイトもあるけど
何のロングだろうかと思ったり
というかああいうサイトはなんで何かの略であることを書かずにはいられないんだろうか
たぶんどっかで聞いた(気がする)とか見た(気がする)ということから
知らんうちにそれが正しいと記憶違いをしてしまっているんだろうね
286:デフォルトの名無しさん
16/04/27 00:29:45.56 qLaue6Dh.net
何の出典も示さずにLプリフィックスを"Long"だの"Literal"だのの略だと
自分のサイトに書けるのがすごいわ
俺みたいな小心者には無理だわ
287:デフォルトの名無しさん
16/04/27 05:34:41.17 0VkfCe8A.net
Largeに決まってんだろ馬鹿どもが
288:デフォルトの名無しさん
16/04/27 21:11:48.41 qrup6c3l.net
服のサイズの "F"は Freeの略ではありません
289:デフォルトの名無しさん
16/04/27 21:47:51.66 ZNHkK8eC.net
LOVEこそ全て
290:デフォルトの名無しさん
16/04/30 16:13:55.93 FuZy8SxD.net
SysWOW64に32bit用のDLL入れて
System32に64bit用のDLL入れさせる習慣はどうにかならんかのぅ
291:デフォルトの名無しさん
16/04/30 16:25:37.58 x5p19SCW.net
どうにもならんよ by ロイエンタール
292:デフォルトの名無しさん
16/05/01 09:25:12.44 tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分
293:散され、特定のサーバーに依存しません i
294:デフォルトの名無しさん
16/05/01 09:48:44.26 AqctS693.net
>>283
ジャンクション張ってもっとマシな別名割り当てればいい
295:デフォルトの名無しさん
16/05/01 12:04:07.52 jr+NTyfn.net
>>285
死ね
296:デフォルトの名無しさん
16/05/01 12:16:34.83 1jzF+/1T.net
GetCommandLine()から拡張子のみを取り出したいのでPathFindExtension()を使ったのですが
そのまま投げても拡張子を返さず、GetCommandLine()の返り値を整形(ダブルクオーテーションを削除、一番後ろのスペースを削除)
しないとダメだったんですが、これは仕方ないことなのでしょうか?もっとスマートにやる方法ってないですか?
297:デフォルトの名無しさん
16/05/01 12:22:48.21 CY4SDQIv.net
どうせだし
"Path" Arg ...を分解するメソッドでも作っちゃえば
298:デフォルトの名無しさん
16/05/01 14:17:14.95 AqctS693.net
そのレベルを求めるなら API そのものじゃなくて何かライブラリを使うべきやろ
MFCまじおすすめ
299:デフォルトの名無しさん
16/05/01 14:54:23.63 OlEFIntC.net
WinMainの引数からsplitpath使えば
300:デフォルトの名無しさん
16/05/01 21:27:48.03 UCEkFn3w.net
CreateThread (Win32) についての質問なんですが
<---
C言語のランタイム ライブラリから関数を使っているスレッドは、 スレッドの管理用に、 CreateThreadおよびExitThreadよりは、 C言語のランタイム関数の_beginthreadと_endthreadを使ってください。
そうしないと、 ExitThread呼び出しでメモリを少し損失することになります。
--->
「C言語のランタイム ライブラリから関数を使っているスレッド」というのはどういうものを指すのでしょうか。
どういうときに CreateThreadでも良く、どういうときでは_beginthreadが良いのかがよくわかりません。
301:デフォルトの名無しさん
16/05/01 21:31:38.12 JP6hgmB0.net
>>292
>C言語のランタイム ライブラリから関数を使っている
stdio.h とか stdlib.h とかの関数を使うのなら _biginthread() ,ランタイムの関数をつかわないのなら CreateThread()
でも,win32api では普通Cランタイムは使わないようにするものだと思うのだが
302:デフォルトの名無しさん
16/05/01 21:42:39.45 bCr+8i5t.net
たいてい混ぜて使う
MFC
Win32Api
stdio
のでどのスレッド使えばいいかわからないww
303:デフォルトの名無しさん
16/05/01 21:49:22.42 ofEkM4aN.net
>>292
URLリンク(cpplover.blogspot.jp)
ここが分かりやすいかも
304:デフォルトの名無しさん
16/05/01 23:28:44.34 UCEkFn3w.net
>>293-295
なるほど
事情は良くわかりました
注意してCreateThread()のほうを使うようにします
ありがとうございました
305:デフォルトの名無しさん
16/05/02 15:15:28.11 aR8AOrvI.net
アフィ誘導乙
306:デフォルトの名無しさん
16/05/02 20:01:52.48 V/Rz0lGL.net
誘導されて来ました。
動的リンクされた.dllを.exeがあるディレクトリの1つ下のディレクトリにまとめたいと思っています。
.exeのショートカットを作成してショートカットのプロパティから、作業フォルダーの変更をすれば上手くいくのですが、これをプログラムでやる方法を探しています。
しかし、どうやら難しいようなので、変わる方法でもあれば教えて頂きたいです。
よろしくお願いします。
307:デフォルトの名無しさん
16/05/02 20:06:40.83 6+YY3Wwg.net
exeのフルパスを取得する GetModuleHandle, GetModuleFileName
dll検索パスを追加するAddDllDirectory
308:デフォルトの名無しさん
16/05/02 20:13:55.77 GdZkeqis.net
スレリンク(tech板:362-384番)
309:デフォルトの名無しさん
16/05/02 20:17:45.26 V/Rz0lGL.net
>>299
ありがとうこざいます。
adddlldirectoryですが、先ほど、main関数にたどり着いた段階でdllの読み込みは終わっていると教えてもらったので、mainの前に書いてみたところ、この宣言にはストレージクラスまたは型指定
310:子がありませんと言われました。 この関数はどこで使うべきなのですか? 調べても、サンプルが少なすぎて分かりませんでした。
311:片山博文MZ ◆T6xkBnTXz7B0
16/05/02 20:38:33.46 GdZkeqis.net
よくわからんが、DLLを遅延読み込みにしてAddDllDirectory使うんとちゃう?
//遅延読み込み
#pragma comment(lib,"delayimp")
#pragma comment(lib,"mydll")
//以下はmain内部に記述
WCHAR szPath[MAX_PATH];
GetModuleFileNameW(NULL,szPath,MAX_PATH);
LPWSTR pch = wcsrchr(szPath,L'\\');
lstrcpyW(pch,L"\\test2");
AddDllDirectory(szPath);
312:デフォルトの名無しさん
16/05/02 20:43:40.23 btgv3pKW.net
>>301
>動的リンクされた.dllを.exeがあるディレクトリの1つ下のディレクトリにまとめたい
なにをやりたいのかやっと分かったたよw
自分でLoadLibraryするんじゃなくてmain以前にdllをロードするやりかたならmain以降じゃ当然どうしようもないわな
313:デフォルトの名無しさん
16/05/02 20:45:09.22 btgv3pKW.net
ああ遅延読み込みという手があったか。試したことないけど
試してみて結果を教えて
314:デフォルトの名無しさん
16/05/02 20:46:24.19 6+YY3Wwg.net
LoadLibraryするんじゃないのか
なら、起動専用exeでPATHにdllのパスを追加してから、本体のexeをCreateProcess
315:片山博文MZ ◆T6xkBnTXz7B0
16/05/02 20:55:15.69 GdZkeqis.net
本体のexeと起動専用exeを分けるなら、本体のexeをDLLと同じフォルダーに入れて、
起動専用が本体をShellExecuteすればいいんじゃないか?
316:デフォルトの名無しさん
16/05/02 20:56:45.34 y5l6KIx0.net
なんかセキュリテイ的に弱点な気が
任意のexeで遅延させて自分のdll読ませれば何でも出来そう
317:300
16/05/02 21:03:38.21 eom7L+e5.net
自分の説明不足のせいか、大事になっている気が…
やりたかったのは、よくネットで公開されているフリーソフトのような、
zipを解凍したら.exeとreadmeとフォルダdataか出てきて
dataの中にアイコンのjpgやらdllが纏まってるみたいな簡素なものを作りたかっただけなのですが…
素人なのでセキュリティの脆弱性とかも全く分からないですが
とりあえず、教えてもらったことはありがたく全て試してみますので、回答ありがとうございます。
318:デフォルトの名無しさん
16/05/02 21:09:21.34 ahm7i7ng.net
回答者がエスパーすぎだろと思ったわw
319:300
16/05/02 21:30:39.06 EphQW+li.net
>>308
ちなみに、この聞き方であれば違う答えが返ってきたりしますか?
先ほどのやり方では、
セキュリティが危険とのことなので、素人が考えなしにやるのを躊躇しております。
320:デフォルトの名無しさん
16/05/02 22:16:40.26 ahm7i7ng.net
セキュリティは気にするな。
306がアホな子なだけ。
321:デフォルトの名無しさん
16/05/02 22:20:39.12 btgv3pKW.net
セキュリティは気にしなくても良いと思うけどね。
ニセのDLLを読み込ませたかったらDLLすげ替えてしまえば何でもできるし
DLLロードパスの優先順位はMSDNによると
1.実行中のプロセスの実行形式モジュールがあるフォルダー。
2.現在のフォルダー。
3.Windows システム フォルダー。このフォルダーへのパスは、GetSystemDirectory 関数が取得します。
4.Windows ディレクトリ。このフォルダーへのパスは、GetWindowsDirectory 関数が取得します。
5.環境変数 PATH 内に記述されたフォルダー。
322:片山博文MZ ◆T6xkBnTXz7B0
16/05/02 22:28:28.76 GdZkeqis.net
そもそもexeに高いセキュリティを要求するなら、exeはインストール時に
Program Filesなどのフォルダーに入れて、管理者権限がなければ書き込み不可にしないとあかん(ウイルス感染対策)。
さらにはインストーラーに有料の署名を付けんといけんのじゃ。
323:デフォルトの名無しさん
16/05/02 23:10:44.85 9Uaok0YL.net
>>305-306
バッチファイルでいいじゃん
324:デフォルトの名無しさん
16/05/02 23:44:54.35 6+YY3Wwg.net
>>314
黒いウインドウがダサい
325:デフォルトの名無しさん
16/05/02 23:59:57.71 9Uaok0YL.net
ならVBSで
326:デフォルトの名無しさん
16/05/03 01:17:07.20 ruihBwIa.net
GetModuleFileName + "data"フォルダ
を LoadLibrary でダメな理由はあるの?
327:デフォルトの名無しさん
16/05/03 02:05:10.66 Fq/Xo6LF.net
> 自作のプログラムから、エクスプローラの右クリックで表示されるコンテキストメニューを表示しようとしています。
>
> IShellFolder *pShellFolder;
> IContextMenu *pContextMenu;
> pShellFolder->GetUIObjectOf(NULL, pItemListLen, &pItemList, IID_IContextMenu, NULL, (void **)&pContextMenu);
> HMENU hmenu = CreatePopupMenu();
> pContextMenu->QueryContextMenu(hmenu, 0, 0x001, 0x7fff, CMF_NORMAL);
>
> とコンテキストメニューを作成しています。
> pItemListにはILFindLastID()で取得した対象のファイルのIDが、
> pShellFolderには親ディレクトリを格納しています。
>
> 同一フォルダ内のファイルであれば、複数のファイルのコンテキストメニューを作れるのですが、
> 異なるフォルダにある複数のファイルだと作成できません。
> エクスプローラだと検索結果などから異なるフォルダにあるファイルから
> コンテキストメニューを出してるみたいなのですが、どうやったら出来るのでしょうか?
過去ログから拾ってきたコピペですが、これと同じとこで躓いてます
> pShellFolderにデスクトップを格納し、pItemListには絶対PIDLを入れろ
このようなレスもありましたがこれでは上手く行かないです
328:デフォルトの名無しさん
16/05/03 09:16:56.28 kYqXiDhL.net
>>317
キミ、周回遅れ
329:デフォルトの名無しさん
16/05/03 12:12:00.81 aV7QMFwi.net
>>318
URLリンク(members.jcom.home.ne.jp)
>完全 PIDL はデスクトップで始まっていて、経路内にある間のフォルダの項目 ID がすべて入っています。
>完全 PIDL の最後は、そのオブジェクトの項目 ID と 2 バイトの NULL です。
>完全 PIDL は完全経路同様に、シェルの名前空間内でそのオブジェクトを一意に識別できます。
同一フォルダから得たものは相対 PIDL
要するにデスクトップ(pShellFolderにデスクトップを格納)からその項目までの経路、最後に項目のIDと2 バイトの NULL を入れろって意味じゃないかな
>このようなレスもありましたがこれでは上手く行かないです
ここが具体的にどういうことをしたのかわからんのですでに試したのかも知れんけど
330:デフォルトの名無しさん
16/05/03 12:43:23.64 Fr8Hxrb9.net
C言語でwin32apiを使ってnotepadにpostmessageでcontrol a を送りたい
がその方法が分からない。
一つの文字だけを送る場合は下記で上手く動きます。
#include <windows.h>
int main(void){
HWND hWnd;
hWnd = FindWindow("Notepad", NULL);
hWnd = FindWindowEx(hWnd, NULL, "Edit", NULL);
PostMessage(hWnd, WM_CHAR, 'a', 0);
return 0;
}
然し、ここでcontrol aを送るには、PostMessageのWM_CHAR
の次の引数をどの様に記述をすれば良いのでしょうか。
その時のコードの例示をお願いします。
宜しく、お願いします。
331:デフォルトの名無しさん
16/05/03 13:09:23.35 PQ3d4MP7.net
PostMessageでは不可
332:デフォルトの名無しさん
16/05/03 13:15:44.31 cK/moF+D.net
SendMessage(hWnd, WM_KEYDOWN, VK_CONTROL, 0);
SendMessage(hWnd, WM_KEYDOWN, 0x41, 0);
SendMessage(hWnd, WM_KEYUP, 0x41, 0);
SendMessage(hWnd, WM_KEYUP, VK_CONTROL, 0);
333:デフォルトの名無しさん
16/05/03 13:18:08.22 Fq/Xo6LF.net
>>320
どうも、レスありがとうございます ノシ
PIDLに関しては、必要に応じて手前で分割や結合が出来る程度には理解できてますので、完全か相対であるかは把握できています
親フォルダのIShellFolderとファイルの相対PIDLでは問題なく正常なメニューを取得できますが
デスクトップのIShellFolderと完全PIDL の組み合わせで正常なメニューが出るようには思えません…
たとえ単独ファイルであっても
デスクトップと完全PIDLでは正常なメニューは出ませんね
間違いが起こらないよう
334:以下のような簡単な方法でメニューを取得してもやはりだめなんです...orz LPSHELLFOLDER ptrDesktop; LPITEMIDLIST ptrIDL; LPCONTEXTMENU ptrContextMenu; SHGetDesktopFolder(&ptrDesktop); ptrDesktop->ParseDisplayName(NULL,NULL,L"C:\\CONFIG.SYS",NULL,&ptrIDL,NULL); ptrDesktop->GetUIObjectOf(NULL,1,(LPCITEMIDLIST *)&ptrIDL,IID_IContextMenu,0,(LPVOID *)&ptrContextMenu);
335:デフォルトの名無しさん
16/05/03 13:20:17.04 Fr8Hxrb9.net
>>322
ここでは例としてnotepadを挙げていますが。
notepad固定と言うのでは無くて汎用性のある
キーの送信を考えています。
postmessageでは駄目だとしたら、ほかに何が
有るのでしょうか。
宜しくお願いします。
336:デフォルトの名無しさん
16/05/03 13:21:37.30 kYqXiDhL.net
メッセージをspyしてみるくらいの知恵は働かないのか?
337:デフォルトの名無しさん
16/05/03 15:05:34.26 Fr8Hxrb9.net
有難う御座います。
今手元に有るのは、gccのコンパイラーだけです。
windows7を使っています。
spyツールを使えば何が分かるのでしょうか。
メッセージの流れが分かればその通りに
sendmessageを流せば良いのでしょうか。
済みません。教えて下さい。
338:デフォルトの名無しさん
16/05/03 15:19:30.82 cK/moF+D.net
無視されたオレ、涙目
339:317
16/05/03 15:34:20.80 Fq/Xo6LF.net
少し進展
C:ドライブのIShellFolderから、C:より下の階層の相対PIDLを渡せばディレクトリが違っていても正常なメニューを出す事が出来るようです
340:デフォルトの名無しさん
16/05/03 21:36:56.84 WxW7Sfac.net
>>328
透明人間の能力を手に入れたなんて羨ましいぜ
341:デフォルトの名無しさん
16/05/03 23:36:11.59 Fr8Hxrb9.net
>323
済みません、返事が遅くなりました。
実行した所、何も変化は有りませんでした。
直ぐに終了して何が起きたのか不明です。
何が考えられるのでしょうか。
342:デフォルトの名無しさん
16/05/03 23:52:34.46 PQ3d4MP7.net
SendMessageだとTranslateMessageとDispatchMessageを介してないんだから当たり前じゃん
343:デフォルトの名無しさん
16/05/03 23:55:40.99 PQ3d4MP7.net
PostMessageは順序保証ができないので不可
SendMessageはTranslateMessageとDispatchMessageを通過しないので不可
keybd_eventやSendInputを使うしかないが、これらはウィンドウを指定が不可
お前の望む動作は不可
344:デフォルトの名無しさん
16/05/04 00:04:01.21 kVGM/VsN.net
HANDLE h = Create...(
CloseHandle()を呼び出さずにアプリケーションが終了した場合
メモリ内にまだ、ハンドルがさしていたオブジェクトは存在し続けるのでしょうか?
345:デフォルトの名無しさん
16/05/04 00:07:45.41 c7vIrIvG.net
SendMessageやPostMessageだと
GetKeyboardStateを使ってるようなプログラムはまともに操作できないのも難点
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
The status does not change as keyboard messages are posted to the thread's message queue,
nor does it change as keyboard messages are posted to or retrieved from message queues of other threads.
346:デフォルトの名無しさん
16/05/04 00:10:28.68 1kR93ddo.net
>>334
Windowsならプロセスの終了時に使用していたリソースも開放される
347:デフォルトの名無しさん
16/05/04 01:02:19.46 kVGM/VsN.net
>>336
ありがとう
348:デフォルトの名無しさん
16/05/04 01:50:54.23 VS80lwnU.net
そういや異常終了した後でファイルがロックされて削除できない
なんて事が昔はよくあったな
349:デフォルトの名無しさん
16/05/04 12:52:46.02 kVGM/VsN.net
アクセス違反で強制終了させられた場合にDumpを出力させた場合に
struct Foo
{
int i;;
};
Foo foo;
foo.iの値をDumpから知ることは可能ですか?
350:デフォルトの名無しさん
16/05/04 13:27:30.06 woHhfZt1.net
出来るはずがない
351:デフォルトの名無しさん
16/05/05 00:05:15.38 zUa6NWoE.net
struct Foo {
DWORD magic;
int i;
};
Foo foo;
foo.magic=0x07214545;
とかやってダンプから07214545を検索すればいいんでないの
352:デフォルトの名無しさん
16/05/05 00:21:23.15 M58BonNM.net
小さなプログラムしか作ったことないんだろうな
普通は構造体が1個しかないようなプログラムってありえないんだよ
353:デフォルトの名無しさん
16/05/05 01:05:24.34 zv5LYT8+.net
ダンプとWinDbgとソースコードとpdbがあって最適化とかで消えてなくて、
スタック上にあるなら表示できる気がする。やってみてないけど。
354:デフォルトの名無しさん
16/05/05 01:34:44.98 zUa6NWoE.net
>>342
んなの>>339からはこのFooのインスタンスが1つなんだかいくつもあるんだか
それとも別にFooに限らず不特定の構造体のメンバの値を知りたいんだか
分からんのだからその中で一つの案を出している
初期化が面倒なら初期値に書けばいいし、複数の構造体ならtype_info::hash_codeでも
メンバに持たせたテンプレートの基底クラスを作ればいい
355:デフォルトの名無しさん
16/05/05 11:19:01.99 /qWvSKFr.net
>>344
君は質問の本質が分かっていないな
みなまで言わないと分からないのか
356:デフォルトの名無しさん
16/05/05 11:47:05.71 aR3QcHwL.net
エスパーきた
357:デフォルトの名無しさん
16/05/05 12:09:33.89 UdftsNeY.net
質問の本質というけど
>>339の質問からは「特定の構造体」なのか「すべての構造体」かは分からないよね
もしかしたら自作の構造体ではなく既存の構造体かも知れないし
エスパーして勝手にすべての構造体だとして回答するのは自由だけど
それで別の可能性の回答にいちゃもんつけるのは違うと思う
それこそ本質を見誤っているのだと思います
>>342は小さなプログラムなら「構造体が1個しかないようなプログラム」もありえることを示唆しています
また小さなプログラムなら>>341は有用だとも取れる
>>339の作っているのが小さなプログラムではないとなぜ言えるのでしょうか?
358:デフォルトの名無しさん
16/05/05 12:15:35.09 l/2+Jb+M.net
帯域の無駄とはまさにこのこと
359:デフォルトの名無しさん
16/05/05 12:26:56.96 ET8VI+4U.net
スレタイ読んで寝ろ
360:デフォルトの名無しさん
16/05/06 19:47:08.86 gQ1eUeNa.net
Windows8の画面の自動回転で縦長になっている画面を横長に切り替えるAPIがあったらお教えください。
デスクトップアプリ(MFC使用のダイアログアプリ)です。
なるべく横長に表示したいダイアログのため、OnInitDialog()内でShowWindow(SW_MAXIMIZE)した後に
ダイアログ内のコントロールをダイアログの幅に合わせて再配置しています。
SetDisplayAutoRotationPreferences(ORIENTATION_PREFERENCE_LANDSCAPE)を使えば横長には切り替
わるのですが、OnInitDialog()ではまだ縦長のままのようで、再配置が正しく行えませんでした。
で、可能ならアプリ起動時、DoModal()前に画面を切り替えたいのです。
よろしくお願いいたします。
361:デフォルトの名無しさん
16/05/07 10:41:22.46 Kik6brAm.net
sendkey
Alt+F4 かなんか
362:デフォルトの名無しさん
16/05/07 17:01:24.81 FRLfg3Ln.net
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = NULL;
CreateEvent(&sa, FALSE, FALSE, NULL); で作ったハンドルは子プロセスに継承されている
子プロセスのDuplicateHandleは成功し親プロセスとの同期は取れている
CreateFile("sample.txt", GENERIC_WRITE | GENERIC_READ, 0 , &sa, OPEN_ALWAYS, FILE
363:_ATTRIBUTE_NORMAL, NULL); で作ったハンドルは子プロセス側でのDuplicateHandle自体は成功しているのに ReadFile、WriteFileでプロセスが落ちる 何が原因なんだろう?
364:デフォルトの名無しさん
16/05/07 17:23:33.70 FRLfg3Ln.net
すみません間違えてました
試していたのはfprintf(...)でその場合は落ちるんですが
>>352を書いてからWriteFileを試したら成功しました
そうなると今度はfprintf(...)でなぜ落ちるんだろうかって疑問になるんですが・・・
365:デフォルトの名無しさん
16/05/07 17:31:53.27 KgU8/FJ+.net
stdin,stdout,stderr以外は子プロセスには引き継げないって分かってる?
366:デフォルトの名無しさん
16/05/07 17:34:03.64 KgU8/FJ+.net
つーか、子プロセスは0,1,2をstdin,stdout,stderrとしてfdopenすると考えて良い
367:デフォルトの名無しさん
16/05/07 17:49:42.38 7sMMCfTe.net
ファイルポインタとファイルハンドル
368:デフォルトの名無しさん
16/05/07 18:04:18.24 5sx0uiPg.net
win32api の世界に C ランタイムの世界を混ぜるのは,混乱するから止めておいたほうが
messagebox で頑張ってくれ
369:デフォルトの名無しさん
16/05/07 18:12:34.31 FRLfg3Ln.net
>>356
理解しました
ありがとうございます
370:デフォルトの名無しさん
16/05/07 18:41:23.13 9/SiGFfq.net
>>353
vsprintf でバッファに出力してそれを WriteFile
371:デフォルトの名無しさん
16/05/07 20:13:10.03 SVmAxHAH.net
おれはWM_CHARでなくWM_ペーストでやってるが
372:349
16/05/08 07:33:07.24 uPD0V3Q6.net
349です。
自己解決。
ShowWindow(WM_MIAXIMIZED)をやめ、デスクトップのサイズでMoveWindowするように
することで、正常に動作。
BOOL CSD_WinDlg::OnInitDialog()
{
: 前略
CRect rectDT ;
GetDesktopWindow()->GetWindowRect( &rectDT ) ;
int nWidth = rectDT.Width() ;
int nHeight = rectDT.Height() ;
do { // Windows8なら画面を横長に
HMODULE hDll = LoadLibrary( "User32.dll" ) ;
if ( !hDll ) break ;
typedef BOOL WINAPI SetRotation( ORIENTATION_PREFERENCE orientation ) ;
SetRotation* pfSetRotation = (SetRotation*)
GetProcAddress( hDll, "SetDisplayAutoRotationPreferences" ) ;
if ( !pfSetRotation ) break ;
(*pfSetRotation)( ORIENTATION_PREFERENCE_LANDSCAPE ) ;
FreeLibrary( hDll ) ;
if ( nWidth < nHeight ) {
int nTmp = nWidth ;
nWidth = nHeight ;
nHeight = nWidth ;
}
} while ( FALSE ) ;
MoveWindow( 0, 0, nWidth, nHeight) ;
CRect rectCli ;
GetClientRect( &rectCli ) ;
: 以下、クライアントのサイズに基づいてコントロールを再配置
373:デフォルトの名無しさん
16/05/08 11:39:33.12 pwQcqOb7.net
迷惑なアプリの見本とか
374:デフォルトの名無しさん
16/05/08 12:14:30.17 1yuVEopA.net
うむ。ウィルスと同種
375:片山博文MZ ◆T6xkBnTXz7B0
16/05/08 17:02:20.87 Urq1EQRP.net
IME内部で呼び出したGetTextExtentPoint32WがERROR_ALREADY_EXISTSで失敗する。
助けて下さい。
376:デフォルトの名無しさん
16/05/08 17:43:25.16 Urq1EQRP.net
助けて
377:デフォルトの名無しさん
16/05/08 18:18:07.81 8pUDf3MI.net
既に存在しますって。
378:デフォルトの名無しさん
16/05/08 21:31:28.06 H4GlBiCg.net
>>356
ファイルディスクリプタ
379:デフォルトの名無しさん
16/05/09 10:20:11.80 /WWMvIkB.net
>>367
Win32の話題なのにバカなの? 死ねば良いのに。
380:デフォルトの名無しさん
16/05/09 14:09:57.34 pzKdLl0R.net
片山先生にも分からない事が有るのか。
381:デフォルトの名無しさん
16/05/09 15:00:58.21 YBKaLZ+x.net
ハードディスクのクローンを行いたんですが、どのような関数でやるの?
382:デフォルトの名無しさん
16/05/09 15:06:09.73 2UQDwNbB.net
まず服を脱ぎます
383:デフォルトの名無しさん
16/05/09 15:07:23.57 noyNIse2.net
>>370
つCloneDisk(dst,src) API
384:片山博文MZ ◆T6xkBnTXz7B0
16/05/09 15:31:05.83 12nCphG6.net
>>370
CreateFileを使うらしい。アクセス権限が必要。
URLリンク(stackoverflow.com)
385:デフォルトの名無しさん
16/05/09 17:27:43.94 ihh7VJo/.net
>>373
できないから、質問してるのでは?
そんなのドヤ顔で紹介されても・・・
386:デフォルトの名無しさん
16/05/09 17:59:52.23 mwKhqul2.net
>>374
その論法では、どんな質問に対してどんな回答をしても同じことが言えるね。
387:デフォルトの名無しさん
16/05/09 18:21:28.96 ihh7VJo/.net
>>375
そうではない
紹介されてるのは、できないか人の質問を紹介してるだけ。
別のできない人の質問を見ても何にもならないだろう
388:デフォルトの名無しさん
16/05/09 18:54:03.51 mwKhqul2.net
>>376
ああ、「できないから質問」はリンク先の話ね。すなまない。
389:デフォルトの名無しさん
16/05/09 19:46:49.69 WSElaHek.net
クローンと九龍って似てるよね
九龍って聞くと3×3EYES思い出すわ
390:デフォルトの名無しさん
16/05/09 19:52:27.27 kFMtfNT1.net
clone
と
cron
は発音が違う
391:デフォルトの名無しさん
16/05/09 20:37:02.59 M3iPLLj4.net
>>376
質問の回答を読めば答えがあるんじゃないの?読んでないけど
392:デフォルトの名無しさん
16/05/09 22:37:05.87 jCCSCwvz.net
/etc/crontab
393:デフォルトの名無しさん
16/05/09 23:35:52.42 noyNIse2.net
あるんじゃないの?って・・・
回答する側はちゃらんぽらんでもいいんですねw
394:デフォルトの名無しさん
16/05/09 23:46:31.04 YBKaLZ+x.net
クラッシュダンプの中からある変数の値
をしりたい
たとえば、下記のような
CDocumentクラスのint型のメンバm_dataの値です。
不可能ですか?
395:片山博文MZ ◆T6xkBnTXz7B0
16/05/09 23:51:44.12 12nCphG6.net
>>383
あらかじめSetUnhandledExceptionFilterに変数の内容を出力する関数を設定せよ。
396:デフォルトの名無しさん
16/05/09 23:59:03.23 M3iPLLj4.net
>>382
俺は回答者じゃないぞ
ただ>>376が質問のトピックだけ見てそれに対する回答にまで目を通していない可能性を示唆しただけ
本当にあのリンク先が質問投げられてるだけで解決してないだけのトピックならそれを貼るのは意味分からんけど
解決してるんちゃうの?って話
397:デフォルトの名無しさん
16/05/10 00:04:44.38 5J1aLd4L.net
>>384
それだと、クラッシュダンプを取っている意味がなくね?
398:デフォルトの名無しさん
16/05/10 01:10:03.16 95ydQ9Nw.net
>>383
シンボルファイルがあれば見れるでしょ。