1 :
デフォルトの名無しさん (dion軍) 転載ダメ
2016/01/05(火) 19:03:39.12 ID:IesHwkgH
2 :
デフォルトの名無しさん
2016/01/05(火) 19:39:12.23 ID:w68plevo
ヽ( )/ ( * ) ノ ゝ ∧_∧ (ヽ( )ノ) ∧_∧ ∧_∧ ヽ ̄ l  ̄ ./ (ヽ( )ノ) ∧_∧ (ヽ( )ノ) ∧_∧ | . . | ヽ ̄ l  ̄ ./ (ヽ( )ノ) ヽ ̄ l  ̄ ./ (ヽ( )ノ)(___人__ ) | . . | /⌒ヽ ヽ ̄ l  ̄ ./ | . . | ヽ ̄ l  ̄ ./ ; 丿 し ( _,;*;,__ (ヽ( )ノ) | . . | (___人__ ) ∧|_∧ | ∪ ∪ ; 丿 ヽ ̄ ∧_∧ (___人__ ) ∧_∧ (ヽ( )ノ) ∧_∧ ∪ (ヽ( )ノ)丿 し (ヽ( )ノ) ヽ ̄ l  ̄ ./ (ヽ(::::::::::::::::)ノ) ∧_∧ ヽ ̄ l  ̄ ./∪ ヽ ̄ l  ̄ ./ | . . | ヽ:: ̄ー ̄./ (ヽ( )ノ) | . . | ∧_∧ | (___人__ ) ∧_∧::::::|:::::::::| ヽ ̄ l  ̄ / ( _,;*;,__ ) /⌒ヽヽ(::::::::::::::::)ノ) ; 丿 し (ヽ( )ノ) ::::::::) | . . | ∪ ; 丿(ヽ( )ノ) ー ̄./ ∪ ヽ ̄ l  ̄ ./ ; 丿 (___人__ ) ∪ ヽ ̄ l  ̄ ./::::::|:::::::::| ∧_∧ | . . | ∪ ; 丿 し | . . | (:::::人:::::::(ヽ( )ノ) 出会うはずの場所が 出会うはずの人たちが あなたを待っている(ドンドコドコドコドンドコドコドコ)
3 :
デフォルトの名無しさん
2016/01/06(水) 13:05:09.32 ID:UIYJrmr4
前スレの続き キーボードフィルタードライバーは使用時に 未署名で大変危険だから入れるなみたいなことを言われますか?
4 :
デフォルトの名無しさん
2016/01/06(水) 14:31:50.81 ID:yluT1kPN
4ね
5 :
デフォルトの名無しさん
2016/01/07(木) 20:51:29.55 ID:+ry8DJY3
質問させてください。 WinPcapでパケットの内容をキャプチャして動作するWindowsアプリケーションを作っています。 現状は、100msでタイマを貼ってメッセージループ内でpcap_next_exを処理しているのですが、 pcap_next_exが1000msほどロックしているみたいで動作が重い感じになってます。 何かいい実装方法を教えていただけないでしょうか? 別スレッドを走らせてpcap_loopを実行してコールバックで実装すればいいのでしょうか?
6 :
デフォルトの名無しさん
2016/01/08(金) 20:04:14.65 ID:84rpqrkC
7 :
デフォルトの名無しさん
2016/01/09(土) 03:41:16.19 ID:al1OphsN
一昔前は、議論の余地があったり、正解が一つじゃない問題について提起するような質問が中心で、
発展性のある質疑応答が行われていたが、
いつの間にか
>>5 みたいな本当にただの情報乞食しか質問しに来なくなった。
8 :
デフォルトの名無しさん
2016/01/09(土) 05:22:45.24 ID:YFiivbQo
ここまでテンプレ
9 :
デフォルトの名無しさん
2016/01/09(土) 07:06:26.41 ID:f8lDEwqx
ここまでテンプレ
10 :
デフォルトの名無しさん
2016/01/09(土) 12:52:50.77 ID:yPE83akt
閑古鳥が通りますお (AAry
11 :
デフォルトの名無しさん
2016/01/09(土) 20:50:24.29 ID:tLSvbtI/
haru pdfを使用しています。 もっと使いやすいの知らない?
12 :
デフォルトの名無しさん
2016/01/12(火) 22:53:40.27 ID:MKR6D1vT
SCROLLINFO structureのnMaxって32768までしか設定できないの? エディタみたいなの作って32768行超えたら1行目に戻っちゃう。
13 :
デフォルトの名無しさん
2016/01/13(水) 00:58:43.27 ID:gJwvtijf
32bit Integerだぞ 今試してみたけど2147483647が入る
14 :
デフォルトの名無しさん
2016/01/13(水) 20:38:05.51 ID:ia1lU0C0
ホントこのスレ雑魚しかいねーな
15 :
デフォルトの名無しさん
2016/01/13(水) 20:45:46.97 ID:3lvMCHEn
ウインドウメッセージを改変したいのですがこのような場合どのような実装をするのが一般的ですか? タッチ非対応のアプリケーションをタッチで操作しようとすると不便なことが多いのでタッチ関係のメッセージを 適当なマウスやキーボードのメッセージに変換したいです 常駐して複数のアプリケーションのメッセージの変換を一手に引き受けるようなユーティリティを考えています アプリケーションはパスで区別するようかな ググっても不特定多数のアプリケーションのメッセージの処理に割り込む方法は見つけられませんでした 画面全部のメッセージをいったん受け取って任意の座評下にあるアプリケーションに投げられれば 出来そうな気がしますが、普通メッセージを受け取れるのは自分だけ?ですし・・・ GUIのプログラミングはほとんど経験がないので見当違いなことを言っていたらすみません
16 :
デフォルトの名無しさん
2016/01/13(水) 21:03:00.57 ID:wjilFIid
>>12 WM_VSCROLL messageが16bitで値をよこすんだった。
>>13 だよね、はいるよね、問題はそっちじゃなかった。
お手数を掛けて申し訳ない。
17 :
デフォルトの名無しさん
2016/01/13(水) 21:05:21.53 ID:o1e0oiX3
リモートプロセスのウィンドウプロシージャとかGetMessageとかSendMessageとかフックすれば行けるんでないの WH_WNDPROCは無理だぜ
18 :
デフォルトの名無しさん
2016/01/13(水) 22:39:43.83 ID:U6qWkuuA
最近、片山先生見ないね。 忙しいのかな
19 :
デフォルトの名無しさん
2016/01/13(水) 23:53:20.75 ID:ia1lU0C0
片山はム板の害虫だからな 誰かに駆除されたんじゃねーのw 片山は未来永劫来ないでくれると有難い
20 :
デフォルトの名無しさん
2016/01/14(木) 00:16:58.27 ID:H3jYOyT9
21 :
デフォルトの名無しさん
2016/01/14(木) 00:20:42.44 ID:H3jYOyT9
片山ウザイ死ね 片山ウザイ死ね 片山ウザイ死ね 片山ウザイ死ね 片山ウザイ死ね 片山ウザイ死ね 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
22 :
片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 00:23:21.55 ID:H3jYOyT9
あたまだいじょうぶ
23 :
デフォルトの名無しさん
2016/01/14(木) 01:32:07.40 ID:6PBsRRef
SetWindowsHookEx()でタッチやらジェスチャやらのメッセージを捉えられるんじゃないの?
24 :
デフォルトの名無しさん
2016/01/14(木) 05:30:49.75 ID:55qL7TdQ
自演
25 :
デフォルトの名無しさん
2016/01/16(土) 21:54:28.31 ID:MtHEXlH9
ARM上でもWin32動作可能にするってよ よかったなお前ら
26 :
デフォルトの名無しさん
2016/01/16(土) 22:28:43.71 ID:Ip/Ue952
IntelやAMDと違って、ARMのプロセッサベンダーは Windowsに配慮しないからどうせ遅くて使い物にならないんだろ RTでも同じことやったろ
27 :
デフォルトの名無しさん
2016/01/19(火) 19:20:02.04 ID:w01QVg+/
DateTimePicker コントロールを持つウィンドウがあります。 コントロールの▼を押すとカレンダーが表示されますが、このカレンダーのサイズ(ウィンドウ、フォントとも)を変更したいと思っています。 しかし、このカレンダーのウィンドウハンドルを取得する方法が分かりません。 DTN_DROPDOWN のタイミングでコントロールのウィンドウハンドルを EnumChildWindows に渡してみても何も列挙されません。 つまりカレンダー部分は子ウィンドウではないのでしょうが、EnumWindows ではどれがカレンダーなのか判断しかねます。 これらを試す前に DateTimePicker コントロールに対して WM_SETFONT を試していますがこれは単に日付のみフォントが変更され、 カレンダー部はまったく変化ありません。 よろしくお願いします。
28 :
27
2016/01/19(火) 20:43:08.74 ID:w01QVg+/
自己レスです。 カレンダーウィンドウハンドルは DateTime_GetMonthCal で取得できることが分かりました。 また、ウィンドウサイズは取得したハンドルを元に MoveWindow等でサイズ変更はできましたが、 フォントサイズを WM_SETFONT で変更することはできませんでした。 この辺はさすがに簡単に実現するのは不可能と諦めるべきでしょうか?
29 :
デフォルトの名無しさん
2016/01/19(火) 20:50:31.01 ID:XjyMc5te
30 :
27
2016/01/19(火) 20:52:09.47 ID:w01QVg+/
連投すみません。自己解決しました。 SetWindowTheme でテーマを無効にすればサイズ変更できました。 お騒がせしてすみませんでした。
31 :
デフォルトの名無しさん
2016/01/19(火) 20:54:22.49 ID:9RLBZfMa
いや貴重な情報だと思うよ 俺は使わないけど
32 :
デフォルトの名無しさん
2016/01/20(水) 21:01:11.40 ID:e3A3Udpz
33 :
デフォルトの名無しさん
2016/01/20(水) 21:16:26.78 ID:eHYWF0WY
CreateWindowで親ウィンドウの指定無し
34 :
32
2016/01/20(水) 21:31:24.98 ID:e3A3Udpz
>>33 親切にありがとうございました
親ウィンドウのハンドルをNULLに変えて、メニューハンドルもNULLに変えて、ウィンドウの種類をWS_OVERLAPPEDWINDOWに変えたらできました!
35 :
デフォルトの名無しさん
2016/01/21(木) 12:52:26.19 ID:zpe1QHZ3
ここのひとはみんな知ってるから そういうレベルのことはいちいち報告しなくていいよ
36 :
デフォルトの名無しさん
2016/01/21(木) 15:43:01.51 ID:yQ7XttE4
37 :
デフォルトの名無しさん
2016/01/21(木) 16:31:35.32 ID:jQP351Wh
このスレでドヤ顔することがステータスと感じるアホが定期的に湧くんだよなあ。
>>29 とか
>>35 とか技術的に何も解ってないけど書き込みに来ている。
38 :
デフォルトの名無しさん
2016/01/21(木) 16:36:55.72 ID:FX4iXu3R
水差し野郎 ガソリン差し野郎 火消し 爆発物
39 :
デフォルトの名無しさん
2016/01/21(木) 22:17:17.69 ID:U885wehe
目先は大荒れだが,いずれ日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する 基調はリスクオンの株式暴騰、金暴落だね 日銀砲がくるぅ!日銀砲がくるぅ!
40 :
デフォルトの名無しさん
2016/01/23(土) 08:43:44.82 ID:CgOtOMI0
41 :
デフォルトの名無しさん
2016/01/23(土) 21:52:41.24 ID:+1x++qqq
今でも仕事でwin32api使う場合ありますか?
42 :
デフォルトの名無しさん
2016/01/23(土) 22:00:08.53 ID:xc9KTHaP
>>41 あるあるC#の場合でさえWin32API呼びださなきゃいけなくなることがままある
43 :
デフォルトの名無しさん
2016/01/27(水) 11:09:12.58 ID:ubzWCtFz
Win64APIまだ?
44 :
デフォルトの名無しさん
2016/01/27(水) 20:28:00.57 ID:VvXpIcfG
Win128APIが欲しい
45 :
デフォルトの名無しさん
2016/01/28(木) 01:26:45.10 ID:WiblVc97
もう一声
46 :
デフォルトの名無しさん
2016/01/28(木) 09:27:47.10 ID:nlvFx6uK
Win256APIが欲しい
47 :
デフォルトの名無しさん
2016/01/28(木) 09:46:42.11 ID:HvsZ1lb+
WinAPIってもう進化しないの?
48 :
デフォルトの名無しさん
2016/01/28(木) 10:45:53.17 ID:mkheAnhu
10586でも普通にAPI追加されてたりするけど?
49 :
デフォルトの名無しさん
2016/01/28(木) 11:33:13.05 ID:dcg0T2/H
APIってより、コモンコントロールのVerUpお願いします。
50 :
デフォルトの名無しさん
2016/01/30(土) 00:52:11.27 ID:AjjCF8oJ
てst
51 :
デフォルトの名無しさん
2016/01/30(土) 09:53:55.83 ID:1awzzRNN
目先は大荒れだが,いずれ日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する 基調はリスクオンの株式暴騰、金暴落だね 日銀砲が北!日銀砲が北! 今度の黒田砲は緩慢に効いてくる
52 :
デフォルトの名無しさん
2016/02/04(木) 13:33:10.29 ID:M0mujwf4
Windowsアプリはwin32じゃなきゃ作れない?
53 :
デフォルトの名無しさん
2016/02/04(木) 14:00:42.81 ID:XbjzwYmp
いいえ
54 :
デフォルトの名無しさん
2016/02/06(土) 17:11:28.72 ID:fGMj84cM
プリンタの一意(シリアルでも良い)の情報を取得出来ますか? (例) プリンタ1:USB接続のデバイス プリンタ2:LAN上のデバイス プリンタ3:Bluetooth上のデバイス 違うポートや、接続方法を変更しても、変わることの無いプリンタ固有の情報を取得したいです。
55 :
デフォルトの名無しさん
2016/02/06(土) 17:24:13.58 ID:bnegH6uR
意味が分からないです。 EnumPrintersで希望の情報が取得できないなら、その理由をお願いします。
56 :
デフォルトの名無しさん
2016/02/06(土) 17:46:57.72 ID:fazvGls3
IrOBEX
57 :
デフォルトの名無しさん
2016/02/06(土) 18:09:41.61 ID:ewLa/pEP
58 :
デフォルトの名無しさん
2016/02/06(土) 23:39:17.94 ID:XRyA0EjL
コントロールパネルのプリンタ一覧に出るくらいの情報は取れるだろ
59 :
デフォルトの名無しさん
2016/02/07(日) 11:57:58.30 ID:fu54F6yL
目先は大荒れだが,いずれ日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する 基調はリスクオンの株式暴騰、金暴落だね 日銀砲が北!日銀砲が北! 今度の黒田砲は緩慢に効いてくる
60 :
デフォルトの名無しさん
2016/02/08(月) 18:21:03.34 ID:LpGg46bP
1.時間 2.情報(知識) 3.人 4.物 5.金 6.公務員
61 :
デフォルトの名無しさん
2016/02/13(土) 08:27:03.25 ID:GG2kKfuP
【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 --------------
62 :
デフォルトの名無しさん
2016/02/13(土) 08:52:05.92 ID:BxXCiqDX
送り先が間違ってる メモ帳でWM_KEYDOWNをハンドルしている所はメインウィンドウではない SendMessageとPostMessageの違いは同期か非同期かだけではない
63 :
デフォルトの名無しさん
2016/02/13(土) 08:56:36.73 ID:BxXCiqDX
具体的に言うと、SendMessageだとTranslateMessageが呼ばれないから駄目
64 :
デフォルトの名無しさん
2016/02/13(土) 09:03:07.21 ID:ORf98vEQ
KEYUPは?
65 :
デフォルトの名無しさん
2016/02/13(土) 09:36:08.50 ID:kF8JbQ5J
transrate されないから WM_CHAR で送るんだっけ?
66 :
デフォルトの名無しさん
2016/02/13(土) 13:39:44.07 ID:pQPzYQNF
そう。 仮想キーボード作るのにkeybd_event知らずにWM_CHAR送ってたことあったわ。
67 :
デフォルトの名無しさん
2016/02/13(土) 15:16:29.22 ID:GG2kKfuP
>>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は最前面ウィンドウに対する操作になってしまうので、
使えないです。
※ウィンドウが最前面か否かに関わらず常に安定した操作を実現したいのです
68 :
デフォルトの名無しさん
2016/02/13(土) 15:45:29.59 ID:QD8KbUeS
つ SendMessageCallback
69 :
デフォルトの名無しさん
2016/02/13(土) 16:13:10.53 ID:GG2kKfuP
>>68 ありがとうございます。
SendMessageCallback というものがあったんですね。
しかし、「SendMessage でWM_KEYDOWN は使えない」という原因の解決にはならないですね。
70 :
デフォルトの名無しさん
2016/02/13(土) 16:39:49.96 ID:BsiOP/VU
2
71 :
デフォルトの名無しさん
2016/02/13(土) 18:32:28.11 ID:s+9Slq2v
>>69 諦めるかリモートプロセスに潜り込んでサブクラス化するか
どちらか選べ
72 :
デフォルトの名無しさん
2016/02/14(日) 06:41:33.20 ID:l8k1FRK9
Ctrl+SはTranslateAcceleratorが処理しているので 宇宙が終わるまで頑張ってもラノベの能力者でもSendMessageで実行することは不可能
73 :
デフォルトの名無しさん
2016/02/14(日) 10:00:11.42 ID:U4HqBg4Q
つーか、相手がメモ帳である必要はあるのか? メモ帳もどきを自作した方がいいのではないか? 監視対象を逆にして、メモ帳もどきがシステムから文字を読み取ればいいのではないか?
74 :
デフォルトの名無しさん
2016/02/14(日) 11:45:01.21 ID:pLP1J6Vd
まずテストで対象をメモ帳にしているだけではないか?
75 :
デフォルトの名無しさん
2016/02/15(月) 14:46:28.65 ID:8Os0TVn8
ほんとにやりたいのはもちろんネトゲのクラックだけどバラすと叩かれるので言えません
76 :
デフォルトの名無しさん
2016/02/15(月) 15:02:27.81 ID:Y2R/v65U
んな事企んでる奴がSendMessageに目をつけるかよw だよな?
77 :
デフォルトの名無しさん
2016/02/16(火) 15:03:44.56 ID:Ktv0T7Kd
MFCで作られたアプリを他のプロセスから操作というかデータを抜き出したいんですけど どのようなアプローチがありますでしょうか
78 :
デフォルトの名無しさん
2016/02/16(火) 16:24:35.08 ID:98frxkoE
ざっくりしすぎ
79 :
デフォルトの名無しさん
2016/02/16(火) 21:53:32.80 ID:lC/6c5cB
ぎっくりごしすき に見えた 逝ってくる
80 :
デフォルトの名無しさん
2016/02/18(木) 12:25:34.32 ID:S96kZ0X7
81 :
デフォルトの名無しさん
2016/02/19(金) 17:44:52.75 ID:4ohwfksv
時間のかかる処理において、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) で判定する場合と で、どちらも期待通りに動いていますが、お作法としてはこっちがいい。 ということはありますか?
82 :
デフォルトの名無しさん
2016/02/19(金) 18:58:40.25 ID:LIHPi+yd
GetAsyncKeyStateの方だとウィンドウにフォーカスが無くてもESCキーが押されたのを拾うが
PeekMessageの方だとウィンドウにフォーカスが無いと検出できないという違いはあるね
だけど、PeekMessageでウィンドウメッセージが拾えているということは
ウィンドウを作成したスレッドで時間のかかる処理をしているみたいだけど
>
https://msdn.microsoft.com/ja-jp/library/cc410948.aspx >(PeekMessage 関数は、ほかのスレッドに所属するウィンドウに関連付けられているメッセージは取得しません)
中断を受け付けるような時間のかかる処理は、ウィンドウを作成したスレッドとは別スレッドでやった方が良い
もしくは定期的にPeekMessageを呼んでディスパッチしてやるという方法もあるが
ダサいのでスレッドを使った方が良いだろう
83 :
デフォルトの名無しさん
2016/02/19(金) 21:08:52.65 ID:4ohwfksv
なるほど、よく分かりました。 フォーカスのことを失念していました。 このままだと、処理中に別のアプリケーションで作業しつつESCを押すと 本処理が中断されてしまいますね。 スレッドに関しては仰るとおりです。 どうもありがとうございました。
84 :
デフォルトの名無しさん
2016/02/20(土) 02:04:49.32 ID:S2Po0hUW
エスケープをホットキーに登録する方法もあるよ
85 :
デフォルトの名無しさん
2016/02/20(土) 04:00:53.50 ID:DENPjcvu
SetWindowPos で質問です。 通常のオーバーラップ、ポップアップウィンドウを前面(手前)に表示したい場合、 SetWindowPos で HWND_TOP を指定すれば実現できます。 同じ調子で、あるウィンドウの中にいくつも重なり合うコントロールの中で、 任意の一つのコントロールを前面に表示したいと思い、先と同じように SetWindowPos に HWND_TOP を指定してみたのですが、前面になりません。 思ったのとは逆に、HWND_BOTTOM を指定すれば前面になります。 MSDN によると、HWND_BOTTOM はZオーダーの最後と書いていますので、 Zオーダーの最後にくることによって、結果的に前面に表示されると思えば 納得できなくもない(ダイアログエディタではその挙動なので)のですが、 この解釈で合ってますか? 実際、そのように動いてはいますが、なんだか釈然としません。
86 :
デフォルトの名無しさん
2016/02/21(日) 12:57:11.04 ID:J0DDw2OI
>>85 WS_CLIPSIBLINGS を指定し忘れてない?
重なり合う場合これを指定しないと、どのウィンドウが前面にあるか関係なく、
最後に描画操作したウィンドウがそのまま表示されるので、bottomにあるウィンドウが
一番手前にあるように見えたりする。
87 :
片山博文MZ ◆T6xkBnTXz7B0
2016/02/21(日) 23:54:03.12 ID:mZ9I4pVL
特定のアプリの時間を止めることは出来ますか?
88 :
デフォルトの名無しさん
2016/02/22(月) 00:01:15.97 ID:e00mKUAj
>>86 お返事ありがとうございます。何とか解決しました。
>>85 を具体的に説明しますと、ダイアログベースで作ったメインのオーバーラップウィンドウにいくつか
コントロールが配置されていて、あるボタンを押すとダイアログのある範囲のデザインを変更すべく、
別の子ウィンドウスタイルのダイアログが上に表示されます。
これまでは
>>85 の解釈が正解であれば、HWND_BOTTOMでZオーダーの最後にすることにより前面に来るような挙動をしています。
ここで子ダイアログにWS_CLIPSIBLINGSを指定して、SetWindowPosでHWND_TOP、HWND_BOTTOMとも試してみましたが、
親ダイアログ内の重なり合うコントロールより上には正しく表示されません。
親ダイアログ内の重なり合うコントロールにもWS_CLIPSIBLINGSを付与してみると、今度はSetWindowPosでHWND_TOPを
指定すると当初の希望通りに前面に子ダイアログが表示されました。
HWND_BOTTOMを指定すると、今度は一番下になりました。
これで解決に見えますが、最後に質問です。
親ダイアログ内の重なりあるコントロールにWS_CLIPSIBLINGSを付与しましたが、VSのダイアログエディタでは操作できないので
プログラムでわざわざ付与しています。
ダイアログベースの場合、ここまでしなければいけないものでしょうか?
89 :
デフォルトの名無しさん
2016/02/22(月) 00:03:09.54 ID:Hluu6IDo
デバッガー経由で実行してINT3しろ
90 :
片山博文MZ ◆T6xkBnTXz7B0
2016/02/22(月) 00:21:47.83 ID:C/gFN+RL
アプリの実行状態を保存したり、復元したりできるだろうか?
91 :
デフォルトの名無しさん
2016/02/22(月) 01:01:11.43 ID:efQJgPcz
SuspendThreadとか?
92 :
片山博文MZ ◆T6xkBnTXz7B0
2016/02/22(月) 01:08:29.91 ID:C/gFN+RL
93 :
デフォルトの名無しさん
2016/02/22(月) 01:33:00.33 ID:wBLibIRF
>>88 子ダイアログを表示する際、同時に、重なり合う親ダイアログ内のコントロールを非表示にすれば?
94 :
片山博文MZ ◆T6xkBnTXz7B0
2016/02/22(月) 01:47:42.64 ID:C/gFN+RL
WS_CLIPCHILDREN
95 :
86
2016/02/22(月) 13:07:14.63 ID:eU9Lov9M
>>88 プログラムでスタイルを変更するか、rcをテキストエディタで直接編集するしかないような気がします。
ダイアログ内のコントロールは重なり合うような位置に配置することが通常ないので、
コントロールにWS_CLIPSIBLINGSをつける必要性がほとんどないせいかと思います。
96 :
デフォルトの名無しさん
2016/02/22(月) 13:43:47.72 ID:v1Wohs7h
今のWindowsではどうか知らんけどXPの時は何故かコモンコントロールの WS_CLIPCHILDRENとかWS_CLIPSIBLINGSは期待通りの動きをしなかった記憶が。。。 WS_CLIPCHILDREN指定しても親windowのdrawでコントロールが塗りつぶされちゃって 親window側でExcludeClipRect使ったりしてた
97 :
片山博文MZ ◆T6xkBnTXz7B0
2016/02/22(月) 14:06:29.16 ID:C/gFN+RL
WS_CLIPCHILDRENは、親に指定するんじゃなかった?
98 :
デフォルトの名無しさん
2016/02/22(月) 14:25:04.74 ID:v4lNOwvr
さすがにWS_CLIPCHILDRENを子ウィンドウにセットするバカはいないだろう CHILDRENってなってるのにさ
99 :
デフォルトの名無しさん
2016/02/22(月) 15:31:52.54 ID:e00mKUAj
85です。
>>93 そのようにする場面もあるのですが、今回は注意喚起の表示という仕様のため、条件を満たすまで
今回の子ダイアログは表示しっぱなしだけど他のコントロールは操作できるようになります。
なので、見た目はポップアップぽいけどフォーカスは奪わないし親ウィンドウの移動にも追随する
という感じになります。
>>95 どうやらそのようですね。
保守性がよろしくないので、一旦元の形に戻してしまいました。
下に続きます。
>>94 ,96
結論から書くと、WS_CLIPCHILDRENでうまく行きそうです。
ただ、WS_CLIPCHILDRENのみを付与しても目的の動作にはなりませんでした。
この場合、コモンコントロールが混じってると親と子ダイアログの前後関係がさらにおかしくなりました。
親ダイアログに配置されているコモンコントロールが常に子ダイアログより前面に来てしまいます。
なおかつ、その状態で子ダイアログに配置されているコントロールのみ、前面に表示されます。
(子ダイアログ本体の枠や背景のみが後ろになる)
SetWindowPosでHWND_TOPやHWND_BOTTOMを付与しても変化ありませんでした。
長いので区切ります
100 :
デフォルトの名無しさん
2016/02/22(月) 15:32:18.37 ID:e00mKUAj
諦めかけましたが、試行錯誤の結果、次のようになりました。
親ダイアログ:WS_CLIPCHILDRENを付与
子ダイアログ:WS_CLIPSIBLINGSを付与
子ダイアログ表示時のSetWindowPosのフラグ:HWND_TOP
リソースを直接編集したり、ソースレベルでWS_CLIPSIBLINGSを各コントロールに付与しない。
これで完全に意図した動作となりました。
ただ、これは大したことは無いですが、親ダイアログで使っているグループボックスはすべて透過指定を
しなければグループ内部が真っ白になります。
通常、これをしなくとも透過したような表示なるコントロールですが、WS_CLIPCHILDRENを使う場合は
これも忘れてはいけないことなります。
うっかり忘れそうな約束事なので、ウィンドウスタイルや透過など一切気にしなくていい
>>85 の作りの方が
気楽ではありますが...
皆さんありがとうございました。
101 :
デフォルトの名無しさん
2016/02/22(月) 15:44:46.41 ID:v1Wohs7h
コモンコントロールはパフォーマンス向上の為かなんか知らんけど 何か変なことやってるんだよ
102 :
デフォルトの名無しさん
2016/02/22(月) 15:46:07.35 ID:v1Wohs7h
103 :
デフォルトの名無しさん
2016/02/25(木) 06:57:11.58 ID:PLgU9tTi
「XXX を削除できません。 ほかの人またはプログラムによって使用されています。 ファイルを使用している可能性があるプログラムをすべて閉じてから、やり直してください。」 が出る場合、そのファイルを使用しているプロセスを知る方法はありますでしょうか
104 :
デフォルトの名無しさん
2016/02/25(木) 07:56:07.46 ID:KuR04bG+
あるよ ただ、簡単ならいくらMicrosoftが能無しでもそこのダイアログに誰が開いているか表示するだろう そのくらい面倒くさくまともな方法じゃないってことは察しろ お前には無理
105 :
デフォルトの名無しさん
2016/02/25(木) 08:19:39.32 ID:PLgU9tTi
あるだろうか たぶん、ファイルシステムにフラグを立てているだけで OSですら誰が専有してるか知らないのではないか 知ってたらプロパティのとこに表示するはず
106 :
デフォルトの名無しさん
2016/02/25(木) 08:51:54.48 ID:w0W3/+pC
>>103 フリーソフトであるけどプログラムからやりたいのん?
107 :
デフォルトの名無しさん
2016/02/25(木) 09:23:48.92 ID:m/jN0scy
>>105 カーネルオブジェクトに書いてあるっての
無知が下らない予想するな
108 :
デフォルトの名無しさん
2016/02/25(木) 09:56:10.61 ID:pDSMfAMl
Unlocker(やその類)入れてない奴居るんだ
109 :
デフォルトの名無しさん
2016/02/25(木) 10:20:15.36 ID:o9gTGVty
わざわざフリーソフト入れんでも知りたいだけならopenfilesでええやん。
110 :
デフォルトの名無しさん
2016/02/25(木) 10:35:43.60 ID:5pSxGIX0
111 :
デフォルトの名無しさん
2016/02/25(木) 10:57:38.25 ID:xnX4JkuY
>>103-105 セキュリティーポリシーで
全ディレクトリを監視フラグ立てておいて
使用中ですのメッセージが出たら
イベントログのセキュリティー監査を見る
112 :
デフォルトの名無しさん
2016/02/25(木) 21:23:11.22 ID:2hov+RIN
113 :
デフォルトの名無しさん
2016/02/25(木) 22:21:38.65 ID:e75sLQ6e
本当はOSとは、そういうことを簡単に見られるようにするべきものなんだがね なんでひとこと「ソフトXXXがファイルにロックをかけています」が出せないんだろう
114 :
デフォルトの名無しさん
2016/02/26(金) 00:14:13.49 ID:sByuqtKs
本当にそうだよね 以下のプロセスで使用中なので削除できません ・・・ ・・・ って感じで表示してくれればよいのにね
115 :
デフォルトの名無しさん
2016/02/26(金) 02:16:20.97 ID:h0IG9LPJ
USBメモリーの取り外しの時もそやな
116 :
デフォルトの名無しさん
2016/02/26(金) 06:10:00.75 ID:SbNdnXGp
全てアクセス出来る権限がある人の発想だから そうじゃないケースもある
117 :
デフォルトの名無しさん
2016/02/26(金) 07:12:26.23 ID:JdiTwSlc
そうですね で 「たぶん、ファイルシステムにフラグを立てているだけで OSですら誰が専有してるか知らないのではないか 知ってたらプロパティのとこに表示するはず」 とか述べちゃって馬鹿にされた溜飲はMSを罵倒することで醒めましたかね 愚かな子よ
118 :
デフォルトの名無しさん
2016/02/26(金) 11:00:17.08 ID:3qM7nJI0
表示したら何も考えずプロセス強制終了させたり、必要だからロックしてんのにソフトに文句つける奴が出るだろ
119 :
デフォルトの名無しさん
2016/02/26(金) 11:47:06.68 ID:fV5IfbGO
unixやlinuxみたいな仕様でいいんだけどね なぜWindowsではそうなってないかというと、 これはもうFATの仕様を引きずってるために他ならない
120 :
デフォルトの名無しさん
2016/02/26(金) 14:23:21.89 ID:VQGl6zaq
>>118 msのsvchostばっかり出て来て都合が悪いのかもな
121 :
デフォルトの名無しさん
2016/02/26(金) 14:52:18.99 ID:jCv12aZp
権限がないとわからない そのプロセスじゃなく呼び出し元のアプリ/ウインドウを追究・表示しないと結局わからない つまり決定打となる解決策はこれ 「誰かがファイルをつかんでいるのでシステムを再起動してください」
122 :
デフォルトの名無しさん
2016/02/26(金) 15:29:31.56 ID:oOqM6/8K
シャットダウン時に妨げてるプログラムとして「ログオフの音を鳴らしている」をリストアップするWindowsさんが そんな体面を取り繕うような真似をするわけがなかろう
123 :
デフォルトの名無しさん
2016/02/27(土) 01:27:00.12 ID:knS9v8z9
最近のWindowsと特定のプログラムの組み合わせだと何で開かれてるか表示される場合もあるけど あれは何が条件なんだ?
124 :
デフォルトの名無しさん
2016/03/07(月) 13:29:11.54 ID:0uegXE54
教えて下さい。 カメラをPCにつなぐとポータブルデバイスと出てドライブレターが表示されないのがあるんどえすが この中のファイルにアクセスする方法を教えてください。 ちなみに、エクスプローラでは普通にポータブルデバイス内のファイルにアクセスできます。 ドライブレターが無いのでどうやってアクセスしていいのかわからないので・・
125 :
デフォルトの名無しさん
2016/03/07(月) 13:36:06.47 ID:ukNPOJq0
UNCパス
126 :
デフォルトの名無しさん
2016/03/08(火) 00:06:02.05 ID:4rcXoPLf
WPDならIPortableDevice使えばいいんじゃね
127 :
片山博文MZ ◆T6xkBnTXz7B0
2016/03/10(木) 18:32:23.79 ID:xtkhTFvc
SmartScreenのせいでEXEの野良配布が困難になってきてるよな。
128 :
片山博文MZ ◆T6xkBnTXz7B0
2016/03/10(木) 18:46:42.47 ID:xtkhTFvc
署名とかストアとか覚えないといけないの?
129 :
デフォルトの名無しさん
2016/03/11(金) 19:47:15.34 ID:qqLNoNER
130 :
デフォルトの名無しさん
2016/03/11(金) 22:34:26.95 ID:S7VWGxAb
win32→storeのプロジェクトはまだ生きてたみたいだから そういう流れになっていくんだろうな
131 :
デフォルトの名無しさん
2016/03/13(日) 19:04:41.84 ID:Fmygxn2c
セキュリティ関連についての質問。 他のアプリケーション(例えそれが管理者権限で実行されたとしても)に絶対読まれたくないデータはどうやって保存すればいい? もし無理なら、そのデータに他のアプリケーションからアクセスされたかどうを知る手段はある?
132 :
デフォルトの名無しさん
2016/03/13(日) 19:08:51.86 ID:N6Vxxlvc
>>131 他のアプリのしらない方法と鍵で暗号化すればいい
他のアプリが自分のアプリを検索して鍵を探すようなことをするのであれば‥その鍵を別の鍵をつかって暗号化するとか‥
完全に安全を保障する方法はないね
133 :
デフォルトの名無しさん
2016/03/13(日) 19:16:05.80 ID:Qm5VdHR0
管理者権限なんてローカル限定の権限なんだからリモートに保存すればいい もっとも、保存直前にプロセスのダンプを取られたらどんな方法を取ろうが無力
134 :
デフォルトの名無しさん
2016/03/13(日) 19:48:45.08 ID:N6Vxxlvc
>>133 悪意を前提で考えると,リモート保存も安全性には寄与しない
135 :
デフォルトの名無しさん
2016/03/13(日) 20:08:01.48 ID:ugQKdrMu
Win32スレに来ているくらいだからまずはMSDNで探してみるべきだろう。データ保護APIってのがある。
ProtectedMemoryを正しく使えば
>>133 の言うようなプロセスのダンプからも保護できる。
136 :
デフォルトの名無しさん
2016/03/13(日) 20:25:41.60 ID:N6Vxxlvc
>>135 そのデータ保護APIなるものは,同一アカウント上のプロセス間で保護するのか?
異なるアカウント間では保護できるようだが,ようするにそれはパスワードレベルの保護のことだよね
137 :
デフォルトの名無しさん
2016/03/13(日) 21:15:28.14 ID:ugQKdrMu
そりゃもちろん、プロセス間で保護できなきゃザルなわけで。仮に他プロセスからセッション鍵を盗むことが できたとしても、その鍵を使って保護されたメモリからデータを取り出すことはできない。 ファイルに保存されたものがアカウント+パスワードレベルの保護になるのはしょうがないが、他プロセスから 保護することとパスワードに基づく保護というのは別に排他的な概念じゃないからな。
138 :
デフォルトの名無しさん
2016/03/13(日) 21:42:17.07 ID:N6Vxxlvc
>>131 にもどって,他のアプリに読まれたくないデータをどこに保存すればいいかっていう話なんだから
>ファイルに保存されたものがアカウント+パスワードレベルの保護になるのはしょうがない
ということならば,
>>131 には否定的な回答しかできないわけだ.
139 :
デフォルトの名無しさん
2016/03/13(日) 21:44:05.47 ID:Fmygxn2c
サンクス。 その何とか保護API調べてみるわ。 >悪意前提 悪意前提で考えてる。 >ネットワーク ネットワーク上に保存したくないからローカルで、というわけでローカルでのファイル保護について質問した。 保護されたファイルへアクセスしたプロセスって後から調べたりるの無理だよね? 詳しくないけどグローバルフックとやらを使えばリアルタイムで何とかなるのか? 保護しきれないならせめてファイルアクセスがあったかどうかを知りたい。
140 :
デフォルトの名無しさん
2016/03/13(日) 22:29:44.93 ID:ugQKdrMu
>>138 なんか面倒くさい奴だなぁw
別にパスワードによる保護を否定するつもりはないし、
>>137 で書いたようにそもそも
>>135 の
プロセスの保護の話とパスワードを使うかどうかってのは全然関係ない話なんだが。
要は
>>136 の1行目と2行目には脈絡がないということ。
141 :
デフォルトの名無しさん
2016/03/14(月) 00:10:23.99 ID:J7Gv1smK
話を面倒臭くしているのは自分自身だと思うぞw
142 :
デフォルトの名無しさん
2016/03/15(火) 13:27:09.56 ID:SqQ89npq
Windows7でMCIコマンドでCDドライブの操作試みてるけど、 トレイの開閉ステータスが取れないね。 ・メディアが入っていなければ常にMCI_MODE_OPENを返す...常にオープンしか返さない ・メディアが入っている場合は常にMCI_NOT_READYを返す...中身を読める場合でもNOT_READY MCIの仕様変わっちゃったの? 試しにフリーソフトも動かしてみたけどステータス見れてない感じ。
143 :
デフォルトの名無しさん
2016/03/18(金) 22:48:07.36 ID:tzMPzhn8
質問があります ツリービューコントロールの要素をD&Dで移動させる処理を APIバイブルのサンプルを参考に作りました。 (TVN_BEGINDRAGを捕捉してTreeView_CreateDragImageして マウスキャプチャとかする感じの) それが出来上がってからほかのソフトのウィンドウにもD&Dを したくなりました(ツリービューの要素にはファイルパス情報が入っているので) それを調べたらOLEを使うのが一般的っぽかったので、 IDropSourceとかIDataObject等一通り調べてなんとか理解できたかと思います。 しかし、ツリービュー内でのD&Dなら今まで通り、他のウィンドウへのD&Dなら ファイルパス情報を渡すみたいな感じにしたいのですが、 こういう場合はツリービュー内でもOLEを使わないと無理なのでしょうか?
144 :
デフォルトの名無しさん
2016/03/19(土) 16:00:00.47 ID:h2RjUxSC
OLEで使用するDoDragDrop関数がドロップを終えるまで制御が返らないので、 前者の方法(TVN_BEGINDRAG を捕捉して始めて WM_MOUSEMOVE と WM_LBUTTONUP を捕捉する) との併用は不可能だと判りました。 OLEを使って同じツリービュー内でやるには OLEのIDropTargetを使う方法じゃないとダメっぽいとの結論になりました。
145 :
デフォルトの名無しさん
2016/03/20(日) 08:15:49.40 ID:J2K9MuYg
IDispatch派生クラスのオブジェクトをIDispatch*で受け取ったさい、そのオブジェクトのサイズを取得する方法はないでしょうか。 つまり sizeof(実際のクラス) を知りたいのです。
146 :
デフォルトの名無しさん
2016/03/20(日) 10:30:56.23 ID:YlJ66Eyf
無い というかそういう設計を考えてはいけない
147 :
デフォルトの名無しさん
2016/03/20(日) 12:53:05.21 ID:qAkJCql8
イベントをフックをする時はSetWindowsHookExで登録してUnhookWindowsHookExで削除するのが基本のようですが UnhookWindowsHookExを呼び出せずにアプリケーションが終了してしまった場合はどのようになりますか?
148 :
デフォルトの名無しさん
2016/03/20(日) 13:37:31.29 ID:WeI0+7T0
自分の環境で実行してみりゃいいじゃないの
149 :
147
2016/03/20(日) 18:19:28.89 ID:qAkJCql8
>>148 試そうかと思いましたがクラッシュしたり意図しない動作のまま回復不能になったりしそうで躊躇しています
そのような危険がないのであれば試してみようかと思いますが・・・
150 :
デフォルトの名無しさん
2016/03/20(日) 18:23:37.30 ID:9URbr6kI
151 :
デフォルトの名無しさん
2016/03/20(日) 18:41:38.31 ID:QxKIfwds
>>149 他人なら
> クラッシュしたり意図しない動作のまま回復不能になったり
してもいいってか?
シネよ
てか、仮想でやれ
152 :
デフォルトの名無しさん
2016/03/20(日) 21:26:43.48 ID:29yt69lx
おかしくなったとしても再起動すればよいだろ クラッシュが怖くて開発が出来るかよ
153 :
デフォルトの名無しさん
2016/03/20(日) 21:49:19.68 ID:zQsHS3k2
ディスクを破壊しながらクラッシュとか、 昔はよくやったものだ。
154 :
デフォルトの名無しさん
2016/03/20(日) 22:08:27.62 ID:qUimOGMq
えーと、要らない一時ディレクトリを丸ごと削除するプログラムにしよう。 /(^q^)\親ごと全部消えた!!!
155 :
デフォルトの名無しさん
2016/03/21(月) 07:05:13.67 ID:nDSulSOJ
ディレクトリ階層削除する関数で 空文字指定したらルートまで全部みたいな
156 :
デフォルトの名無しさん
2016/03/21(月) 08:32:25.02 ID:Mnjzg0Wz
アンインストール時に親ディレクトリ毎削除したやつがおってだな
157 :
デフォルトの名無しさん
2016/03/21(月) 08:53:39.84 ID:PmGMa+wt
おっと、富士通の悪口はそこまでだw
158 :
デフォルトの名無しさん
2016/03/21(月) 12:36:26.84 ID:b4wXoPlv
昔みずいろとかいうエロゲがあって
159 :
デフォルトの名無しさん
2016/03/21(月) 12:37:40.64 ID:dZKdhS3z
160 :
デフォルトの名無しさん
2016/03/22(火) 15:34:10.27 ID:cRV6j0bX
私、rmちゃん 今あなたの後ろにいるの
161 :
デフォルトの名無しさん
2016/03/23(水) 00:43:37.49 ID:kpR9M/as
'rm' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
162 :
デフォルトの名無しさん
2016/03/24(木) 01:43:08.29 ID:+x6xcDgj
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 }
163 :
デフォルトの名無しさん
2016/03/24(木) 01:55:58.88 ID:019JwaRF
IDOKが定義されてないとか
164 :
デフォルトの名無しさん
2016/03/24(木) 06:39:03.44 ID:+x6xcDgj
有難う御座います。 IDOKは予約後で定義されていると思いますが。 私もそれを疑って、#include "reesource.h"をリ ソースファイルの先頭に追加して。 resource.hで #define IDOK 1001を定義したら今 度は確かにsyntax errorは無く正常にコンパイル しました。 然し、今度は逆にボタンを押した時にきちんと IDOKが返って来ません。何れにしてもここでの IDOKと言う定義が間違っていると思いますが。 正しいIDOKの定義はどの様にすれば良いのでしょ うか。単に、定義をするだけではリソースは出来 てもリソースは出来たとしてもリソースとしては 機能しません。 済みません。アドバイスをお願いします。
165 :
デフォルトの名無しさん
2016/03/24(木) 06:51:45.03 ID:019JwaRF
IDOK は、多分 1
166 :
デフォルトの名無しさん
2016/03/24(木) 06:55:59.99 ID:019JwaRF
ていうか ID_OK の間違いだろ
167 :
デフォルトの名無しさん
2016/03/24(木) 07:01:21.78 ID:+x6xcDgj
有難う御座います。 IDOKをID_OKに変更しても結果は変わらずsyntax errorになります。
168 :
デフォルトの名無しさん
2016/03/24(木) 07:11:16.45 ID:5JBRPHnG
.rcかresource.hでwindows.hをインクルードしてる?
169 :
デフォルトの名無しさん
2016/03/24(木) 07:57:01.56 ID:+x6xcDgj
有難う御座います。 解決しました。 windows.hをインクルードしていないのが原因でした。
170 :
デフォルトの名無しさん
2016/03/25(金) 15:02:32.36 ID:e5iRWphL
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)
171 :
デフォルトの名無しさん
2016/03/25(金) 15:04:12.61 ID:e5iRWphL
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の提示をお願いします。 宜しく、お願いします。
172 :
デフォルトの名無しさん
2016/03/25(金) 15:10:54.87 ID:CUZNJgnV
スレ違いにも程があるぞ 本屋行ってオライリーのGNU Make読んでこい
173 :
デフォルトの名無しさん
2016/03/25(金) 15:18:16.65 ID:CX1q41Ys
mingw/gcc の質問やないか
174 :
デフォルトの名無しさん
2016/03/31(木) 08:39:59.70 ID:K1Mny911
すみません質問させてください SystemParametersInfo関数のようなWindowsのシステムをいじることについて 網羅的に書いてある紙の本ってあるんでしょうか 代表的なものだけでも
175 :
デフォルトの名無しさん
2016/03/31(木) 10:33:05.53 ID:rf0CgBoT
176 :
デフォルトの名無しさん
2016/03/31(木) 15:16:19.63 ID:3JOhUKfn
177 :
デフォルトの名無しさん
2016/03/31(木) 16:57:20.40 ID:nkzU0v9F
>>174 もちっと自分のやりたいことがわかるように聞いたほうがいいんじゃね
178 :
デフォルトの名無しさん
2016/03/31(木) 17:50:33.83 ID:K1Mny911
>>177 ありがとうございます
Windowsの操作を楽にする便利なツールを色々思い付く限り作りたいと思います
その為には「こういうことができないか」とやりたいことを考えてからそれを実現する関数を調べるという道筋と
すべての関数の一覧を見ていて「こういう関数があるならこういう便利なツールを作れるな」と発想する道筋の2つがあると思いました
それで前者についてはネットで調べるので良いのですが、
後者の着想のきっかけを得るために本に網羅されたリファレンスマニュアルのようなものがほしいのです
179 :
デフォルトの名無しさん
2016/03/31(木) 18:33:03.51 ID:I8JOZpbh
180 :
デフォルトの名無しさん
2016/03/31(木) 22:24:02.53 ID:uSuxbU8H
181 :
デフォルトの名無しさん
2016/04/01(金) 05:12:57.08 ID:olPRPtsN
オンゲー解析してみたくて今C言語学習中なんですが、いつ頃WINAPI32を学習すればいいですか? オンラインゲームを解析するにはWINAPI32の学習は避けては通れない道みたいですが、今API32の入門書を読んでもサッパリで
182 :
片山博文MZ ◆T6xkBnTXz7B0
2016/04/01(金) 05:33:04.14 ID:cbPhNKwQ
>>181 WINAPI32じゃなくてWin32 APIだよ。
Win32は果てしなくでかいので、入門書だけでなくヘルプも読むのが常識だよ。
Win32には独自の型があるので、それらの使い分けを最初に勉強するといいよ。
183 :
デフォルトの名無しさん
2016/04/01(金) 05:48:48.38 ID:olPRPtsN
>>182 ありがとうございます。
win32は予備知識などなくても覚えられるものでしょうか?
184 :
片山博文MZ ◆T6xkBnTXz7B0
2016/04/01(金) 06:17:50.03 ID:cbPhNKwQ
>>183 関数、構造体、ポインタ、関数ポインタ、イベント駆動などの知識が
必要と思われる。
185 :
デフォルトの名無しさん
2016/04/01(金) 08:37:14.08 ID:TsVr6Gke
>>181 話にならん
自分が人に教えられるレベルになってからそういうのをやるもんだ
186 :
片山博文MZ ◆T6xkBnTXz7B0
2016/04/08(金) 17:51:35.51 ID:eaIwZ6It
ダウンロードしたインストーラの実行前のSmartScreenの警告を消すためにはDigiCertから EV証明書を買ってSignToolを使ってコード署名しないといけないんだよね? 証明書がウン万円もするんだが。。。
187 :
デフォルトの名無しさん
2016/04/08(金) 18:04:06.56 ID:O1PVjDtF
そらそうよ 証明書買ってコード署名した汎用ダウンローダーを作って安く売れば需要あるかな? インストーラーの顔をしながら、実行すると本体インストーラーをダウンロードして実行する奴。 というか、既にありそう。
188 :
片山博文MZ ◆T6xkBnTXz7B0
2016/04/08(金) 18:54:22.13 ID:eaIwZ6It
>>187 有り難う。
証明書に有効期限があるということは、ソフトにも賞味期限ができたことになるな。
189 :
デフォルトの名無しさん
2016/04/08(金) 21:21:33.10 ID:gortvINo
>>187 そういう脱法的なのは、それを使って悪用されたら面倒なことになると思うけど良いのかな。
少なくともその証明書はブラックリストになるはず。
>>188 署名する時にタイムスタンプサーバーを指定して署名日時を入れておけば大丈夫だよ。
これを忘れると証明書の期限切れとともに署名も無効になる。
190 :
デフォルトの名無しさん
2016/04/09(土) 01:31:16.52 ID:mjwXlN36
>>186 EVコードサイニング証明書の取得は法人格が必要。
個人だったらコードサイニング証明書まで。EVコードサイニング証明書に比べたらちょっと安いけど、それでも結構するな…。
EVじゃない方だと評価回数が少ないうちはSmartScreenで警告されるみたいだね。
191 :
デフォルトの名無しさん
2016/04/10(日) 01:49:05.76 ID:bQbq5y+9
192 :
デフォルトの名無しさん
2016/04/11(月) 03:43:32.81 ID:A0XmuThL
リッチテキストコントロール(riched20.dll)に、グラフィックを含むRTFファイルを読み込ませて表示することは不可能でしょうか? 実際に試すとグラフィックのみ表示されません。 単純にEM_STREAMINで読み込ませていますが、他の方法では可能なのでしょうか?
193 :
デフォルトの名無しさん
2016/04/12(火) 21:21:05.39 ID:ulqJQxxJ
194 :
デフォルトの名無しさん
2016/04/22(金) 15:16:55.94 ID:8YNH+QmN
ドラッグドロップされたファイルと同じパスにある違う拡張子のファイルを読み込みたいんですが 拡張子を決めうちでケツから3文字消しても問題ないですか? あとwin32apiではsubstringメソッド的なものはないですか?
195 :
デフォルトの名無しさん
2016/04/22(金) 16:08:23.80 ID:4ikocpMD
最後に出てくる「.」以降が拡張子。2文字もあれば6文字もある。
196 :
デフォルトの名無しさん
2016/04/22(金) 16:08:31.56 ID:V7gBXlAq
拡張子3文字じゃない場合どうするつもりか知らないけど、好きに作ればいいよ
197 :
デフォルトの名無しさん
2016/04/22(金) 16:14:45.73 ID:msF6wRol
読み込みたいって事は拡張子わかってるんじゃないの?
198 :
デフォルトの名無しさん
2016/04/22(金) 17:20:58.53 ID:xOnwNmiP
>>195 .で終わってるファイルとか
.を含まないファイル名のときは?
199 :
デフォルトの名無しさん
2016/04/22(金) 17:38:18.46 ID:+7c/qlM5
拡張子がないってこと以外に何かある?
200 :
デフォルトの名無しさん
2016/04/22(金) 17:42:35.47 ID:YFuTfo2Y
>>198 >.で終わってるファイルとか
Windowsは.で終わってるファイルってのは認めていない
Windows環境下で作成しようとするとピリオド無しでファイルが作られる
>.を含まないファイル名のときは?
.を含まないファイル名は拡張子無し
拡張子を持たないピリオドを含むファイルってのは作れない
ピリオド以降を拡張子として認識してしまう
201 :
194
2016/04/22(金) 18:38:44.93 ID:8YNH+QmN
いろいろ調べた結果PathFindExtensionを使うことがわかりましたが
ビルドが通りません
1>main.obj : error LNK2019: 未解決の外部シンボル __imp__PathFindExtensionW@4 が関数 _WinMain@16 で参照されました。
fatal error LNK1120: 外部参照 1 が未解決です。
http://ideone.com/zU1ml8 何が悪いのでしょうか?教えてください
202 :
デフォルトの名無しさん
2016/04/22(金) 19:15:23.54 ID:4ikocpMD
#pragma comment(lib, "Shlwapi.lib")
203 :
デフォルトの名無しさん
2016/04/22(金) 23:12:03.91 ID:8YNH+QmN
ありがとうございます、ビルドはできました ですが拡張子を抽出することができません GetCommandLine関数の返り血にスペースやダブルクォーテーションが含まれているのが問題だと思うんですが C++のReplaceメソッドで置き換えしようとしてもLPTSTRからString型に変換するほうほうがわかりません こういう場合どうすればいいんですか?
204 :
デフォルトの名無しさん
2016/04/22(金) 23:22:20.50 ID:o1lCaFi5
諦めたらいいと思うよ
205 :
片山博文MZ ◆T6xkBnTXz7B0
2016/04/22(金) 23:38:04.60 ID:ixsqd3SA
C++勉強してCStringのソース読めや。 __argc、__wargv、wcsrchrなんてのも使えるかもしれん。
206 :
203
2016/04/23(土) 05:57:01.65 ID:UoCDvxkd
型変換がむずかしすぎます 嫌がらせのように文字列型があってなんで型変換のメソッドが用意されてないんですか?
207 :
デフォルトの名無しさん
2016/04/23(土) 07:32:43.16 ID:1OvIZwV0
>>194 ファイル名の長さを調べて
ポインタを最後尾にする
ポインタを1文字すつ前に移動して最初に「.」があれば(略
>>206 asmoのソース参考にすればいい
208 :
デフォルトの名無しさん
2016/04/23(土) 07:51:54.45 ID:1OvIZwV0
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);
209 :
デフォルトの名無しさん
2016/04/23(土) 14:36:18.35 ID:Ny1JsAlg
LPTSTRって何だっけ?
210 :
デフォルトの名無しさん
2016/04/23(土) 14:43:34.37 ID:qkM7UD7C
#ifdef UNICODE wchar_t * #else char * #endif
211 :
デフォルトの名無しさん
2016/04/23(土) 14:45:32.47 ID:43LRl8T1
NULLターミネートするTCHAR配列(TSTR)へのlong pointer(LP)
212 :
デフォルトの名無しさん
2016/04/23(土) 15:41:39.82 ID:Ny1JsAlg
ああ、tcharで使うやつか 思い出した 他にも似たやうな名前のがあるよな LPCTWSTRみたいな。 わけわかめだ
213 :
デフォルトの名無しさん
2016/04/23(土) 15:49:55.48 ID:ob/Sewtp
LPTSTR と LPCTSTR のふたつくらい、君のキャパでも憶えられるだろ。 あとは気にしないでいい
214 :
デフォルトの名無しさん
2016/04/23(土) 15:55:31.31 ID:Ny1JsAlg
おれはwchat_tしか使わないから。
215 :
デフォルトの名無しさん
2016/04/23(土) 16:35:07.30 ID:ra5UaJir
>>212 LP=ロング・ポインタ
C=コンスト
T=テンプレート
W=ワイド
STR=ストリング
LPCTWSTR=ロング・ポインタ・コンスト・テンプレート・ワイド・ストリング
俺はこんな感じで覚えてる
ていうかLPCTWSTRなんてあったっけ?、テンプレートとワイドは共存しないとおもうが・・
LPCTSTRだろう
216 :
片山博文MZ ◆T6xkBnTXz7B0
2016/04/23(土) 16:39:45.15 ID:IdUKJjCp
テンプレートじゃなくてテキストじゃねーの?
217 :
デフォルトの名無しさん
2016/04/23(土) 17:05:51.57 ID:7b5nyUqS
テキストとストリングって、上野クリニック案件になっちゃわない?
218 :
デフォルトの名無しさん
2016/04/23(土) 17:23:31.69 ID:SujJgXyp
関数はA/W/無印なのに文字、文字列は無印/W/Tで一貫性がないよな
219 :
デフォルトの名無しさん
2016/04/23(土) 17:35:19.88 ID:SujJgXyp
WinMain関数は無印,w,_tでCRT風だしで更にカオス 猫でも分かるなんかのうんこサイトは使い分けすらしておらず 初心者を陥れる為にわざとやってるのかと思うほどだわ
220 :
デフォルトの名無しさん
2016/04/23(土) 18:19:36.74 ID:lEfknhOE
あれは本題部分のみ参考にするとこだろ
221 :
デフォルトの名無しさん
2016/04/23(土) 18:43:01.46 ID:QugQUSQO
気にしたことなかったけど、確かにそうだな。 まともにソース読む気が起こらないし、読んだこともない。
222 :
デフォルトの名無しさん
2016/04/23(土) 18:50:54.27 ID:ra5UaJir
>>216 え、そうなの?
なんかのサイトでテンプレートだと書いてあって、CP932でもUnicodeでも対応できる
ということで鋳型という意味のテンプレートだという説明だったので納得してたんだが
223 :
デフォルトの名無しさん
2016/04/23(土) 18:56:18.55 ID:e6EoTGG4
224 :
デフォルトの名無しさん
2016/04/23(土) 18:58:15.98 ID:e6EoTGG4
225 :
デフォルトの名無しさん
2016/04/23(土) 19:00:48.56 ID:e6EoTGG4
>>215-216 TCHAR *fuga = _T("fuga");
wchar_t *hoge = L"hoge";
だっけ
_T は TEXT だよなー
226 :
片山博文MZ ◆T6xkBnTXz7B0
2016/04/23(土) 19:01:10.72 ID:IdUKJjCp
>>222 あっしは汎用テキストのTだと理解してたが。
227 :
デフォルトの名無しさん
2016/04/23(土) 20:55:00.69 ID:ra5UaJir
>>225 うん。_TのTはText、TCHARのTはテンプレートだと思ってる
>>226 UNICODEの定義によってCP932またはUNICODEにはめ込むことができるので
テンプレート(鋳型)という説明が一番しっくりくると思う
228 :
デフォルトの名無しさん
2016/04/23(土) 21:42:13.74 ID:8PouUri8
普通に Type の T じゃね?
229 :
デフォルトの名無しさん
2016/04/23(土) 22:44:03.32 ID:X/qVSAL9
>>207 ありがとうございます
一応LPTSTR→char *型への変換もできるようにがんばってみます
230 :
203
2016/04/23(土) 22:44:43.88 ID:X/qVSAL9
LPWSTR→char *型への変換でした・・・
231 :
デフォルトの名無しさん
2016/04/23(土) 22:53:53.23 ID:K7zZdQrl
232 :
デフォルトの名無しさん
2016/04/23(土) 23:41:57.72 ID:ra5UaJir
>>228 wchar_tの最後のtはtypeのtだそうだけどね
TCHARのTがTYPEだとUNICODEの定義の有無によってCP932またはUNICODEにという
情報が名前に反映されてないことになるのでおかしいのではないかな
233 :
デフォルトの名無しさん
2016/04/24(日) 00:36:28.24 ID:5jPfs9BP
234 :
デフォルトの名無しさん
2016/04/24(日) 01:00:59.35 ID:jZ3tR2YK
>>233 "generic type"が鍵になりそうだな
1)generic typeでT(つまりtypeのT。但し、ただtypeでなくgeneric typeを表すT)
2)generic typeなので、その性質を一言で表すtemplateのT
この2種類が考えられそうだ
235 :
デフォルトの名無しさん
2016/04/24(日) 01:01:33.13 ID:PmTKsIVl
あるサービス(hoge.exe)の起動を待機したいのですが可能でしょうか?
236 :
デフォルトの名無しさん
2016/04/24(日) 01:25:39.75 ID:WUvyiW4J
タスクスケジューラでも使えば?
237 :
デフォルトの名無しさん
2016/04/24(日) 03:37:41.55 ID:PmTKsIVl
そんなの使わなくてもできました
238 :
デフォルトの名無しさん
2016/04/24(日) 07:43:52.20 ID:fu8W/E1c
>>232 templete って枠のことでしょ
TCHAR とか LPCTSTR 全体を言うならまだわかるけど T を templete って言うのは無理があるような気がする
239 :
デフォルトの名無しさん
2016/04/24(日) 09:22:15.37 ID:TYncJpKd
wchar_t の t が text の t だとしたら size_t の t は何だろ? 同じ種類のものではないの? 何の略かはわからんけど…
240 :
デフォルトの名無しさん
2016/04/24(日) 09:27:07.20 ID:TYncJpKd
ごめん、よく読んでなかった type の t が一番納得できるな
241 :
デフォルトの名無しさん
2016/04/24(日) 11:39:52.17 ID:zKXhuchC
int64_t
242 :
デフォルトの名無しさん
2016/04/24(日) 16:31:23.37 ID:8sLUoClv
243 :
デフォルトの名無しさん
2016/04/24(日) 16:50:26.02 ID:zKXhuchC
localeのUTF-8化を頑なに拒んでる時点で
244 :
デフォルトの名無しさん
2016/04/24(日) 16:55:02.71 ID:TYncJpKd
wchar_tは、C++03の予約語(言語仕様)だろ 基本型をtypedefすることはない C++11では、char32_t とか char64_t とかも追加されてる
245 :
デフォルトの名無しさん
2016/04/24(日) 16:56:04.06 ID:TYncJpKd
間違えた char16_t と char32_t だった
246 :
デフォルトの名無しさん
2016/04/24(日) 21:06:36.67 ID:8sLUoClv
>>243 でもその糞さのお陰で雇用も生みだしてるんだろうしね
正直U8,U32は欲しいところ
>>244 > wchar_tは、C++03の予約語(言語仕様)だろ
だからそれが納得できないって言ってるのだが…
予約語なら_tいらんだろと。
_t付けたいならtypedefでいいだろと。
ついでに言えばs16,u16でいいだろと。
247 :
デフォルトの名無しさん
2016/04/24(日) 21:19:50.47 ID:CBUFfK5a
言語の予約語に_tとかついてるのは嫌で仕方ない size_tとかwchar_tとか 予約語はシンプルであるべきだ
248 :
デフォルトの名無しさん
2016/04/24(日) 21:26:38.72 ID:TYncJpKd
static_cast、const_cast、dynamic_cast、reinterpret_cast とか thread_local とか static_aseart なんてのもあるな
249 :
デフォルトの名無しさん
2016/04/24(日) 21:28:31.96 ID:TYncJpKd
static_assert
250 :
デフォルトの名無しさん
2016/04/24(日) 22:08:20.08 ID:k3Kd32U9
>>247 駄々こねるのもいい加減にして下さい
size_tじゃなくてsizeに出来たらさぞかし素晴らしかったでしょうねw
251 :
デフォルトの名無しさん
2016/04/24(日) 22:12:22.95 ID:HGS+mIYq
全世界のソースコード修正祭りが開催されて何億円という損失だな素晴らしい
252 :
デフォルトの名無しさん
2016/04/24(日) 22:56:43.97 ID:GQXrb8zO
予約語の追加はかなりでかい破壊的変更になるからね C#とか新しい順C++では文脈キーワードで対処してるけどさすがに型名は追加できんだろう
253 :
デフォルトの名無しさん
2016/04/25(月) 06:11:32.16 ID:IJUNQlfS
>>247 それ以前に言語仕様で規定されてる sizeof の戻り値の型が typedef って言うのに違和感がある
254 :
デフォルトの名無しさん
2016/04/25(月) 13:56:35.15 ID:HSarKqaj
そもそも、size_tは予約語か?
size_tはtypdedefで定義されていて、32bitアプリと64bitアプリで切り替わるようになっているんだぞ
wchar_tとは事情が違うだろ
だから
>>246 →
>>247 の流れはおかしい
主に
>>247 がおかしい
255 :
デフォルトの名無しさん
2016/04/25(月) 19:23:57.38 ID:Frw0Qt8a
本来ならwcharだけで予約されるべきところということか
256 :
デフォルトの名無しさん
2016/04/25(月) 19:38:55.15 ID:jv7QqRvk
wchar を予約語にしておいてCとの互換性にはtypedef wchar wchar_t のようにしておけばよかったのにと思うけど wchar を予約語に出来ない理由ってなんかあったっけ?
257 :
デフォルトの名無しさん
2016/04/25(月) 22:50:55.52 ID:R+Ez/oiI
>>254 予約語のwchar_tとそうでないsize_tが同じ形式というのがそもそもおかしい
258 :
デフォルトの名無しさん
2016/04/25(月) 23:03:21.85 ID:jv7QqRvk
size_tはおかしくないんだからsize_tを引き合いに出すのはおかしい
259 :
デフォルトの名無しさん
2016/04/26(火) 01:37:24.15 ID:MYWP6CaR
>>233 "T"=????=generic type
"W"=Wide=Unicode type("W"がWideなのは他のドキュメントからわかる)
で、そのドキュメントには"W"がWideとは書いていないと同時に"T"が何なのかも
書いていないので、"T"がtemplateの可能性は排除できないだろうと思うがどうだろうな
template推しのサイト↓
http://vllv.us/Junk/_T/ 「TemplateとはC++のテンプレートから来ており、『型の変化に適応する』という意味が入っています。」
(『マルチバイトとユニコード両方で通用する書き方』項目の最後の文)
LPCTSTR=Long Pointer to Constant null-terminated Template STRingの略です。
と言い切っているのは興味深い
260 :
デフォルトの名無しさん
2016/04/26(火) 02:48:18.10 ID:GOCkX5ww
Lサフィックスをマクロなんて書いてる個人サイト持ち出されてもな
261 :
デフォルトの名無しさん
2016/04/26(火) 02:48:44.74 ID:GOCkX5ww
プレだった
262 :
デフォルトの名無しさん
2016/04/26(火) 03:18:04.61 ID:R8utnF8M
263 :
デフォルトの名無しさん
2016/04/26(火) 03:30:36.17 ID:R8utnF8M
ごめん、
>>262 はなんか書いてること変だった
無視してくれ
264 :
デフォルトの名無しさん
2016/04/26(火) 14:16:03.38 ID:zelw3Bet
ビットマップファイルを読み込む時に使うのはLoadBitmap では、書き込む時に使うのは?
265 :
デフォルトの名無しさん
2016/04/26(火) 14:28:33.59 ID:MYWP6CaR
>>260 Lプレフィックスをマクロなんてどこに書いてあるの?
どこにも見当たらなかったが・・
266 :
デフォルトの名無しさん
2016/04/26(火) 14:30:13.15 ID:gGelNJu8
それはファイルI/Oとは違うから対となる書き込み機能は無いよ
267 :
デフォルトの名無しさん
2016/04/26(火) 14:33:30.69 ID:p/TmI1mb
CImage::Save
268 :
デフォルトの名無しさん
2016/04/26(火) 14:40:17.40 ID:zelw3Bet
>>266-267 windows.hの中にはないんですね。
対になる機能がないのが不思議。
269 :
デフォルトの名無しさん
2016/04/26(火) 14:46:48.74 ID:gGelNJu8
いや、LoadBitmapはファイルじゃなくて”リソース”から読み込むのであってな。 書き込みはあってもいいかも知れんけど、バイナリ変形するし元に戻せなくなったら詰む。 ビットマップファイルのI/OはLoadBitmapじゃなくて、ファイルI/Oでやって下さい。
270 :
デフォルトの名無しさん
2016/04/26(火) 14:52:10.27 ID:KUbgmjPe
気の利いたライブラリを探せば jpeg, png 使えるから bmp なんか捨てたほうがいい
271 :
デフォルトの名無しさん
2016/04/26(火) 15:48:01.84 ID:hodGhGMX
272 :
デフォルトの名無しさん
2016/04/26(火) 15:48:57.83 ID:hodGhGMX
>>265 > 一番上のL"文字列"はユニコード限定の文字列ですよ、という
> 意味を表すマクロなので設定をマルチバイトに変更するとエラーになります。
一般的なブラウザを使っているなら
Ctrl-F 押すとページ内が検索できるようになるから
それで マクロ を検索してごらん
てかそのサイトは信用しないほうがいいと思うよ
> ちなみにLはLiteral(リテラル)の略で文字通りのとかいう意味です。
と断言してるとこは説得力なくて笑っちゃったよ
""だってナローリテラルだし他のu8"",u"",U""もリテラルなのに変じゃないか
引用元もないしで本人が思い込んでるだけじゃね?と不安になる
273 :
デフォルトの名無しさん
2016/04/26(火) 16:11:13.64 ID:xq7hrZNz
>>264 読み込みも含めてWICでやるのが一番いい
274 :
デフォルトの名無しさん
2016/04/26(火) 16:12:58.34 ID:MYWP6CaR
>>272 ほんとだ、初っ端にちゃんと書いてあったわ、すまんすまん
> ちなみにLはLiteral(リテラル)の略で文字通りのとかいう意味です。
これは俺も違和感あったわ、確かにその通り変だ
ちょっといまいちなサイトだったな
MSDNからの引用があればよかったんだが・・
275 :
デフォルトの名無しさん
2016/04/26(火) 18:58:17.94 ID:Tx8NMol0
MSDNも変なところ多いけどなあ。
276 :
デフォルトの名無しさん
2016/04/26(火) 19:04:37.78 ID:lzHK63LG
大昔全FFを非同期リセットにしてた。 ASICの規模が大きくなってタイミングエラーの嵐になってきて、 99%以上のFFは同期リセット、 外部IO周りとか発振始まるまで不定じゃ困る部分のみ非同期リセットに変えた。 そのことでベンダーに何か注意されたこともないし、 特に困ったことも起こっていないな。
277 :
デフォルトの名無しさん
2016/04/26(火) 20:23:40.01 ID:ScpOGrIY
LプリフィックスのLをロング(Long)の略としているサイトもあるけど 何のロングだろうかと思ったり というかああいうサイトはなんで何かの略であることを書かずにはいられないんだろうか たぶんどっかで聞いた(気がする)とか見た(気がする)ということから 知らんうちにそれが正しいと記憶違いをしてしまっているんだろうね
278 :
デフォルトの名無しさん
2016/04/27(水) 00:29:45.56 ID:qLaue6Dh
何の出典も示さずにLプリフィックスを"Long"だの"Literal"だのの略だと 自分のサイトに書けるのがすごいわ 俺みたいな小心者には無理だわ
279 :
デフォルトの名無しさん
2016/04/27(水) 05:34:41.17 ID:0VkfCe8A
Largeに決まってんだろ馬鹿どもが
280 :
デフォルトの名無しさん
2016/04/27(水) 21:11:48.41 ID:qrup6c3l
服のサイズの "F"は Freeの略ではありません
281 :
デフォルトの名無しさん
2016/04/27(水) 21:47:51.66 ID:ZNHkK8eC
LOVEこそ全て
282 :
デフォルトの名無しさん
2016/04/30(土) 16:13:55.93 ID:FuZy8SxD
SysWOW64に32bit用のDLL入れて System32に64bit用のDLL入れさせる習慣はどうにかならんかのぅ
283 :
デフォルトの名無しさん
2016/04/30(土) 16:25:37.58 ID:x5p19SCW
どうにもならんよ by ロイエンタール
284 :
デフォルトの名無しさん
2016/05/01(日) 09:25:12.44 ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al ちなみにオイラは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的に分散され、特定のサーバーに依存しません
i
285 :
デフォルトの名無しさん
2016/05/01(日) 09:48:44.26 ID:AqctS693
>>282 ジャンクション張ってもっとマシな別名割り当てればいい
286 :
デフォルトの名無しさん
2016/05/01(日) 12:04:07.52 ID:jr+NTyfn
287 :
デフォルトの名無しさん
2016/05/01(日) 12:16:34.83 ID:1jzF+/1T
GetCommandLine()から拡張子のみを取り出したいのでPathFindExtension()を使ったのですが そのまま投げても拡張子を返さず、GetCommandLine()の返り値を整形(ダブルクオーテーションを削除、一番後ろのスペースを削除) しないとダメだったんですが、これは仕方ないことなのでしょうか?もっとスマートにやる方法ってないですか?
288 :
デフォルトの名無しさん
2016/05/01(日) 12:22:48.21 ID:CY4SDQIv
どうせだし "Path" Arg ...を分解するメソッドでも作っちゃえば
289 :
デフォルトの名無しさん
2016/05/01(日) 14:17:14.95 ID:AqctS693
そのレベルを求めるなら API そのものじゃなくて何かライブラリを使うべきやろ MFCまじおすすめ
290 :
デフォルトの名無しさん
2016/05/01(日) 14:54:23.63 ID:OlEFIntC
WinMainの引数からsplitpath使えば
291 :
デフォルトの名無しさん
2016/05/01(日) 21:27:48.03 ID:UCEkFn3w
CreateThread (Win32) についての質問なんですが <--- C言語のランタイム ライブラリから関数を使っているスレッドは、 スレッドの管理用に、 CreateThreadおよびExitThreadよりは、 C言語のランタイム関数の_beginthreadと_endthreadを使ってください。 そうしないと、 ExitThread呼び出しでメモリを少し損失することになります。 ---> 「C言語のランタイム ライブラリから関数を使っているスレッド」というのはどういうものを指すのでしょうか。 どういうときに CreateThreadでも良く、どういうときでは_beginthreadが良いのかがよくわかりません。
292 :
デフォルトの名無しさん
2016/05/01(日) 21:31:38.12 ID:JP6hgmB0
>>291 >C言語のランタイム ライブラリから関数を使っている
stdio.h とか stdlib.h とかの関数を使うのなら _biginthread() ,ランタイムの関数をつかわないのなら CreateThread()
でも,win32api では普通Cランタイムは使わないようにするものだと思うのだが
293 :
デフォルトの名無しさん
2016/05/01(日) 21:42:39.45 ID:bCr+8i5t
たいてい混ぜて使う MFC Win32Api stdio のでどのスレッド使えばいいかわからないww
294 :
デフォルトの名無しさん
2016/05/01(日) 21:49:22.42 ID:ofEkM4aN
295 :
デフォルトの名無しさん
2016/05/01(日) 23:28:44.34 ID:UCEkFn3w
>>292-294 なるほど
事情は良くわかりました
注意してCreateThread()のほうを使うようにします
ありがとうございました
296 :
デフォルトの名無しさん
2016/05/02(月) 15:15:28.11 ID:aR8AOrvI
アフィ誘導乙
297 :
デフォルトの名無しさん
2016/05/02(月) 20:01:52.48 ID:V/Rz0lGL
誘導されて来ました。 動的リンクされた.dllを.exeがあるディレクトリの1つ下のディレクトリにまとめたいと思っています。 .exeのショートカットを作成してショートカットのプロパティから、作業フォルダーの変更をすれば上手くいくのですが、これをプログラムでやる方法を探しています。 しかし、どうやら難しいようなので、変わる方法でもあれば教えて頂きたいです。 よろしくお願いします。
298 :
デフォルトの名無しさん
2016/05/02(月) 20:06:40.83 ID:6+YY3Wwg
exeのフルパスを取得する GetModuleHandle, GetModuleFileName dll検索パスを追加するAddDllDirectory
299 :
デフォルトの名無しさん
2016/05/02(月) 20:13:55.77 ID:GdZkeqis
300 :
デフォルトの名無しさん
2016/05/02(月) 20:17:45.26 ID:V/Rz0lGL
>>298 ありがとうこざいます。
adddlldirectoryですが、先ほど、main関数にたどり着いた段階でdllの読み込みは終わっていると教えてもらったので、mainの前に書いてみたところ、この宣言にはストレージクラスまたは型指定子がありませんと言われました。
この関数はどこで使うべきなのですか?
調べても、サンプルが少なすぎて分かりませんでした。
301 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/02(月) 20:38:33.46 ID:GdZkeqis
よくわからんが、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);
302 :
デフォルトの名無しさん
2016/05/02(月) 20:43:40.23 ID:btgv3pKW
>>300 >動的リンクされた.dllを.exeがあるディレクトリの1つ下のディレクトリにまとめたい
なにをやりたいのかやっと分かったたよw
自分でLoadLibraryするんじゃなくてmain以前にdllをロードするやりかたならmain以降じゃ当然どうしようもないわな
303 :
デフォルトの名無しさん
2016/05/02(月) 20:45:09.22 ID:btgv3pKW
ああ遅延読み込みという手があったか。試したことないけど 試してみて結果を教えて
304 :
デフォルトの名無しさん
2016/05/02(月) 20:46:24.19 ID:6+YY3Wwg
LoadLibraryするんじゃないのか なら、起動専用exeでPATHにdllのパスを追加してから、本体のexeをCreateProcess
305 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/02(月) 20:55:15.69 ID:GdZkeqis
本体のexeと起動専用exeを分けるなら、本体のexeをDLLと同じフォルダーに入れて、 起動専用が本体をShellExecuteすればいいんじゃないか?
306 :
デフォルトの名無しさん
2016/05/02(月) 20:56:45.34 ID:y5l6KIx0
なんかセキュリテイ的に弱点な気が 任意のexeで遅延させて自分のdll読ませれば何でも出来そう
307 :
300
2016/05/02(月) 21:03:38.21 ID:eom7L+e5
自分の説明不足のせいか、大事になっている気が… やりたかったのは、よくネットで公開されているフリーソフトのような、 zipを解凍したら.exeとreadmeとフォルダdataか出てきて dataの中にアイコンのjpgやらdllが纏まってるみたいな簡素なものを作りたかっただけなのですが… 素人なのでセキュリティの脆弱性とかも全く分からないですが とりあえず、教えてもらったことはありがたく全て試してみますので、回答ありがとうございます。
308 :
デフォルトの名無しさん
2016/05/02(月) 21:09:21.34 ID:ahm7i7ng
回答者がエスパーすぎだろと思ったわw
309 :
300
2016/05/02(月) 21:30:39.06 ID:EphQW+li
>>307 ちなみに、この聞き方であれば違う答えが返ってきたりしますか?
先ほどのやり方では、
セキュリティが危険とのことなので、素人が考えなしにやるのを躊躇しております。
310 :
デフォルトの名無しさん
2016/05/02(月) 22:16:40.26 ID:ahm7i7ng
セキュリティは気にするな。 306がアホな子なだけ。
311 :
デフォルトの名無しさん
2016/05/02(月) 22:20:39.12 ID:btgv3pKW
セキュリティは気にしなくても良いと思うけどね。 ニセのDLLを読み込ませたかったらDLLすげ替えてしまえば何でもできるし DLLロードパスの優先順位はMSDNによると 1.実行中のプロセスの実行形式モジュールがあるフォルダー。 2.現在のフォルダー。 3.Windows システム フォルダー。このフォルダーへのパスは、GetSystemDirectory 関数が取得します。 4.Windows ディレクトリ。このフォルダーへのパスは、GetWindowsDirectory 関数が取得します。 5.環境変数 PATH 内に記述されたフォルダー。
312 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/02(月) 22:28:28.76 ID:GdZkeqis
そもそもexeに高いセキュリティを要求するなら、exeはインストール時に Program Filesなどのフォルダーに入れて、管理者権限がなければ書き込み不可にしないとあかん(ウイルス感染対策)。 さらにはインストーラーに有料の署名を付けんといけんのじゃ。
313 :
デフォルトの名無しさん
2016/05/02(月) 23:10:44.85 ID:9Uaok0YL
314 :
デフォルトの名無しさん
2016/05/02(月) 23:44:54.35 ID:6+YY3Wwg
315 :
デフォルトの名無しさん
2016/05/02(月) 23:59:57.71 ID:9Uaok0YL
ならVBSで
316 :
デフォルトの名無しさん
2016/05/03(火) 01:17:07.20 ID:ruihBwIa
GetModuleFileName + "data"フォルダ を LoadLibrary でダメな理由はあるの?
317 :
デフォルトの名無しさん
2016/05/03(火) 02:05:10.66 ID:Fq/Xo6LF
> 自作のプログラムから、エクスプローラの右クリックで表示されるコンテキストメニューを表示しようとしています。 > > 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を入れろ このようなレスもありましたがこれでは上手く行かないです
318 :
デフォルトの名無しさん
2016/05/03(火) 09:16:56.28 ID:kYqXiDhL
319 :
デフォルトの名無しさん
2016/05/03(火) 12:12:00.81 ID:aV7QMFwi
>>317 http://members.jcom.home.ne.jp/toya.hiroshi/shell/namespace.html >完全 PIDL はデスクトップで始まっていて、経路内にある間のフォルダの項目 ID がすべて入っています。
>完全 PIDL の最後は、そのオブジェクトの項目 ID と 2 バイトの NULL です。
>完全 PIDL は完全経路同様に、シェルの名前空間内でそのオブジェクトを一意に識別できます。
同一フォルダから得たものは相対 PIDL
要するにデスクトップ(pShellFolderにデスクトップを格納)からその項目までの経路、最後に項目のIDと2 バイトの NULL を入れろって意味じゃないかな
>このようなレスもありましたがこれでは上手く行かないです
ここが具体的にどういうことをしたのかわからんのですでに試したのかも知れんけど
320 :
デフォルトの名無しさん
2016/05/03(火) 12:43:23.64 ID:Fr8Hxrb9
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 の次の引数をどの様に記述をすれば良いのでしょうか。 その時のコードの例示をお願いします。 宜しく、お願いします。
321 :
デフォルトの名無しさん
2016/05/03(火) 13:09:23.35 ID:PQ3d4MP7
PostMessageでは不可
322 :
デフォルトの名無しさん
2016/05/03(火) 13:15:44.31 ID:cK/moF+D
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);
323 :
デフォルトの名無しさん
2016/05/03(火) 13:18:08.22 ID:Fq/Xo6LF
>>319 どうも、レスありがとうございます ノシ
PIDLに関しては、必要に応じて手前で分割や結合が出来る程度には理解できてますので、完全か相対であるかは把握できています
親フォルダのIShellFolderとファイルの相対PIDLでは問題なく正常なメニューを取得できますが
デスクトップのIShellFolderと完全PIDL の組み合わせで正常なメニューが出るようには思えません…
たとえ単独ファイルであっても
デスクトップと完全PIDLでは正常なメニューは出ませんね
間違いが起こらないよう以下のような簡単な方法でメニューを取得してもやはりだめなんです...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);
324 :
デフォルトの名無しさん
2016/05/03(火) 13:20:17.04 ID:Fr8Hxrb9
>>321 ここでは例としてnotepadを挙げていますが。
notepad固定と言うのでは無くて汎用性のある
キーの送信を考えています。
postmessageでは駄目だとしたら、ほかに何が
有るのでしょうか。
宜しくお願いします。
325 :
デフォルトの名無しさん
2016/05/03(火) 13:21:37.30 ID:kYqXiDhL
メッセージをspyしてみるくらいの知恵は働かないのか?
326 :
デフォルトの名無しさん
2016/05/03(火) 15:05:34.26 ID:Fr8Hxrb9
有難う御座います。 今手元に有るのは、gccのコンパイラーだけです。 windows7を使っています。 spyツールを使えば何が分かるのでしょうか。 メッセージの流れが分かればその通りに sendmessageを流せば良いのでしょうか。 済みません。教えて下さい。
327 :
デフォルトの名無しさん
2016/05/03(火) 15:19:30.82 ID:cK/moF+D
無視されたオレ、涙目
328 :
317
2016/05/03(火) 15:34:20.80 ID:Fq/Xo6LF
少し進展 C:ドライブのIShellFolderから、C:より下の階層の相対PIDLを渡せばディレクトリが違っていても正常なメニューを出す事が出来るようです
329 :
デフォルトの名無しさん
2016/05/03(火) 21:36:56.84 ID:WxW7Sfac
>>327 透明人間の能力を手に入れたなんて羨ましいぜ
330 :
デフォルトの名無しさん
2016/05/03(火) 23:36:11.59 ID:Fr8Hxrb9
>322 済みません、返事が遅くなりました。 実行した所、何も変化は有りませんでした。 直ぐに終了して何が起きたのか不明です。 何が考えられるのでしょうか。
331 :
デフォルトの名無しさん
2016/05/03(火) 23:52:34.46 ID:PQ3d4MP7
SendMessageだとTranslateMessageとDispatchMessageを介してないんだから当たり前じゃん
332 :
デフォルトの名無しさん
2016/05/03(火) 23:55:40.99 ID:PQ3d4MP7
PostMessageは順序保証ができないので不可 SendMessageはTranslateMessageとDispatchMessageを通過しないので不可 keybd_eventやSendInputを使うしかないが、これらはウィンドウを指定が不可 お前の望む動作は不可
333 :
デフォルトの名無しさん
2016/05/04(水) 00:04:01.21 ID:kVGM/VsN
HANDLE h = Create...( CloseHandle()を呼び出さずにアプリケーションが終了した場合 メモリ内にまだ、ハンドルがさしていたオブジェクトは存在し続けるのでしょうか?
334 :
デフォルトの名無しさん
2016/05/04(水) 00:07:45.41 ID:c7vIrIvG
335 :
デフォルトの名無しさん
2016/05/04(水) 00:10:28.68 ID:1kR93ddo
>>333 Windowsならプロセスの終了時に使用していたリソースも開放される
336 :
デフォルトの名無しさん
2016/05/04(水) 01:02:19.46 ID:kVGM/VsN
337 :
デフォルトの名無しさん
2016/05/04(水) 01:50:54.23 ID:VS80lwnU
そういや異常終了した後でファイルがロックされて削除できない なんて事が昔はよくあったな
338 :
デフォルトの名無しさん
2016/05/04(水) 12:52:46.02 ID:kVGM/VsN
アクセス違反で強制終了させられた場合にDumpを出力させた場合に struct Foo { int i;; }; Foo foo; foo.iの値をDumpから知ることは可能ですか?
339 :
デフォルトの名無しさん
2016/05/04(水) 13:27:30.06 ID:woHhfZt1
出来るはずがない
340 :
デフォルトの名無しさん
2016/05/05(木) 00:05:15.38 ID:zUa6NWoE
struct Foo { DWORD magic; int i; }; Foo foo; foo.magic=0x07214545; とかやってダンプから07214545を検索すればいいんでないの
341 :
デフォルトの名無しさん
2016/05/05(木) 00:21:23.15 ID:M58BonNM
小さなプログラムしか作ったことないんだろうな 普通は構造体が1個しかないようなプログラムってありえないんだよ
342 :
デフォルトの名無しさん
2016/05/05(木) 01:05:24.34 ID:zv5LYT8+
ダンプとWinDbgとソースコードとpdbがあって最適化とかで消えてなくて、 スタック上にあるなら表示できる気がする。やってみてないけど。
343 :
デフォルトの名無しさん
2016/05/05(木) 01:34:44.98 ID:zUa6NWoE
>>341 んなの
>>338 からはこのFooのインスタンスが1つなんだかいくつもあるんだか
それとも別にFooに限らず不特定の構造体のメンバの値を知りたいんだか
分からんのだからその中で一つの案を出している
初期化が面倒なら初期値に書けばいいし、複数の構造体ならtype_info::hash_codeでも
メンバに持たせたテンプレートの基底クラスを作ればいい
344 :
デフォルトの名無しさん
2016/05/05(木) 11:19:01.99 ID:/qWvSKFr
>>343 君は質問の本質が分かっていないな
みなまで言わないと分からないのか
345 :
デフォルトの名無しさん
2016/05/05(木) 11:47:05.71 ID:aR3QcHwL
エスパーきた
346 :
デフォルトの名無しさん
2016/05/05(木) 12:09:33.89 ID:UdftsNeY
質問の本質というけど
>>338 の質問からは「特定の構造体」なのか「すべての構造体」かは分からないよね
もしかしたら自作の構造体ではなく既存の構造体かも知れないし
エスパーして勝手にすべての構造体だとして回答するのは自由だけど
それで別の可能性の回答にいちゃもんつけるのは違うと思う
それこそ本質を見誤っているのだと思います
>>341 は小さなプログラムなら「構造体が1個しかないようなプログラム」もありえることを示唆しています
また小さなプログラムなら
>>340 は有用だとも取れる
>>338 の作っているのが小さなプログラムではないとなぜ言えるのでしょうか?
347 :
デフォルトの名無しさん
2016/05/05(木) 12:15:35.09 ID:l/2+Jb+M
帯域の無駄とはまさにこのこと
348 :
デフォルトの名無しさん
2016/05/05(木) 12:26:56.96 ID:ET8VI+4U
スレタイ読んで寝ろ
349 :
デフォルトの名無しさん
2016/05/06(金) 19:47:08.86 ID:gQ1eUeNa
Windows8の画面の自動回転で縦長になっている画面を横長に切り替えるAPIがあったらお教えください。 デスクトップアプリ(MFC使用のダイアログアプリ)です。 なるべく横長に表示したいダイアログのため、OnInitDialog()内でShowWindow(SW_MAXIMIZE)した後に ダイアログ内のコントロールをダイアログの幅に合わせて再配置しています。 SetDisplayAutoRotationPreferences(ORIENTATION_PREFERENCE_LANDSCAPE)を使えば横長には切り替 わるのですが、OnInitDialog()ではまだ縦長のままのようで、再配置が正しく行えませんでした。 で、可能ならアプリ起動時、DoModal()前に画面を切り替えたいのです。 よろしくお願いいたします。
350 :
デフォルトの名無しさん
2016/05/07(土) 10:41:22.46 ID:Kik6brAm
sendkey Alt+F4 かなんか
351 :
デフォルトの名無しさん
2016/05/07(土) 17:01:24.81 ID:FRLfg3Ln
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_ATTRIBUTE_NORMAL, NULL); で作ったハンドルは子プロセス側でのDuplicateHandle自体は成功しているのに ReadFile、WriteFileでプロセスが落ちる 何が原因なんだろう?
352 :
デフォルトの名無しさん
2016/05/07(土) 17:23:33.70 ID:FRLfg3Ln
すみません間違えてました
試していたのはfprintf(...)でその場合は落ちるんですが
>>351 を書いてからWriteFileを試したら成功しました
そうなると今度はfprintf(...)でなぜ落ちるんだろうかって疑問になるんですが・・・
353 :
デフォルトの名無しさん
2016/05/07(土) 17:31:53.27 ID:KgU8/FJ+
stdin,stdout,stderr以外は子プロセスには引き継げないって分かってる?
354 :
デフォルトの名無しさん
2016/05/07(土) 17:34:03.64 ID:KgU8/FJ+
つーか、子プロセスは0,1,2をstdin,stdout,stderrとしてfdopenすると考えて良い
355 :
デフォルトの名無しさん
2016/05/07(土) 17:49:42.38 ID:7sMMCfTe
ファイルポインタとファイルハンドル
356 :
デフォルトの名無しさん
2016/05/07(土) 18:04:18.24 ID:5sx0uiPg
win32api の世界に C ランタイムの世界を混ぜるのは,混乱するから止めておいたほうが messagebox で頑張ってくれ
357 :
デフォルトの名無しさん
2016/05/07(土) 18:12:34.31 ID:FRLfg3Ln
358 :
デフォルトの名無しさん
2016/05/07(土) 18:41:23.13 ID:9/SiGFfq
>>352 vsprintf でバッファに出力してそれを WriteFile
359 :
デフォルトの名無しさん
2016/05/07(土) 20:13:10.03 ID:SVmAxHAH
おれはWM_CHARでなくWM_ペーストでやってるが
360 :
349
2016/05/08(日) 07:33:07.24 ID:uPD0V3Q6
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 ) ; : 以下、クライアントのサイズに基づいてコントロールを再配置
361 :
デフォルトの名無しさん
2016/05/08(日) 11:39:33.12 ID:pwQcqOb7
迷惑なアプリの見本とか
362 :
デフォルトの名無しさん
2016/05/08(日) 12:14:30.17 ID:1yuVEopA
うむ。ウィルスと同種
363 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/08(日) 17:02:20.87 ID:Urq1EQRP
IME内部で呼び出したGetTextExtentPoint32WがERROR_ALREADY_EXISTSで失敗する。 助けて下さい。
364 :
デフォルトの名無しさん
2016/05/08(日) 17:43:25.16 ID:Urq1EQRP
助けて
365 :
デフォルトの名無しさん
2016/05/08(日) 18:18:07.81 ID:8pUDf3MI
既に存在しますって。
366 :
デフォルトの名無しさん
2016/05/08(日) 21:31:28.06 ID:H4GlBiCg
367 :
デフォルトの名無しさん
2016/05/09(月) 10:20:11.80 ID:/WWMvIkB
>>366 Win32の話題なのにバカなの? 死ねば良いのに。
368 :
デフォルトの名無しさん
2016/05/09(月) 14:09:57.34 ID:pzKdLl0R
片山先生にも分からない事が有るのか。
369 :
デフォルトの名無しさん
2016/05/09(月) 15:00:58.21 ID:YBKaLZ+x
ハードディスクのクローンを行いたんですが、どのような関数でやるの?
370 :
デフォルトの名無しさん
2016/05/09(月) 15:06:09.73 ID:2UQDwNbB
まず服を脱ぎます
371 :
デフォルトの名無しさん
2016/05/09(月) 15:07:23.57 ID:noyNIse2
>>369 つCloneDisk(dst,src) API
372 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/09(月) 15:31:05.83 ID:12nCphG6
373 :
デフォルトの名無しさん
2016/05/09(月) 17:27:43.94 ID:ihh7VJo/
>>372 できないから、質問してるのでは?
そんなのドヤ顔で紹介されても・・・
374 :
デフォルトの名無しさん
2016/05/09(月) 17:59:52.23 ID:mwKhqul2
>>373 その論法では、どんな質問に対してどんな回答をしても同じことが言えるね。
375 :
デフォルトの名無しさん
2016/05/09(月) 18:21:28.96 ID:ihh7VJo/
>>374 そうではない
紹介されてるのは、できないか人の質問を紹介してるだけ。
別のできない人の質問を見ても何にもならないだろう
376 :
デフォルトの名無しさん
2016/05/09(月) 18:54:03.51 ID:mwKhqul2
>>375 ああ、「できないから質問」はリンク先の話ね。すなまない。
377 :
デフォルトの名無しさん
2016/05/09(月) 19:46:49.69 ID:WSElaHek
クローンと九龍って似てるよね 九龍って聞くと3×3EYES思い出すわ
378 :
デフォルトの名無しさん
2016/05/09(月) 19:52:27.27 ID:kFMtfNT1
clone と cron は発音が違う
379 :
デフォルトの名無しさん
2016/05/09(月) 20:37:02.59 ID:M3iPLLj4
>>375 質問の回答を読めば答えがあるんじゃないの?読んでないけど
380 :
デフォルトの名無しさん
2016/05/09(月) 22:37:05.87 ID:jCCSCwvz
/etc/crontab
381 :
デフォルトの名無しさん
2016/05/09(月) 23:35:52.42 ID:noyNIse2
あるんじゃないの?って・・・ 回答する側はちゃらんぽらんでもいいんですねw
382 :
デフォルトの名無しさん
2016/05/09(月) 23:46:31.04 ID:YBKaLZ+x
クラッシュダンプの中からある変数の値 をしりたい たとえば、下記のような CDocumentクラスのint型のメンバm_dataの値です。 不可能ですか?
383 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/09(月) 23:51:44.12 ID:12nCphG6
>>382 あらかじめSetUnhandledExceptionFilterに変数の内容を出力する関数を設定せよ。
384 :
デフォルトの名無しさん
2016/05/09(月) 23:59:03.23 ID:M3iPLLj4
>>381 俺は回答者じゃないぞ
ただ
>>375 が質問のトピックだけ見てそれに対する回答にまで目を通していない可能性を示唆しただけ
本当にあのリンク先が質問投げられてるだけで解決してないだけのトピックならそれを貼るのは意味分からんけど
解決してるんちゃうの?って話
385 :
デフォルトの名無しさん
2016/05/10(火) 00:04:44.38 ID:5J1aLd4L
>>383 それだと、クラッシュダンプを取っている意味がなくね?
386 :
デフォルトの名無しさん
2016/05/10(火) 01:10:03.16 ID:95ydQ9Nw
>>382 シンボルファイルがあれば見れるでしょ。
387 :
デフォルトの名無しさん
2016/05/10(火) 01:21:14.99 ID:5J1aLd4L
388 :
デフォルトの名無しさん
2016/05/10(火) 13:08:37.18 ID:2ogGQYkn
カスタムドローとオーナードローの違いが分からん
389 :
デフォルトの名無しさん
2016/05/10(火) 14:05:48.41 ID:Jb8df6a5
毎ターンの最初にドローするのがオーナードロー カードの特殊効果でドローするのかカスタムドロー
390 :
デフォルトの名無しさん
2016/05/10(火) 15:01:34.24 ID:HhVOss0K
細かいところまで全部自分で描画するのがオーナードロー OSがある程度描画してくれて、ステップごとに自分で描画したければ描画できるのがカスタムドロー
391 :
デフォルトの名無しさん
2016/05/10(火) 15:42:05.83 ID:ZuNavWCV
オーナードローは全て自分で カスタムドローは割り込んで差し替え
392 :
デフォルトの名無しさん
2016/05/10(火) 18:15:28.39 ID:5J1aLd4L
たとえば、ダイアログにeditでもおいた場合 editのオーナーはダイアログですよね ってことはeditをダイアログがおこなわなきゃいけないってこと? それともオーナーをドローする?
393 :
デフォルトの名無しさん
2016/05/10(火) 22:10:15.17 ID:vVT3Tded
MultiByteToWideChar関数とWideCharToMultiByte関数の変換結果ってNULL文字入ってますか?
394 :
デフォルトの名無しさん
2016/05/10(火) 22:12:24.86 ID:wov2Q3bj
入ってるけど先っちょだけなのでセーフ ノーカン
395 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/10(火) 22:16:55.19 ID:CPTIUhXJ
>>393 長さに-1を指定するとNUL文字が入るよ
396 :
デフォルトの名無しさん
2016/05/10(火) 22:37:50.04 ID:vVT3Tded
>>395 ありがとうございます
CommandLineToArgvW関数を使ってGetCommandLine関数から受け取ったものを解析しようとしているのですがうまくいきません
ソースはこれなんですがヒントがほしいです
https://ideone.com/blqCFb あとMessageBox関数ってどうしてconstしか受け付けてくれないんですか?
397 :
デフォルトの名無しさん
2016/05/10(火) 23:45:17.67 ID:ee1FUJs8
>.396 エラーが出たらメッセージをよく見ましょう。 エラーが起こった場合にキャストして無理矢理エラーを消しても動く可能性はほとんどありません。
398 :
デフォルトの名無しさん
2016/05/10(火) 23:49:50.96 ID:y6IvleFL
文字列をキャストして変換したツモリナールは罠 ちゃんと変換しよう
399 :
デフォルトの名無しさん
2016/05/11(水) 00:23:03.54 ID:rUu5NPeL
うまくいきました! あとはCommandLineToArgvW関数がちょっとわからないところありますが試行錯誤してみます どうしてもダメだったらまたきます
400 :
デフォルトの名無しさん
2016/05/11(水) 15:39:15.62 ID:qkI+/TV/
馬鹿には無理
401 :
デフォルトの名無しさん
2016/05/11(水) 16:33:16.52 ID:l/Aku55r
>>396 const なし → const ありは暗黙変換の範囲
無駄なキャストするな
どうしてconst*無し*しか受け付けてくれないんですか?
なら許す
402 :
デフォルトの名無しさん
2016/05/11(水) 22:07:09.71 ID:AfFgGj2Z
グローバル変数を持つDLLを遅延読み込みやLoadLibraryした場合に、そのグローバル変数に アクセスする方法ってないんでしょうか?GetProcAddressのような。 遅延読み込みを使わなければ__declspec(dllimport)でいけるんですが、遅延読み込みにすると LNK1194エラーになってしまいます。
403 :
デフォルトの名無しさん
2016/05/11(水) 22:12:17.37 ID:9I+RCTR4
安全な方法はないんじゃないですかね DllにGetGlobalVar()とか適当な関数を追加してグローバル変数へのポインタを取得してください
404 :
デフォルトの名無しさん
2016/05/11(水) 22:19:35.79 ID:zhYWy9+O
GetProcAddressは関数だけじゃなくて、変数のアドレスも取得できる (exportされていれば)
405 :
デフォルトの名無しさん
2016/05/11(水) 22:31:25.37 ID:AfFgGj2Z
>>404 ありがとうございます。GetProcAddressでいけました。
それにしても、これは盲点でした。
406 :
デフォルトの名無しさん
2016/05/13(金) 18:36:08.65 ID:GSvBVZn8
Cランタイムのmemcmpに対応するWin32APIってないのでしょうか? 上の方でWin32APIではCランタイムを使うな的なレスがありますが、何かしらのAPIに置き換え可能なのでしょうか? それとも自作すべき?
407 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/13(金) 18:47:38.06 ID:Q4+gmma8
>>363 自己解決しました。COMPOSITIONSTRING構造体のサイズ情報の不整合が原因でした。
408 :
片山博文MZ ◆T6xkBnTXz7B0
2016/05/13(金) 18:51:36.20 ID:Q4+gmma8
>>406 Cランタイムの方が高性能で合理的。気にせず使いたまへ。
409 :
デフォルトの名無しさん
2016/05/13(金) 18:54:16.38 ID:GSvBVZn8
>>408 あろがとうございました。気にしないでおきます。
410 :
デフォルトの名無しさん
2016/05/14(土) 22:54:45.77 ID:vRpxoSsR
Spinコントロールを使用している(Editコントロールに関連付けずUDN_DELTAPOS を処理している)アプリで、マウスでは長押しすればUDN_DELTAPOSが連続して送られ、 さらに長押しでアクセラレーションが働く(増分が増える)のですが、(タブレット の)パネルへの指での長押しでは、UDN_DELTAPOSが1回しか送られて来ません。 指での長押しでもマウスと同じように動作させるには、どうすれば良いでしょうか?
411 :
デフォルトの名無しさん
2016/05/14(土) 23:04:18.19 ID:E3fn5B/n
高橋名人になる
412 :
デフォルトの名無しさん
2016/05/16(月) 16:27:41.62 ID:IBGTyv6p
タッチパネルには向いてない(非推奨と宣言されている)から諦めて他の部品を探す
413 :
デフォルトの名無しさん
2016/05/16(月) 18:56:25.57 ID:P91hC5sf
>>412 コメント、ありがとうございます。
最初はSliderコントロールで作っていたのですが、タッチでは非常に操作しづ
らいため(大きなボタンの)Spinに変えてみたのに前記のような次第です。
動きを見てみると・・・
マウスの場合はボタンを押したときにWM_LBUTTONDOWN・離した時にWM_LBUTTONUP
が来るのが、パネルだと押したときにWM_LBUTTONDOWNは来ず、離した時にDOWNと
UPが続けて来るようです。(レピートもアクセラレーションも働かないのは当然)
数値の範囲が広い(5〜5000等)ため、DropDownList等にはできず。
WM_TOUCHメッセージを受けてどうにかできないかトライ中。
414 :
デフォルトの名無しさん
2016/05/16(月) 22:03:35.57 ID:89EWpk6s
タッチするとスライダーが出るっていうのもあり
415 :
デフォルトの名無しさん
2016/05/23(月) 02:26:17.08 ID:x4vKVRRs
ダブルクリックメッセージの後の、WM_LBUTTONUPが地味にうっとうしい こんなの誤作動の元だろ・・・
416 :
デフォルトの名無しさん
2016/05/23(月) 02:32:42.88 ID:x4vKVRRs
MS的にはダブルクリックしたままドラッグするような操作も想定していたのかもしれないが そんなオペレーションが必要なアプリに出会ったことがない ダブルクリック自体オプション的な扱いなんだから ダブルクリックの後のWM_LBUTTONUPもオプションにしてほしかった いちいちキャンセル処理するのが面倒
417 :
デフォルトの名無しさん
2016/05/23(月) 03:35:11.85 ID:CHotlqdd
Firefox,Chrome,サクラエディタではダブルクリックのままのドラッグサポートしてるよ 単語単位選択のまま範囲が拡張される
418 :
デフォルトの名無しさん
2016/05/23(月) 03:42:10.00 ID:CHotlqdd
というかメモ帳もVisual Studioでも同じだった メモ帳は日本語だと1文字づつになるけど
419 :
デフォルトの名無しさん
2016/05/23(月) 09:09:35.53 ID:IdraLXZT
>>416 ダブルクリック
→あ、ミスったからそのまま範囲外に持っていってからWM_LBUTTONUP
とかない?
420 :
デフォルトの名無しさん
2016/05/23(月) 20:01:41.03 ID:x4vKVRRs
>>418 必須の動作ではないでしょ
その意味で
そんなぺレーションが必要なアプリに出会ったことがない
そもそも、普通のクリックの後とダブルクリックの後とで
BUTTONUPのメッセージが共通なのがいやらしい
普通のクリックとダブルクリックでは、アプリは別の動作をするのが普通なのだから
そのあとのBUTTONUPのメッセージも分けてほしかった
WM_LBUTTONDBLCLKDOWN→WM_LBUTTONDBLCLKUP
とかね
普通に考えて、LボタンとRボタンで、UPのメッセージはそれそれ別になってて
それぞれWM_LBUTTONUP、WM_RBUTTONUPでしょう?
これがどの場合でもWM_BUTTONUP一つに共通になってたら嫌でしょう
これと同じことだと思うんですけどねー 何でメッセージを共通にしたんだろうかね
別のメッセージを共通に扱うのは簡単だけど
共通のメッセージを別に扱うのは面倒
421 :
デフォルトの名無しさん
2016/05/23(月) 20:18:48.93 ID:BbHX4Eo2
>>420 > これがどの場合でもWM_BUTTONUP一つに共通になってたら嫌でしょう
嫌とか言う以前に左右ボタンを同時押しされたら区別できないだろ
頭の構造がプログラマに向いてないんじゃね?
422 :
デフォルトの名無しさん
2016/05/23(月) 20:34:56.44 ID:Xj6YQxJ5
>>420 何がしたいの?
そうだねすごいねって言って欲しいのか?
あ?ボケが
423 :
デフォルトの名無しさん
2016/05/23(月) 20:41:01.24 ID:x4vKVRRs
ダブルクリックの後のUPのメッセージが 普通のクリックの時と別になっていたほうが良いと思いません?
424 :
デフォルトの名無しさん
2016/05/23(月) 20:47:25.72 ID:Xj6YQxJ5
同意してくれないと暴れるよって付け加えろ 同意が欲しいだけのくせに否定されると嫌だからって 質問の体を取らせようとする女の腐ったような奴は見苦しいんだよ
425 :
デフォルトの名無しさん
2016/05/23(月) 20:52:30.88 ID:x4vKVRRs
どうして同意してくれないんですか?
426 :
デフォルトの名無しさん
2016/05/23(月) 20:54:08.47 ID:x4vKVRRs
逆に何か理由があって ダブルクリックと普通のクリックの後のUPのメッセージが同じになってるんですかね 同じになっていたほうが便利なことって、ちょっと思い浮かばないんですけど
427 :
デフォルトの名無しさん
2016/05/23(月) 20:55:24.82 ID:6EggAem/
>>423 思いません。
理由は述べません。
議論もしません。
ですが思いません。
こちらからは以上です。
428 :
デフォルトの名無しさん
2016/05/23(月) 22:37:23.51 ID:WWhEKyeV
トリプルクリックとか4thクリックの実装が汚くて一々気にしたら負け という結論を20年以上前に得たことを思い出した
429 :
デフォルトの名無しさん
2016/05/26(木) 09:04:44.12 ID:QP0+R2rv
グローバル変数だろうが、ローカル変数だろうが、コンパイル時にそのアドレスは決定してますよね。実行することなく、その変数のアドレスを知りたいのですがどうすればしれますか?
430 :
デフォルトの名無しさん
2016/05/26(木) 09:40:20.34 ID:vJm9AXBO
最適化で消えたりレジスタのみで処理されてるかもしれねーじゃん 出直せ
431 :
デフォルトの名無しさん
2016/05/26(木) 10:09:09.07 ID:6KAnMnB/
432 :
デフォルトの名無しさん
2016/05/26(木) 13:38:43.82 ID:PPtVZd97
>>429 ローカルは実行時まで決定しないんじゃね
433 :
デフォルトの名無しさん
2016/05/26(木) 13:50:59.72 ID:M2X0d2Pu
>>429 グローバルと静的変数はコンパイル時に決まる
それはビルド時にシンボルマップファイルを生成させれば見られる
ローカルとヒープは実行時じゃないと無理
レジスタにのってる奴は実行時でも無理
434 :
デフォルトの名無しさん
2016/05/26(木) 14:07:29.18 ID:qDP8EFHX
ローカルちゃん。メインスレッドのスタックそのものののアドレスはASLRでないなら固定じゃなかったっけ 関数呼び出しのツリーが固定ならアドレスは計算可能かと思ったけど プログラムの引数とかallocaとか使うとアドレスずれるんだっけか?
435 :
デフォルトの名無しさん
2016/05/26(木) 15:03:48.00 ID:iU2f12RA
お前は囀らなくていい
436 :
デフォルトの名無しさん
2016/05/26(木) 18:18:53.68 ID:YS/YHZQs
シフトキーを押しながらダブルクリックとかあった
437 :
デフォルトの名無しさん
2016/05/26(木) 18:48:05.78 ID:ZS10B00B
438 :
デフォルトの名無しさん
2016/05/26(木) 20:19:26.84 ID:Z+cHO4t2
>>434 こんなのはどうなるの?
#include <stdio.h>
int a = 0;
void Func1(void) {
int b;
static int c;
printf("a:%p b:%p c:%p\n",&a,&b,&c);
if (++a<4) Func1();
else a = 0;
}
void Func2(void) {
int x;
printf("x:%p\n",&x);
Func1();
}
int main(void) {
Func1(); printf("\n");
Func1(); printf("\n");
Func2(); printf("\n");
return 0;
}
439 :
デフォルトの名無しさん
2016/05/26(木) 20:42:30.72 ID:tEodBnd+
サエズ 囀 る
440 :
デフォルトの名無しさん
2016/05/26(木) 20:49:06.51 ID:e4t247TT
何の価値も感じない問答だ まともでない手段が出てくるときは9割9分9厘方針が間違ってるか 横着するつもりでドツボに嵌まる選択をしている
441 :
デフォルトの名無しさん
2016/05/26(木) 21:09:18.72 ID:kT3OAx5i
Unicode形式: お前は囀さえずらなくていい 青空文庫形式: お前は|囀《さえず》らなくていい まともに表示できるブラウザがあるかは知らん
442 :
デフォルトの名無しさん
2016/05/31(火) 01:01:12.53 ID:2D2ULHTm
vbs から Win32API を呼ぶ方法はありますか? 無い場合、OS にランタイム等をインストールせずに実行できる実行ファイルを作れて API を呼べるお勧めの言語はありますか?
443 :
デフォルトの名無しさん
2016/05/31(火) 01:54:47.72 ID:dsq6ciRV
c
444 :
デフォルトの名無しさん
2016/05/31(火) 07:09:12.05 ID:Q6hYp8jt
vbs から Win32API を呼ぶ方法 でそのままググれ
445 :
片山博文MZ ◆T6xkBnTXz7B0
2016/06/04(土) 01:14:28.88 ID:9azu721e
CPUが64-bitで、かつOSが32-bitである環境がアリエールとは驚きだ。
446 :
片山博文MZ ◆T6xkBnTXz7B0
2016/06/04(土) 01:19:03.37 ID:9azu721e
こうした「ねじれ環境」では最新のInkscapeなどのプログラムが動かないことがあるらしい。
447 :
デフォルトの名無しさん
2016/06/05(日) 09:00:41.62 ID:n7k60ruZ
448 :
デフォルトの名無しさん
2016/06/05(日) 11:20:52.39 ID:wpgdhQ4H
>>445 Windows7の時代はそんなのが当たり前だったが。Windows8の時代でも普通にあった。
64bitのOSが標準になったのはここ数年だ。
OSが64bitになると32bitのドライバーは完全に使えなくなるし、搭載メモリーが4G以下だと
64bitにするメリットがあまりなかったからな。
449 :
デフォルトの名無しさん
2016/06/05(日) 13:12:51.41 ID:5CTJmFcd
450 :
デフォルトの名無しさん
2016/06/05(日) 13:31:26.44 ID:4pXfFBXo
451 :
デフォルトの名無しさん
2016/06/05(日) 14:16:02.61 ID:MNddmiLP
初心者なんて手段と目的と発想がとっちらかってるから 本人が本題だと思ってることは本題ではない可能性のが高い 岡目八目
452 :
デフォルトの名無しさん
2016/06/05(日) 14:26:35.95 ID:wpgdhQ4H
ゲームか何かのデータをオンラインで覗き見や改竄したかったんじゃないの。
453 :
デフォルトの名無しさん
2016/06/05(日) 15:06:46.74 ID:4pXfFBXo
454 :
デフォルトの名無しさん
2016/06/05(日) 15:14:10.27 ID:ALg55j00
みんなひどいな、ちゃんと教えてやれよ。
>>429 >グローバル変数だろうが、ローカル変数だろうが、コンパイル時にそのアドレスは決定してますよね
いいえ。
455 :
デフォルトの名無しさん
2016/06/05(日) 16:18:47.98 ID:b0qHmmcL
>>453 別解ができるできるかもしれないから本来の目的を聞いてんだろ
頭悪いんじゃねーの?
456 :
デフォルトの名無しさん
2016/06/05(日) 16:43:38.72 ID:4pXfFBXo
>>455 実行することなくアドレス知った後に何をしたいか知っても
アドレス知らなければできないだろバカ?
457 :
デフォルトの名無しさん
2016/06/05(日) 17:05:53.27 ID:m3XTKDYl
>>455 別解は訊かれてないからそれは余計なお世話
お節介おばさん
458 :
デフォルトの名無しさん
2016/06/05(日) 21:34:41.29 ID:iq7db8Ia
>>454 「言語とか環境によるからそれだけでは答えられない」が正解だろ。
懐かしの *.com タイプの実行ファイルなら、アドレスが決まってると言えなくもない。
実行時にセグメントアドレスが変わるだけでプログラム内で意識すべきアドレスは変わらないからな。
459 :
デフォルトの名無しさん
2016/06/05(日) 21:46:16.77 ID:mNRbI/bE
>>458 ローカル変数はスタック上にあるんだろう?具体的にアドレスを出すのは難しいんじゃないかな
460 :
デフォルトの名無しさん
2016/06/05(日) 22:26:30.18 ID:iq7db8Ia
>>459 comタイプだと開始時の SP も確定できる。
だから main() のローカル変数のアドレスは確定できるという意味だったけど、
そこから呼び出される関数内のローカル変数のアドレスはそこに至るまでの
スタックの使用状態に依存するからそういう意味では確定ではないな。
関数ごとに確定したら再帰呼出できない。
461 :
デフォルトの名無しさん
2016/06/06(月) 00:29:06.57 ID:KlmLRyc2
だから、まとめると、 Q:決まってますね? A:いいえ、決まってません だろ。
462 :
デフォルトの名無しさん
2016/06/06(月) 01:10:07.28 ID:b3wiPZEu
A. 決まってないことがほとんどだけど、条件によっては決まってる事もあります。 自分で SP を操作して決めることも場合によっては可能です。 かな。
463 :
デフォルトの名無しさん
2016/06/06(月) 01:47:32.02 ID:KlmLRyc2
>条件によっては そういうのは「決まってない」って言うんだよ。 だって条件明示できないだろう?
464 :
デフォルトの名無しさん
2016/06/06(月) 03:02:28.37 ID:f8xfohh0
ランダム化されたベースアドレス とか 固定ベースアドレス とか
465 :
デフォルトの名無しさん
2016/06/06(月) 08:18:46.91 ID:l5dDSXNJ
エミュでベースアドレスが固定なのはどうやってんの?
466 :
デフォルトの名無しさん
2016/06/06(月) 08:32:20.01 ID:ltcrYsll
エミュレータは所詮エミュレータ 完全に実物を再現することは出来ない ベースアドレスが固定されているのであれば、ホストマシンの速度や容量の関係でゲストマシンのメモリマッピングの エミュレーションを放棄して処理の簡素化を図っているだけ
467 :
デフォルトの名無しさん
2016/06/06(月) 20:24:45.16 ID:QosaUsgl
宇宙開闢の瞬間からアドレスは決まっているかもな それを知ることができるかは別だが
468 :
デフォルトの名無しさん
2016/06/06(月) 21:29:21.12 ID:XWFkF7NO
標準 Windows APIというサイトより 「 キーボードイベントはアプリケーションがそれを処理するよりも速い速度でタイプすることができます しかし、基本的にキーボードイベントはアクティブなウィンドウに対して送られますが キューのメッセージの途中で、アクティブなウィンドウが切りかえられた場合 その後のキーイベントは切り替わったウィンドウに送られるべきです 」 これの具体例がわかりません。キーボードを連打してウインドウがたくさん開いてる状態 なんてPC操作しててありますか?
469 :
デフォルトの名無しさん
2016/06/06(月) 21:33:07.14 ID:okPwaxJe
あるよ WM_LBUTTONDOWNでウィンドウを閉じたら WM_LBUTTONUPは別のウィンドウに届く 怖いね
470 :
デフォルトの名無しさん
2016/06/06(月) 22:30:16.23 ID:XWFkF7NO
>>469 切り替わったウインドウに送られるってことですか???
それを防ぐための機能はあるんでしょうか?
471 :
デフォルトの名無しさん
2016/06/06(月) 22:35:42.16 ID:XWFkF7NO
防げるわけないか
472 :
デフォルトの名無しさん
2016/06/06(月) 23:20:33.76 ID:okPwaxJe
一応そういう機能は用意されているよ ただし、切り替わったことを検出する機能だが DOWNとUPは必ず対で同じウィンドウに送られるとは限らないから そのつもりで書かないと変なことになるよ LBUTTONDOWNでフラグを立ててドラッグ処理してLBUTTONUPでフラグを戻すという ありふれた処理ですらバグる可能性があるよ マウスをキャプチャしていたとしても、途中でAlt+TABなどでウィンドウを切り替えたりしたら 勝手にキャプチャが解除されてLBUTTONUPは飛んでこないよ キャプチャが解除されたことを検出してフラグを元に戻すなど、後処理をしないとダメ 怖いね
473 :
デフォルトの名無しさん
2016/06/07(火) 00:13:54.68 ID:41OqMrsx
たまにWin10の起動処理で、マウスが張り付いて動かないことがあり、 再起動しているのだが、アプリがそういう事を想定していないからか Windowsは恐ろしい
474 :
デフォルトの名無しさん
2016/06/07(火) 08:05:48.66 ID:GLc24ffb
ウィンドウプロシージャで描画するときのはじめと終わりは hdc = GetDC(hwnd); 〜 ReleaseDC(hwnd , hdc); のパターンもしくは hdc = BeginPaint(hwnd , &ps); 〜 EndPaint(hwnd , &ps); だと思いますが、後者はデバイスコンテキストをデバイスコンテキストを 解放してないと思うんですがこれでいいんでしょうか? 後、文字やグラフィックの描画に関しては、絶対に後者のほうがいいそうですが 前者使う時は?
475 :
デフォルトの名無しさん
2016/06/07(火) 08:06:51.30 ID:GLc24ffb
すいません ×「デバイスコンテキストをデバイスコンテキストを」で 正しくは「デバイスコンテキストを」です。
476 :
デフォルトの名無しさん
2016/06/07(火) 08:07:46.67 ID:GLc24ffb
デバイスコンテキストを解放してないと描画機能に影響を及ぼすみたいな 事書いてありますし、後者で大丈夫ですか?
477 :
デフォルトの名無しさん
2016/06/07(火) 09:54:05.47 ID:L0Kpz/xt
PAINTSTRUCT構造体のメンバを見ればデバイスコンテキストハンドルがあるのがわかる。 実際のところBeginPaint()の戻り値は冗長。
478 :
デフォルトの名無しさん
2016/06/07(火) 09:56:09.48 ID:4sqWtxYj
まったく変態APIだよな
479 :
デフォルトの名無しさん
2016/06/07(火) 10:01:23.12 ID:L0Kpz/xt
それからGetDC()とBeginPaint()の使い分けは処理の内容じゃない。 BeginPaint()は無効領域に書き込みを開始する関数なので無効領域が発生したときに来る WM_PAINTメッセージのときしか使わないし、無効領域の描画が完了したらそのことをEndPaint() で知らせなければならない。何かの理由で(クラスのメンバとして保持するとか)HDCを持ちっぱなし にするならGetDC()を使う。 逆にWM_PAINTが来てるときにGetDC()を使うと無効領域が無効領域のままなのでメッセージが 来続けることになる。自分でInvalidateRect()で無効領域を発生させまくってるなら大差ないけど
480 :
デフォルトの名無しさん
2016/06/07(火) 11:02:25.45 ID:L0Kpz/xt
あぁそれからBeginPaint()は無効領域の外への描画は反映されないようになってるから WM_PAINT以外で使っても無効領域がないので各種描画関数自体は成功するけど画面には 反映されない。 WM_PAINTを呼ぶのにSendMessage()じゃなくてInvalidateRect()を使うのも同じ理由。
481 :
デフォルトの名無しさん
2016/06/07(火) 11:17:37.48 ID:L0Kpz/xt
ちょい訂正 WM_PAINTでGetDC()使うとWM_PAINTしか来なくなってタイマーメッセージとかのほかの メッセージが一部機能しなくなる。今試して確認した。理由は上のとおり。
482 :
デフォルトの名無しさん
2016/06/07(火) 16:41:36.62 ID:DjDItv96
>>477 ありがとうございます。
つまりpsというオブジェクトがデバイスコンテキストハンドルを開放する
メソッドなりがEndpaint中に実行されてるってことですね。
>>480 なるほど、BeginPaint()使っても描画されない時があるのはWM_PAINTとセット
じゃないからですね…なるほど
483 :
デフォルトの名無しさん
2016/06/07(火) 16:44:32.25 ID:DjDItv96
ただ無効領域っていうのはプログラム開始時はどうなってるんですか? LPTSTR lptStr = TEXT("Kitty on your lap"); switch(msg) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_PAINT: hdc = BeginPaint(hwnd , &ps); TextOut(hdc , 10 , 10 , lptStr , lstrlen(lptStr)); EndPaint(hwnd , &ps); return 0; } この場合だと文字が実行時に描かれていますが、プログラムの最初は そもそも無効領域なんてないはずだからBeginPaintが反応しないはずだと思いますけど 実際文字列表示されますし。
484 :
デフォルトの名無しさん
2016/06/07(火) 16:53:42.50 ID:w2gqx7DJ
485 :
デフォルトの名無しさん
2016/06/07(火) 17:02:56.06 ID:RY15Skw4
>プログラムの最初はそもそも無効領域なんてないはず いやいや
486 :
デフォルトの名無しさん
2016/06/07(火) 17:24:17.39 ID:DjDItv96
あれ理解してないかな俺 無効領域ってのは一端描画されて、他のアプリで消された領域っていう 理解ですけど…
487 :
デフォルトの名無しさん
2016/06/07(火) 19:25:51.81 ID:NYG4EICE
それは勝手なお前の思い込みだから知らない
488 :
デフォルトの名無しさん
2016/06/07(火) 21:36:26.14 ID:L0Kpz/xt
>>485 無効領域は「描画の必要がある領域」だからそういう場合「にも」無効領域は発生する。
後はInvalidateRect()が無効領域を発生させる関数だし、CreateWindow()の後は画面全体が
無効領域になってるからその旨をUpdateWindow()で知らせてやることで1回目のWM_PAINTがよばれる。
>>483 には書いてないけどCreateWindow()の後メッセージループに入る前に使ってるでしょ?
489 :
デフォルトの名無しさん
2016/06/08(水) 07:27:04.52 ID:ZY4F9/6a
別に UpdateWindow() を呼んだりしないけどね
490 :
デフォルトの名無しさん
2016/06/08(水) 10:25:31.59 ID:AssKLBZs
>>488 >>無効領域は「描画の必要がある領域」だからそういう場合「にも」無効領域は発生する。
なるほどそうですよね。すいません僕がバカでこのような考えできませんでした。
491 :
デフォルトの名無しさん
2016/06/08(水) 11:25:15.46 ID:AssKLBZs
やっぱりわからないw 描画の必要がある領域っていうのは プロシージャ呼ばれる前にはわからないんじゃ? だってプロシージャ内でどう描くか記述してるんだから。 それなのに再描画必要っていってプログラム起動してしょっぱなに WM_PAINTが発行されるのは何故なんですか?
492 :
デフォルトの名無しさん
2016/06/08(水) 11:25:39.49 ID:AssKLBZs
と思ってしまいます。
493 :
デフォルトの名無しさん
2016/06/08(水) 11:33:32.92 ID:WRRf0iRn
(再)描画管理はOS(とウインドウマネージャ)の仕事 ウインドウが非表示から表示になったとか裏から表に出たとか いろんなケースで WM_PAINT が送られる
494 :
デフォルトの名無しさん
2016/06/08(水) 11:35:39.56 ID:WRRf0iRn
"再"描画 とかリフレッシュとかいう言葉に勘違いするのはよくある罠かな 無効化というより未処理化というのがわかりやすい 描く内容が変わったから画面更新(の指示)するのはアプリケーションの仕事 ウインドウ全体もしくはその一部を塗り直し箇所としてマーキングする そこから先は上の再描画と同じ流れ
495 :
デフォルトの名無しさん
2016/06/08(水) 11:36:07.17 ID:lMpdbKpY
>プロシージャ呼ばれる前にはわからないんじゃ? 何故そう思ってしまうのかが逆に全然わからない CreateWindow直後はウインドウ全体が「描画の必要がある領域」だっていうのはシステムは当然わかってるよ
496 :
デフォルトの名無しさん
2016/06/08(水) 11:44:43.23 ID:XFtKz/Go
どう言ったら理解できるのかがもはやわからないんだけど 真っ白な紙を渡されたら、何も書かれてない、つまり無効領域だから 何か書かなければならないのは分かるよね もはや何のたとえ話かもわからないけど 普通の人はそんなところでつまずかないから相当気合い入れたほうが良い
497 :
デフォルトの名無しさん
2016/06/08(水) 16:07:34.37 ID:ZLPAH2q/
>>491 簡単に言うとシステムがウィンドウの状態を見てる
そんで、被さってたウィンドウがどいたとか裏に隠れてたけど表に出てきたとか
最小化から元のサイズに戻ったとか最大化されたとかの時に無効になった(再描画が必要になった)として
WM_PAINTを送ってくれる
498 :
デフォルトの名無しさん
2016/06/08(水) 16:17:29.92 ID:ZLPAH2q/
あ、プログラム起動してしょっぱなか プログラムを起動してウィンドウが表示されるとクライアント領域の内容も 描画しないといけないということで、クライアント領域は無効な描画領域状態(描画が必要な状態) なのでWM_PAINTを送ってくれる
499 :
デフォルトの名無しさん
2016/06/09(木) 09:07:11.76 ID:enLYes+t
文字が切れて描画の必要があるときはWM_PAINTが呼ばれる事は理解しました。 ただプロシージャ自体は再描画する必要があるというイベントしか受け取って ないわけですよね。実際TextOutで文字全体を表示しなければならないし。 では例えば具体的に今何ピクセルの情報が欠損してるかなど、 欠損してる位置などを記憶してるオブジェクトは何にあたるんでしょうか? これはWM_PAINTが呼び出される時ではなく、切れた時点で発動するオブジェクトだと思うんですけど。
500 :
デフォルトの名無しさん
2016/06/09(木) 09:20:40.17 ID:dIu2vu4F
ここまでの話で何度も出てるだろ…
501 :
デフォルトの名無しさん
2016/06/09(木) 09:34:06.31 ID:enLYes+t
BeginPaint(hwnd , &ps); ですか? hwnd→単なるウインドウのハンドル ps→PAINTSTRUCT ps;でプロシージャで定義してるからこれではない
502 :
デフォルトの名無しさん
2016/06/09(木) 10:01:48.91 ID:vUW3kMHA
これまでの話で、デバイスコンテキストが無効領域を管理してるんだな と、思いつかないのは、思考方法に欠陥がある。 BeginPaintをしっかり調べりゃ、 必ずしも文字全体を再描画する必要がないことだってわかるはずだ
503 :
デフォルトの名無しさん
2016/06/09(木) 10:08:05.78 ID:Sr66m38T
PAINTSTRUCTのフィールド確認した? BeginPaintを呼んだ後、何が格納されるか確認した?
504 :
デフォルトの名無しさん
2016/06/09(木) 10:10:14.15 ID:enLYes+t
いやいやデバイスコンテキストが無効領域を管理してるか もしくは参照してるかはBeginPaint見ないと分からないですね。 参照していることを管理してると意味付けしたら別ですが。
505 :
デフォルトの名無しさん
2016/06/09(木) 10:11:28.60 ID:enLYes+t
>>503 怠っていました。
つまりTextOut(文字列)としなくても良いってことがわかったので
そんなコード書いてみますね。
506 :
デフォルトの名無しさん
2016/06/09(木) 10:23:16.19 ID:CDrC/h56
507 :
デフォルトの名無しさん
2016/06/09(木) 10:46:09.86 ID:EpB3wgru
描画するハンドルなのにデバイスコンテキストとか糞みてぇなネーミング
508 :
デフォルトの名無しさん
2016/06/09(木) 10:57:53.63 ID:M6gePxQX
ただ、デバイスコンテキストが無効領域を管理しているというのは、何か違うと思うけどね 強いていれば、ウィンドウを管理している何かが無効領域を管理している、と言えるかもしれない 我々の目で見える部分でいえば、HDCというよりは、HWNDが無効領域を覚えている HWNDを指定してBeginPaintを呼び出すと、これが拾えることからも分かる通り ただ、例の彼にとってはどうでもよいことだけどね また良くわからないズレた書き込みをしているようだし
509 :
デフォルトの名無しさん
2016/06/09(木) 11:05:28.94 ID:CSH5zx3A
>>507 本来はプリンタを意識した設計
プリンタに対する制御命令の羅列をなんとか抽象化して画面とそろえたもの
510 :
デフォルトの名無しさん
2016/06/09(木) 11:05:47.81 ID:PDv6puL4
HWNDが覚えているというよりは HWNDが色んな情報と関連付けられている
511 :
デフォルトの名無しさん
2016/06/15(水) 21:39:02.30 ID:mjbwSP1S
【Win10】 こんな犯罪級OS薦めんなよwww ↓ 【スパイウェア】
この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
VIDEO 【被爆大量死】 ペットを保健所で殺処分するように国民を殺戮する自民・東電・フクシマ応援テロリスト 【放射能犯罪】
りうなちゃんは去年の暮れ、脳腫瘍のために亡くなった。2歳を過ぎたころ「放射能があるから砂は触れない」「葉っぱは触っちゃだめ」
https://twitter.com/Tom oyaMorishita/status/648628684748816384
UFOや核エネルギーの放出を見ることはエーテル視力を持つ子供たちがどんどん生まれてくるにつれて次第に生じるでしょう。
マイト レーヤは原発の閉鎖を助言されます。
マイト レーヤによれば、放射能は自然界の要素を妨害し、飛行機など原子のパターンが妨害されると墜落します。
マイト レーヤの唇からますます厳しい警告と重みが発せられることを覚悟しなさい。彼はいかなる人間よりもその危険をよくご存じです。
福島県民は発電所が閉鎖されれば1年か2年で戻って来られるでしょう。
日本の福島では多くの子どもたちが癌をもたらす量の放射能を内部被ばくしています。健康上のリスクは福島に近づくほど、高まります。
日本の近海から採れた食料を食べることは、それほど安全ではありません。汚染されたかもしれない食料品は廃棄すべきです。
日本もさらに多くの原子力発電所を作ろうとしています。多くの人々が核の汚染の影響で死んでいるのに、彼らは幻想の中に生きています。
問題は、日本政府が、日本の原子力産業と連携して、日本の原子力産業を終わらせるおそれのあることを何も認めようとしないことです。
512 :
デフォルトの名無しさん
2016/06/18(土) 06:33:38.33 ID:MIQvGXJh
今このページをブラウザ(クローム)で開いていますが このブラウザのウインドウ・ハンドルから EnumChildWindowsして、お絵かき領域"wPaint-canvas"のハンドルを取得したいのですが 子ウインドウは「Chrome Legacy Window」の1つしか取得できず その孫ウインドウは1つも取得できません (試しに、Outlook Expressを調べると孫ウインドウまで色々と取得できます) なんとかお絵かきキャンバスにアクセスできないものでしょうか
513 :
デフォルトの名無しさん
2016/06/18(土) 07:14:54.10 ID:3SzE3rgE
例えばあなたが銀行のページを見ていて 横からそのページにアクセスできたらどうしますか?
514 :
デフォルトの名無しさん
2016/06/18(土) 10:45:35.39 ID:KIJwdLCd
クロームが最下層まで全部自前で描画してたらウィンドウハンドル自体が無いと思われ
515 :
デフォルトの名無しさん
2016/06/18(土) 10:58:51.74 ID:KIJwdLCd
特にクロームはフラッシュを内蔵しているからハンドル無くてもおかしくない
516 :
デフォルトの名無しさん
2016/06/18(土) 14:04:30.57 ID:AGMP56Qn
canvasってHTMLのDOMじゃねーのか?
517 :
デフォルトの名無しさん
2016/06/18(土) 14:20:53.00 ID:z5tqSjVb
DOMのclass属性とWNDCLASSの区別がついてなくて canvasがChildWindowだと思ってて canvasにwPaint-windowってclassを設定してるから EnumChildWindowsで取れると思ってんのよ
518 :
デフォルトの名無しさん
2016/06/18(土) 14:22:41.72 ID:z5tqSjVb
もちろん実態は最初の前提が間違ってるから「できるわけがない」
519 :
デフォルトの名無しさん
2016/06/19(日) 12:50:07.45 ID:wWCYPJVS
Windows8以降だとtimeBeginPeriodでタイマー精度を1msに設定しても電池持ちに悪影響は無いんでしょうか Windows8以降はticklessカーネルだから悪影響は無いというような事が書いてある記事がありますが どんなハードウェアとか状況でもそうなんですか?
520 :
デフォルトの名無しさん
2016/06/19(日) 14:02:51.46 ID:5KvSKdL/
521 :
デフォルトの名無しさん
2016/06/19(日) 14:07:33.03 ID:XJg+8VdY
chrome 使うと負荷が増えるって昔聞いたことがあったっけ そういうことかい
522 :
デフォルトの名無しさん
2016/06/20(月) 07:52:22.29 ID:ccfWO27l
>>520 そのブログの人、Windows7ユーザーっぽいから質問者のWindows8以降の話の回答にはなってなさげね
523 :
デフォルトの名無しさん
2016/06/20(月) 08:36:55.24 ID:3NNTVW74
俺のWindows7環境ではtimeBeginPeriodなんて呼ばなくてもSleepは1ms精度になってるんだが
524 :
デフォルトの名無しさん
2016/06/20(月) 08:56:33.89 ID:usQ28XEZ
普通のWindowsはRTOSではないのでレスポンスタイムの保証はない 設定できることと 精度が保証されることとは別 Windows10IoT(旧WindowsEmbedded)がどうなっているかは知らないけど
525 :
デフォルトの名無しさん
2016/06/20(月) 10:21:10.16 ID:3NNTVW74
保証されないのはあたりまえ EmbeddedでもIoTでも一緒だよ それとtimeBeginPeriodの話は関係ない
526 :
デフォルトの名無しさん
2016/06/20(月) 11:13:48.10 ID:3NSvhYkC
timeBeginPeriodよりスレッド単位で優先度を指定するMMCSSでの設定の方が行儀が良いんでないっけ どのみちスレッド切り替えの頻度を上げることには変わりはないのだから消費電力への影響はあるだろうけど
527 :
デフォルトの名無しさん
2016/06/20(月) 14:55:49.31 ID:78XmmaUt
Windows7以降のOSだとDirect3D9使うよりDirect3D11とか使った方が同じ処理でも速くなる?
528 :
デフォルトの名無しさん
2016/06/20(月) 15:41:47.81 ID:/1RXmdBC
そりゃドライバの出来にもよるし
529 :
デフォルトの名無しさん
2016/06/20(月) 15:41:48.38 ID:3NNTVW74
>>526 スレッドのプライオリティを設定したいなら(よっぽどのことがなければお勧めしないが)SetThreadPriorityを使えばいい
MMCSSはそれをやってないマルチメディアアプリの救済機能だと理解してる
530 :
デフォルトの名無しさん
2016/06/20(月) 22:16:41.09 ID:ccfWO27l
>>524 Windows10IoTはUWP前提だから、なおさら悪そう
531 :
デフォルトの名無しさん
2016/06/21(火) 12:04:43.28 ID:LE9F52CG
D3D11 ってデバイスロストの面倒見なくて良くなったんだっけ
532 :
デフォルトの名無しさん
2016/06/21(火) 18:27:13.32 ID:fuc/q6yL
GPUがTDR起こすとロストする
533 :
デフォルトの名無しさん
2016/06/23(木) 10:54:04.97 ID:awVn2K/F
534 :
デフォルトの名無しさん
2016/06/23(木) 10:57:57.58 ID:YrvC//rF
それは当たり前じゃね?
535 :
デフォルトの名無しさん
2016/06/23(木) 11:26:57.96 ID:FjipjPjg
D3D9世代のOSだと別アプリが排他フルスクリーンになっただけでロストしてたからね 耐性はかなり高くなったけどロスト処理から完全に開放されたわけでもない 動作検証で任意にロスト起こしたいならデバマネからグラフィックドライバを無効すればよい
536 :
デフォルトの名無しさん
2016/06/23(木) 11:34:40.47 ID:332nxUAD
smplayerでmp4再生したら見事にロストしてくれたはthx
537 :
デフォルトの名無しさん
2016/06/26(日) 15:32:26.59 ID:nR9q+WlS
昔使ってたSwitchable Graphics採用のノートでもロストするかも バッテリー駆動になったらIntel GPUに切り替える設定になってると ACアダプタ抜いた時に多分する 今使っているノートPCもGPU切り替え可能だが これはNVIDIA Optimus採用でアプリ毎に切り替え可能だからロストしない 無限ループのあるシェーダーを実行させるとかでもロストするか?
538 :
デフォルトの名無しさん
2016/06/27(月) 01:49:15.06 ID:WrVlvgBr
ちょっと前マイクロソフトの中の人らしい人が twitterでロストしたら終了する事をお勧めするとか身も蓋もない事言ってた
539 :
デフォルトの名無しさん
2016/06/28(火) 08:54:31.13 ID:Ek0WLuSu
windows7からウィンドウの上下ドラッグである程度大きくすると 自動的に縦サイズだけ最大化する機能があるんだけど あれを禁止したり挙動変えるにはどうすればいいでしょうか?
540 :
デフォルトの名無しさん
2016/06/28(火) 09:09:22.68 ID:pgmex0YM
541 :
デフォルトの名無しさん
2016/06/28(火) 09:39:27.20 ID:rabCRM7S
このスレで聞いてるのだから、APIを教えろってことじゃないの?
542 :
デフォルトの名無しさん
2016/06/28(火) 10:24:01.46 ID:UehficRp
レジストリ編集系のAPIを使えばほぼなんでもできるやろ
543 :
デフォルトの名無しさん
2016/06/28(火) 10:46:26.79 ID:4uPkxyfr
>>538 T社を買収して完璧なAPIに再構築するまでもうしばらくお待ち下さい
544 :
デフォルトの名無しさん
2016/06/28(火) 13:41:44.15 ID:a3nSzCGl
545 :
片山博文MZ ◆T6xkBnTXz7B0
2016/06/28(火) 20:05:49.71 ID:/EmS/Fyw
Windowsの絵文字サポートはどこまで進んでいる?
546 :
デフォルトの名無しさん
2016/06/28(火) 21:33:53.66 ID:8HwZwHHy
FirefoxがTrueTypeを自力でレンダリングしなきゃならないくらい
547 :
デフォルトの名無しさん
2016/06/28(火) 21:36:04.97 ID:jXofjD/x
WindowsがUTFに移行すれば早いんだけど
548 :
デフォルトの名無しさん
2016/06/29(水) 12:14:01.70 ID:xPFVh+mM
その前に Windows が絶滅するかもな Android ChromeOS の勝利
549 :
デフォルトの名無しさん
2016/06/29(水) 16:18:58.51 ID:zh/CO/83
550 :
デフォルトの名無しさん
2016/06/29(水) 19:59:57.53 ID:LWp+msui
レジストリ内の指定位置から下の階層をまるまるバイト列などで取得したり、 逆に取り込んだりすることは、APIでできるのでしょうか。 コマンドプロンプトから reg export HKCU\Software\... reg import HKCU\Software\... を実行したときと同じようなことを、自作アプリ内で行いたいのですが。
551 :
デフォルトの名無しさん
2016/06/29(水) 21:16:33.31 ID:lW/yxd55
できると思うけど、管理者権限を与えないと無理かも
552 :
デフォルトの名無しさん
2016/06/29(水) 21:32:59.15 ID:lW/yxd55
CString CRegistry::GetRegValueStr(HKEY hKey, CString SubKey, CString KeyName, CString DefaultString) BOOL CRegistry::SetRegValueStr(HKEY hKey, CString SubKey, CString KeyName, DWORD DataType, CString strValue) このへんは?
553 :
デフォルトの名無しさん
2016/06/29(水) 22:58:54.44 ID:h8+xihiz
>>550 API 使ってちょっとコード書けばできると思うが
> レジストリ内の指定位置から下の階層をまるまるバイト列などで取得したり、
> 逆に取り込んだりする
専用の API があると思ってないだろうな?
554 :
デフォルトの名無しさん
2016/06/29(水) 23:32:15.05 ID:Z73kXcdz
>>550 RegOpenKeyExとか使ってあとはぐるんぐるんと
555 :
デフォルトの名無しさん
2016/06/30(木) 08:30:09.10 ID:j22CMfak
>>550 指定した所の値取得はできるから
ループ回して指定以下全て取得するようにしたらいいよ
556 :
デフォルトの名無しさん
2016/06/30(木) 08:37:05.63 ID:Mg1DKigT
そんなAPIがあったとしても、値の返却方法考えたら、ループ回す方がはるかに簡単だな
557 :
uy ◆e6.oHu1j.o
2016/06/30(木) 08:43:29.06 ID:U+B64GZ8
質問です PeekMessageとかSendMessageとか色々ありますけど そのメッセージって一度に大量に来た場合ってアプリクラッシュしないんですか?
558 :
デフォルトの名無しさん
2016/06/30(木) 08:52:39.65 ID:Mg1DKigT
クラッシュするように作られてるプログラムはクラッシュする 当たり前だ 一般的にはバグと呼ばれている
559 :
uy ◆e6.oHu1j.o
2016/06/30(木) 10:59:59.38 ID:U+B64GZ8
560 :
uy ◆e6.oHu1j.o
2016/06/30(木) 11:38:44.52 ID:U+B64GZ8
パソコンにC言語コンパイラが入っていなかった 諦める
561 :
デフォルトの名無しさん
2016/06/30(木) 11:41:51.57 ID:8IMpbPEW
そのスレッドのメッセージキューがいっぱいになっても落ちたりはしない プロセスキルはできる 昔はキューいっぱいになってWindowsごと止まったなあ・・・
562 :
デフォルトの名無しさん
2016/06/30(木) 12:17:00.45 ID:bSccWkK0
もうその流れ秋田
563 :
uy ◆e6.oHu1j.o
2016/06/30(木) 13:25:28.04 ID:U+B64GZ8
564 :
デフォルトの名無しさん
2016/07/08(金) 00:03:57.41 ID:AI/Q8yEO
壁紙とデスクトップアイコンの間のレイヤー?にTextOut()する方法を 教えてください。
565 :
デフォルトの名無しさん
2016/07/08(金) 03:42:35.31 ID:L4ZXDalo
そんなものはありません 現在の壁紙に直接文字を描画するのが一般的です
566 :
デフォルトの名無しさん
2016/07/08(金) 10:09:12.30 ID:ERN9BCt7
デスクトップに重ねて透明Window作れば?
567 :
デフォルトの名無しさん
2016/07/08(金) 11:14:09.94 ID:Os6EI0g/
それじゃアイコンの上に描画するだろ
568 :
デフォルトの名無しさん
2016/07/08(金) 13:58:57.41 ID:WN2toBJM
569 :
デフォルトの名無しさん
2016/07/08(金) 15:41:34.80 ID:Z0zroLgC
そんなことあるやろ? どういう原理や?
570 :
デフォルトの名無しさん
2016/07/08(金) 16:54:42.46 ID:01+4ed2Z
あのアイコンはリストビューのアイコン表示なんじゃないの?知らんけど
571 :
デフォルトの名無しさん
2016/07/08(金) 20:00:28.65 ID:gjq4uhFL
572 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/08(金) 20:10:00.63 ID:5bf5xqe9
「最背面 Win32 API」でググれ
573 :
564
2016/07/09(土) 09:47:16.52 ID:xG4M4Iyi
まだ自分にはレベルが高すぎる課題でした。 ありがとうございます。 解決には至りませんでした。
574 :
デフォルトの名無しさん
2016/07/10(日) 20:50:46.93 ID:J7L2i5Ph
アルファチャンネルで抜けば良い。
575 :
デフォルトの名無しさん
2016/07/10(日) 23:48:47.81 ID:/zxXYSmb
HTTPサーバーから特定ファイルをダウンロードする際、URLがリダイレクトされた場合を検出したいと思っています。 ブラウザで特定ファイルURIを指定して、意図したとおりにリダイレクトされる環境であることを確認した後、 実際に下記コードでステータスを取得してみましたが、どうしても200が返ってきてしまいます。 意図するステータスは302(ないしは303などリダイレクトを表すステータス)なのですが、何か不足しているか 手順が間違っているのでしょうか? hInetFile = InternetOpenUrl(hInet, lpszUrl, NULL, 0, INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_DONT_CACHE, 0); HttpQueryInfo(hInetFile, HTTP_QUERY_STATUS_CODE, szStatus, &dwBufSize, &dwIndex); szStatusは"200"となってしまいます。 存在しないURIを指定すると"404"となります。(これは当然) よろしくお願いします。
576 :
デフォルトの名無しさん
2016/07/11(月) 00:14:34.48 ID:/WdS7w57
>>575 htmlかjavascriptでリダイレクトされてるんじゃないの?
通信内容確認した?
577 :
575
2016/07/11(月) 00:39:17.05 ID:mE5jKs6R
>>576 すみません。情報が抜けていました。
とりあえず現在リダイレクトテストとして、自鯖apache2.xでmod_rewrite.soを有効にし、
テスト用URLに.htaccessを置いて中身は以下のような感じにし、リダイレクトされることを確認しました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^対象ページのURL$ 移転後のURL [R=302,L]
</IfModule>
そもそもリダイレクト検出が必要となった理由が、ドメイン更新手続きを担当者が忘れた結果、
ドメインが一時凍結されてしまいました。
しかし、ブラウザ・プログラムシステム側ともに404エラーにはならずにDNS管理会社の
ドメイン一時停止中だよページ(?)にリダイレクト状況(?)になり、特定ファイルのダウンロードも
エラーにはならずにステータス200で返ってきてしまっていました。
結果、ファイルの中身は本来のものとは異なるデタラメなもので、システム側が誤作動を起こした。
ということがありまして、今回リダイレクト環境を用意した上でテストしてみたのですが、
ドメイン一時停止中に遭った現象を同じくステータス200が返ってきてしまっている現状です。
しかし、javascriptでリダイレクトされるとステータスが取れないとなると、誤作動対策としては
別の方法を考えなければいけないかもですね。
当面、内々の事情としてはドメイン更新を忘れなきゃOKな話でもありますし。
578 :
デフォルトの名無しさん
2016/07/11(月) 08:37:30.50 ID:BOCVQw3X
579 :
デフォルトの名無しさん
2016/07/11(月) 16:01:04.43 ID:Ffg41DtV
dnsならそもそもリダイレクトじゃなくてipで管理会社のサーバーにとばされただけじゃないの? 接続先のサーバーがいじれるならカスタムのhttpヘッダ付けるとかで判定した方が楽だと思う。
580 :
575
2016/07/11(月) 18:00:53.06 ID:yrWfG2oN
>>578 現状で200や404が返ってきているので”これで正解”風味な感触を得ていましたが(実際ダメでしたが)、
確かにHttpSendRequestを経ていけば結果が変わりそうですね。
テストしてみて、また報告します。
>>579 確かに単にIPで飛ばされているのも確かです。
ただ、URLの奥深い階層のあらゆるファイルも全て404にならず、意図しない内容のものがダウンロード
されてしまうので、リダイレクトもされているであろうと当たりを付けました。
HTTPカスタムヘッダーはいい案ですね。鯖側管理者と相談してみます。
581 :
デフォルトの名無しさん
2016/07/11(月) 18:15:46.95 ID:DHaYiQ8W
リダイレクトされたかどうかじゃなくて 内容が意図してるものなのかどうかチェックすればいいんじゃないの?
582 :
デフォルトの名無しさん
2016/07/11(月) 19:19:09.82 ID:zdvynnCD
>>577 サーバー側のmod_rewriteのリダイレクトは検出出来ないんじゃね?
583 :
デフォルトの名無しさん
2016/07/11(月) 19:20:56.59 ID:zdvynnCD
>>577 サーバー側のmod_rewriteのリダイレクトは検出出来ないんじゃね?
584 :
デフォルトの名無しさん
2016/07/11(月) 22:11:30.20 ID:O0wDeDe6
>>577 サーバー側のmod_rewriteのリダイレクトは検出出来ないと思う
585 :
デフォルトの名無しさん
2016/07/12(火) 08:10:05.82 ID:5gnI1m0l
586 :
デフォルトの名無しさん
2016/07/13(水) 08:57:46.63 ID:Fl43tCNC
もう見てないと思うけど、 十数年前、矩形を短形と読んで恥をかいていた者です。 自分はもう落ち目なんですけど、このスレ・板に感謝しています。 ただの自己満足です。 名無しなのに回答してくる風土が好きです。貢献できなくて、すみません私はクズです。 以上。
587 :
デフォルトの名無しさん
2016/07/13(水) 17:19:35.41 ID:Zm0ukFfg
方形を包茎だと思ってたよ
588 :
デフォルトの名無しさん
2016/07/13(水) 17:30:36.22 ID:ZdYcti+1
Tank Way
589 :
デフォルトの名無しさん
2016/07/13(水) 17:33:39.54 ID:ZZxmFYpS
539 名前:デフォルトの名無しさん :04/12/12 19:44:43 BCCで簡単な画像編集アプリを作りたいんですが 一般的なキャンバスの仕組みが分かりません。 灰色の背景に白地のキャンバスエリアだとして、ただ白の短形を描画して その上から線を引くとしたら白の短形を再描画した時消えるし どう作ればいいのでしょうか? 保存する時はクライアントエリア上に直接描かれた絵を1ピクセルずつ色を キャプチャして保存するような感じでいいのですか? リンク探しても、それっぽい内容が見当たりません。 どなたか教えてください。 540 名前:デフォルトの名無しさん :04/12/12 19:48:16 たんけい選択 541 名前:デフォルトの名無しさん :04/12/12 19:54:55 短形 542 名前:デフォルトの名無しさん :04/12/12 19:56:10 たんけいコピー
590 :
デフォルトの名無しさん
2016/07/13(水) 18:22:49.47 ID:BO773i0L
よく残ってんなw リアルタイムでスレにいた気がするが、よく覚えてないぞ
591 :
デフォルトの名無しさん
2016/07/13(水) 21:26:17.48 ID:GD80JCcz
543 名前:デフォルトの名無しさん :04/12/12 19:56:30 短茎 544 名前:デフォルトの名無しさん :04/12/12 19:58:37 マジワロタ 545 名前:デフォルトの名無しさん :04/12/12 20:00:36 ググったら結構見つかったよ、短形(w 546 名前:デフォルトの名無しさん :04/12/12 20:00:53 (・∀・)タンケイ! 549 名前:デフォルトの名無しさん :04/12/12 20:38:07 巨と豆の区別もつかないらしい 550 名前:デフォルトの名無しさん :04/12/12 20:41:40 ホントにたんけいだと思ってる奴は俺の周りにも 結構いる。仕方ないよ。 551 名前:デフォルトの名無しさん :04/12/12 20:46:15 巨乳と豆乳の区別はつくぞ。 552 名前:デフォルトの名無しさん :04/12/12 20:47:12 ∩(・ω・ )∩ 短形 ばんじゃーい 553 名前:539 :04/12/12 20:55:30 あれ? 四角形って短形って言わんのか(;´Д`) 554 名前:デフォルトの名無しさん :04/12/12 21:00:57 市販のライブラリでも使っとけ。 で、四角形は矩形(くけい)だ。 555 名前:デフォルトの名無しさん :04/12/12 21:09:14 >553 >あれ? 四角形って短形って言わんのか(;´Д`) どんまい。俺も最初読めなかったよ。 学校で習わないもんな。
592 :
デフォルトの名無しさん
2016/07/13(水) 22:01:14.12 ID:vlEGI8Zx
短形 短小方形
593 :
デフォルトの名無しさん
2016/07/13(水) 22:20:15.18 ID:YDg44v1S
レクトアングルんことを一時期レクチャーレクチャー言ってた自分w
594 :
デフォルトの名無しさん
2016/07/13(水) 22:26:31.71 ID:u6EoGlGx
前方後円墳っていうけどあれみんな円い方が前だと認識してるよね
595 :
デフォルトの名無しさん
2016/07/14(木) 12:59:34.36 ID:HNcr3c0L
レクトアングルってのもあまり言わないけどな。
596 :
デフォルトの名無しさん
2016/07/14(木) 14:14:36.67 ID:nt3rPaXP
カタカナにするとしたら普通は「レクタングル」だろ 「レクトアングル」とか言われたら、えっ?ってなっちゃう
597 :
デフォルトの名無しさん
2016/07/14(木) 14:18:32.68 ID:B29KeyPb
いやカタカナの場合レクトアングルじゃね? レクト + アングルなんだし 発音としてはトアを繋げるが決してタではない
598 :
デフォルトの名無しさん
2016/07/14(木) 14:23:49.03 ID:SkoSK+Cn
それを言うならトアでもないよ
599 :
デフォルトの名無しさん
2016/07/14(木) 14:38:17.38 ID:B29KeyPb
600 :
デフォルトの名無しさん
2016/07/14(木) 14:40:28.91 ID:QNDyLPqn
>>594 丸い方を上にして鳥瞰すればあら不思議文字通りの前方後円墳
601 :
デフォルトの名無しさん
2016/07/14(木) 14:47:35.13 ID:nt3rPaXP
>>597 google
「レクトアングル」約 70,800 件 もしかして: レクタングル
「レクタングル」約 3,770,000 件
602 :
デフォルトの名無しさん
2016/07/14(木) 14:50:58.28 ID:QNDyLPqn
大和ハウチュ思い出したは
603 :
デフォルトの名無しさん
2016/07/14(木) 14:53:39.70 ID:B29KeyPb
>>601 それは厳密に発音や表記を考えずに使ってる人が多いってだけだ
プログラム板での話にそんなものもってこられてもな
604 :
デフォルトの名無しさん
2016/07/14(木) 14:58:26.31 ID:B29KeyPb
605 :
デフォルトの名無しさん
2016/07/14(木) 15:35:04.38 ID:SkoSK+Cn
>>599 トアよりタの方が近いよ
発音聞いてレクトアングルの方が近いと感じるなら耳が腐ってる
元の発音と離れていてもいい(そういう外来語は沢山あるし)という主張なら
それはそれで良いんじゃないの?
606 :
デフォルトの名無しさん
2016/07/14(木) 17:19:24.24 ID:B29KeyPb
>>605 だから「発音としてはトアを繋げるが」って言っただろ?
今は表記の話をしてるんだから発音を持ち出すのは論外
脳が腐ってるとでも言えばいいのか
607 :
デフォルトの名無しさん
2016/07/14(木) 18:16:03.32 ID:SkoSK+Cn
>>606 トの方が近いのは認めるわけね。耳が腐ってないようで何よりだ
トアを繋げる? 繋げて読んでもtaにはならんよ? カタカナの読み方を知らないのか? 母音を抜いて読むって意味か?
俺は日本語文書なら矩形と書くから正直どうでも良いのだが、
>>606 は日本語文書でレクトアングルと書いてそれを読むときにどう発音するのか少し興味があるわ
608 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 18:24:20.97 ID:MWHMm7Lx
609 :
デフォルトの名無しさん
2016/07/14(木) 18:28:15.19 ID:B29KeyPb
>>607 発端は発音の話でもないし発音の話するにしてもtaでもないんだが・・・
発音記号調べてみろ
トは実際にはtoじゃなくtの無声音、アはaじゃなく「ae」を1文字にしたような発音
can Iをキャナイと書かずにキャンアイと書くのと一緒
610 :
デフォルトの名無しさん
2016/07/14(木) 18:46:20.12 ID:NIa9yA68
ワンナウトはワンアウト?
611 :
デフォルトの名無しさん
2016/07/14(木) 19:01:59.45 ID:QNDyLPqn
ラインナップ サインナップ クレラップ
612 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 19:40:30.77 ID:5AZo8uCy
disabledなウィンドウで子ウィンドウをマウス操作をできるようにするには どうしたらいいんだよーーー。IME完成のために是非ともだれか協力して下さいよ。
613 :
デフォルトの名無しさん
2016/07/14(木) 19:59:28.71 ID:4EAHdFnp
汎用機->ぼんようき 改竄->かいチュウ
614 :
デフォルトの名無しさん
2016/07/14(木) 20:07:48.69 ID:xdDz/Zrt
enableにすればいいだろ。 それで外見をdisabledな感じにしてやればいいだろ。
615 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 20:10:29.52 ID:5AZo8uCy
>>614 IMEのUIはWS_DISABLED | WS_POPUPスタイルじゃないといけないって、
IME開発の文書に書いてあるんだよー。
616 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 20:16:18.16 ID:5AZo8uCy
MSIMEは確かにWS_DISABLED | WS_POPUPが付いていた。 特殊なスタイルだから、子ウィンドウ操作を可能にするには、特殊な技術が必要みたい。
617 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 20:33:23.84 ID:5AZo8uCy
ATOKさん、僕にこっそり教えてくれないかなあ
618 :
デフォルトの名無しさん
2016/07/14(木) 20:38:10.27 ID:SkoSK+Cn
>>609 カタカナは表音文字なのだから表記を問題にしたら発音が問題になるのは当たり前
カタカナのトの発音はtの無声音ではないしアの発音は発音記号のaeでもない
1語なのだから元の発音に近いレクタングルの方がしっくり来る人の方が多いのは
>>601 を見ても分かる
619 :
デフォルトの名無しさん
2016/07/14(木) 20:43:48.54 ID:B29KeyPb
>>618 主語入れ替えてややこしくすんな
お前が「発音聞いて〜」って話しだしたんだろw
実際の発音ではトは母音まで発音しない
しっくり来てるって勘違いしてる人が多いのは
>>604 を見ても分かる
620 :
デフォルトの名無しさん
2016/07/14(木) 20:48:13.59 ID:4Ps/X1K6
あ・す・ぺ
621 :
デフォルトの名無しさん
2016/07/14(木) 21:16:12.02 ID:SkoSK+Cn
>>619 おまえが先にトアを繋げるがタではないとか発音の話を始めたのだが?
622 :
デフォルトの名無しさん
2016/07/14(木) 21:21:29.74 ID:B29KeyPb
>>621 実際の発音に近づけるためにタを使ってるんだろうから説明したまでで
表記としてタを使うのはおかしいって指摘なんだが
623 :
デフォルトの名無しさん
2016/07/14(木) 21:32:17.14 ID:SkoSK+Cn
>>622 うん、「決してタではない」ってのはrectangleのtaの部分は日本語のタの発音ではないから表記としてタを使うのはおかしいって意味だよね?
俺はその理屈だと日本語のトタを繋げたものの発音とも違うから表記としてトタを使うのはおかしいって理屈になっちまうのでは?
と言ってるだけなのだが
>>604 の辞書表記あたりを掘り下げた方が説得力があると思うよ
何度も言うが俺はカタカナで書かないからどちらでもいい
624 :
デフォルトの名無しさん
2016/07/14(木) 21:36:07.21 ID:SkoSK+Cn
トタじゃないトアだw
625 :
575
2016/07/14(木) 21:51:08.02 ID:DIavJ9e4
あの後、自鯖がリモートで操作できなくなってたので遅くなりましたが、復旧したので続きです。
(ルーターが死んでいた)
結論から言うと、あれから特に何をした記憶はないのですが、何も修正しないままステータス"302"が
返ってくるようになりました。(´・ω・`)
誠にお騒がせしました。
>>578 テストしてみましたが、結果的にHttpSendRequestは使わなくても問題なかったようです。
>>581 ファイル・データの種別を埋め込んだり取り除いたりするのが手間なので、
そこまでする場合はカスタムヘッダーで対応しようと思います。
>>582-585 鯖知識がそう豊富ではないのでよく分かりませんが、結果的にはステータスが取れました。
鯖の設定方法なのかなんなの分かりませんが、たまたまかも知れませんしそもそも
DNS鯖が本当にリダイレクトしているたのかは分からないので、今回はとりあえず切り上げて
この辺にしておきます。
みなさんありがとうございました。
626 :
デフォルトの名無しさん
2016/07/14(木) 23:25:53.49 ID:oNKBkesI
日本語ではシラブル(音節)とモーラ(拍)は一致しない場合がある Rectangleを片仮名で扱うと シラブルは レク-タン-グル モーラは レクト-アングル
627 :
デフォルトの名無しさん
2016/07/14(木) 23:28:12.97 ID:3206dNVB
鯖って呼ぶな。ハゲ。
628 :
デフォルトの名無しさん
2016/07/15(金) 00:47:48.70 ID:eggGPVMd
ID:B29KeyPbはknowとかstructureをクノウとかストルクツレとか表記すんの?
629 :
デフォルトの名無しさん
2016/07/15(金) 00:58:01.91 ID:b9s190if
Virusをウィルスって詠んでるのがいちばん気になる ヴァイラスだろって
630 :
デフォルトの名無しさん
2016/07/15(金) 05:29:34.42 ID:QotUx/3n
>>629 医学の本場ドイツ語読みか,片田舎の米国訛りかの違いというだけだ
631 :
デフォルトの名無しさん
2016/07/15(金) 06:00:42.34 ID:b9s190if
いや、ドイツ語詠みはヴィールスでしょ?
632 :
デフォルトの名無しさん
2016/07/15(金) 07:09:41.56 ID:QVui+Lon
ウイルス ウィルス
633 :
デフォルトの名無しさん
2016/07/15(金) 08:43:40.33 ID:Rb/RCJew
>>623 「トアを繋げる」って部分がうまく伝わっていないって事はわかったけど
どう言い換えればいいのかわからんからお手上げ
Rect の t無声音とAngle の A有声音を繋げるがいいのか
もういいけどw
>>628 なんでw
発音しない部分はカタカナでも表記する必要ないし
そう表記するならRectangleはレクタングレになってしまわないか?
>>629 zeroはどうなるんだろ
634 :
デフォルトの名無しさん
2016/07/15(金) 09:58:27.87 ID:usIPH4QF
トビマストビマス
635 :
デフォルトの名無しさん
2016/07/15(金) 12:54:00.11 ID:Eu6FxgWv
レクトアングル これ以外は俺が気に入らないから認めない(キリッ って事だよね? 結局のところ。
636 :
デフォルトの名無しさん
2016/07/15(金) 13:05:07.34 ID:ru6AcSPK
ルーター
637 :
デフォルトの名無しさん
2016/07/15(金) 14:17:59.85 ID:8P+uiz2j
DLLがexeから利用されたときに DLLファイルが置かれている場所のpathを DLL内の関数自身で調べる方法はありますか? GetModuleなんとかだとexeのpathになってしまうみたいで
638 :
デフォルトの名無しさん
2016/07/15(金) 14:23:09.69 ID:8P+uiz2j
>>629 Windowsはどうみてもウィンドウズなのに
ほとんどの出版物ではウインドウズになってる不思議
639 :
デフォルトの名無しさん
2016/07/15(金) 14:25:09.57 ID:orjbVXED
うぃんどぅず
640 :
デフォルトの名無しさん
2016/07/15(金) 14:29:37.06 ID:orjbVXED
>>637 DLLにはDllMainがあり、そこでインスタンスハンドルを受け取るでしょ?
このハンドルをゲッツモデュールなんとかに渡せばいい。
試してないけど。
641 :
デフォルトの名無しさん
2016/07/15(金) 14:35:14.90 ID:8pBeZ5fQ
char lpHoge[MAX_PATH]; GetModuleFilename(GetModuleHandle("dll名(フルパスを書かない&拡張子なし)"), lpHoge, sizeof(lpHoge));
642 :
デフォルトの名無しさん
2016/07/16(土) 11:22:44.34 ID:Tq5Mh+3Z
>>617 IMEは全然知らないけどMozcはソース公開されているから見てみれば?
643 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/16(土) 15:54:44.86 ID:DpW5llC4
644 :
デフォルトの名無しさん
2016/07/16(土) 16:50:52.70 ID:nf9EfIu5
645 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/16(土) 17:01:30.11 ID:DpW5llC4
>>644 IMEパッドをIMEに組み込まず、別プロセスにしました。
実装方法はソフトキーボードのサンプルを参考にしました。
646 :
デフォルトの名無しさん
2016/07/17(日) 23:10:46.10 ID:RtgpWl6x
質問 Win32 APIに1:1の片方向で良いのでスレッドAからスレッドBに確実にデータを渡すしくみで軽量なやつって何か無い? イメージとしてはITRONのメールボックスとかメッセージキューみたいなやつキボン 軽量さの比較対象としては、イベントとCRITICAL_SECTIONとstd::queue<T>を組み合わせた手製ロジックでデータ渡すのと同等の速度でおk 名前が似てるという意味ではMail slotというのがあったけどもメッセージの到達が保障されない。 パイプはプロセス間通信にも使えるということは何か重いイメージがある スレッドをGUIスレッドにしてデータをウィンドウメッセージに乗せる手も考えられるが、遅そうなのはパイプと同じで 特に理由無く移植性の無い手段をとるのも嫌
647 :
デフォルトの名無しさん
2016/07/17(日) 23:21:22.75 ID:DWSurOc6
メモリマップトファイル 軽量かどうかは知らない
648 :
デフォルトの名無しさん
2016/07/17(日) 23:29:01.11 ID:OO2CesJE
いや意味わからないし 上の説明読んで、なんでそれになるの? なんで?
649 :
デフォルトの名無しさん
2016/07/17(日) 23:31:10.32 ID:OO2CesJE
俺が読んだ限りでは、同一プロセス内で他のスレッドにデータ渡すだけみたいだぞ それも、キューのようなものがお望みと読み取れる なんで???
650 :
デフォルトの名無しさん
2016/07/17(日) 23:42:12.52 ID:SSOeGMhs
651 :
デフォルトの名無しさん
2016/07/17(日) 23:46:33.31 ID:RtgpWl6x
希望としてはメッセージキューみたいなやつなんですが、 「1:1の片方向で良いのでスレッドAからスレッドBに確実にデータを渡すしくみで」ときの 定番手段だったり スゲーすっきり書けるとかチョー軽量であるとかいった圧倒的なアドバンテージがあるやり方なら キューでなくてもおk
652 :
デフォルトの名無しさん
2016/07/17(日) 23:48:46.90 ID:SSOeGMhs
そもそもWin32 APIと言ってながら移植性の無い手段をとるのも嫌ってどういうことだよ?
653 :
デフォルトの名無しさん
2016/07/17(日) 23:49:52.72 ID:RtgpWl6x
いやスマン 「スレッドAからスレッドBに確実にデータを渡す」というのを スレッドを極力待たせずに(軽量に)やるには 結局キューしか有り得ないのかorz
654 :
デフォルトの名無しさん
2016/07/17(日) 23:52:23.11 ID:wQIeqVrk
data_seg
655 :
デフォルトの名無しさん
2016/07/18(月) 00:00:01.33 ID:7oHxM0p4
定番は自分で書いたような手製ロジックなんじゃないか? あとはSendMessageでWM_COPYDATA とかClipboardとかPostThreadMessage使うとか だってさ、Win32 APIに軽量確実簡単なAPIがあるなら普通誰でも使うだろ? でもそうではなく定番とも言える方法が別にあるってことは、 Win32 APIにはそういうものがないか、使い勝手が悪いとかってことだろ
656 :
デフォルトの名無しさん
2016/07/18(月) 02:07:44.74 ID:0GzfAsTo
>>649 確実に渡したいと読んだからキュー形式を無視してそう書いただけ
何ならグローバル変数でも使っとけば()
657 :
デフォルトの名無しさん
2016/07/18(月) 05:44:07.83 ID:GAeyefCK
>>655 同一プロセスならヒープでも大丈夫だろ?
後はアドレスを渡すだけだから、WM_USERで充分な気が。
658 :
デフォルトの名無しさん
2016/07/18(月) 12:04:45.51 ID:DGcnITue
>>656 いやそこじゃなくて、どうして「メモリマップトファイル」なの?
同一プロセスの他スレッドにデータ渡すだけなのに?
確実さと軽量さをとるなら、
>>656 も書いている通り
ヒープでも十分だし、君の書いているグローバル変数の配列でもよいだろう
どこからメモリマップトファイルが出てきたの?
659 :
デフォルトの名無しさん
2016/07/18(月) 12:15:54.77 ID:0GzfAsTo
適当に思いつきで書いたものに必死に噛みつかれてもな 使えない訳でもなし
660 :
デフォルトの名無しさん
2016/07/18(月) 12:42:39.25 ID:zK0e5um3
無責任過ぎワロタ 思いつきの適当な回答を教えんなよ
661 :
デフォルトの名無しさん
2016/07/18(月) 12:46:38.94 ID:DeXLreOM
662 :
デフォルトの名無しさん
2016/07/18(月) 12:47:34.09 ID:DeXLreOM
663 :
デフォルトの名無しさん
2016/07/18(月) 12:50:40.83 ID:DeXLreOM
>>660 いや擁護する訳じゃないが
メモリマップトゥファイルは誰でも真っ先に思いつく罠
それが重いか重くないか吟味するのは君の責任だ
思いついたことを書いて何が悪い
664 :
デフォルトの名無しさん
2016/07/18(月) 13:02:11.38 ID:5MTfu7xY
分かりやすい自演だなぁ
665 :
デフォルトの名無しさん
2016/07/18(月) 13:05:40.41 ID:DeXLreOM
666 :
デフォルトの名無しさん
2016/07/18(月) 13:10:52.35 ID:GAeyefCK
>>663 お題がスレッド間通信なのに、プロセス間通信に使うための機能の使用を思いついたとして、
一瞬でも考えればそれは違うって分かるだろう?重いかどうかじゃない、お題に合ってないんだよ。
667 :
デフォルトの名無しさん
2016/07/18(月) 13:21:41.19 ID:0GzfAsTo
割とマジで自演じゃないなw 一瞬で分かるなら、なおさら必死に噛みつく理由が分からん メモリマップトファイルを使っちゃいけない呪いにかかったのか、親でもころされたのか
668 :
デフォルトの名無しさん
2016/07/18(月) 13:23:17.31 ID:rCzir4eP
>>663 何で家の中で受け渡しするだけなのに郵便使うんだよ
669 :
デフォルトの名無しさん
2016/07/18(月) 13:38:42.97 ID:9GbCcHr5
隣に居る人間に対してでも口頭ではなくメール使ったりするし。。。 メモリマップトファイルが適切かどうかは別として、グローバル変数だって プロセス間スレッド間通信で使うためのものじゃなくても使える訳だから、 メモリマップトファイルを使っちゃいけないルールじみた言動は宗教じみてもいるね。 つか、グローバル変数だって絶対禁止教の人がいる訳で。
670 :
デフォルトの名無しさん
2016/07/18(月) 13:45:48.44 ID:rCzir4eP
>>669 隣にいる人間に対してでもメールってのは後々読み返せるようにだから
671 :
デフォルトの名無しさん
2016/07/18(月) 14:04:51.83 ID:9GbCcHr5
>>670 そこマジレス!?ジョークやシャレに軽く乗っかっただけのつもりだったのだが・・・
別に暑中見舞いでも不幸の手紙でも不倫密告でも送ってもよかろ?
目的や理由とその手段なんて、その人の自由だろって話なんだけどね。
672 :
デフォルトの名無しさん
2016/07/18(月) 14:18:12.67 ID:rCzir4eP
>>671 使いたければ使えばいいが
人に勧めるのは違う
673 :
デフォルトの名無しさん
2016/07/18(月) 14:26:50.11 ID:GAeyefCK
>>669 使っちゃいけないなんて誰が言い出した?
的外れなものを持ち出してくるから、アホか、と言われてるだけなのに、
なんでそんなに必死に擁護するんだろう。
674 :
デフォルトの名無しさん
2016/07/18(月) 14:53:25.84 ID:0GzfAsTo
なんか色々スマンが、俺は最初から最後まで一貫して勧めてるわけではないぞ?思いつきの押しつけなんてしてないぞ? 思いつきとか不適切だっ許せないっ(キリッ つーなら、これにいつまでも構って駄レス伸ばすのに荷担するなよ え?叩きたいだけ? なら仕方ない、どんどんやれ
675 :
デフォルトの名無しさん
2016/07/18(月) 16:24:53.06 ID:9GbCcHr5
>>672 さすがにアレがお勧めされているとは読めなかったよ。
>>673 的外れかどうかの判断を含め、取捨選択は人の自由だよって話の本質は分かって貰えないのだろうか。
ぶっちゃけ、個人的にはグローバル変数を使うのは宗教上NGなので、それも的外れなんだよね。
宗教戦争したい?
676 :
デフォルトの名無しさん
2016/07/18(月) 16:37:48.59 ID:GAeyefCK
不適切な例を出すからバカにされただけなのに、 宗教戦争始めるとか、芯からバカなんだろうなorz
677 :
デフォルトの名無しさん
2016/07/18(月) 16:41:08.98 ID:9NIJsINm
clipboard とか言ってる奴までいるのにメモリーマップトファイルに噛みついてる奴ってなんなんだろう...
678 :
デフォルトの名無しさん
2016/07/18(月) 17:37:38.75 ID:+UjiZUGj
lock free queueを一発で回答出来ないボンクラ揃いだからしょうがない
679 :
デフォルトの名無しさん
2016/07/18(月) 20:07:57.95 ID:pMx2hk2n
lock free queueって。。。 受け側はどうするんだよ?ビジーループでもさせる気か?
680 :
デフォルトの名無しさん
2016/07/18(月) 20:58:21.67 ID:RVsoZVBC
お隣なのになぜメールか、というと送りっぱなしにしたいからなんじゃわ? メールボックスとかメッセージキューとかはそのためのしくみやし… 一方、グローバル変数とか共有メモリとかヒープとかいうのは データの置き場所のお勧めかもしれんが その場所をどう管理するのかについて情報が無い、
681 :
デフォルトの名無しさん
2016/07/18(月) 21:26:03.86 ID:DGcnITue
メールのたとえは、同一プロセスの他スレッドにデータを渡すのに メモリマップトファイルを使うという、回りくどさの例えなんだけど >その場所をどう管理するのかについて情報が無い、 その意味では、メモリーマップトファイルも同じで キューのような仕組みはない 君の言い方で言えば、 (同一プロセスの他スレッドにデータを渡すのに)データの置き場所としてお勧めではないし その場所をどう管理するかについて(キュー的な)情報も無い だから謎なんだよ 仮に、メモリーマップトファイルがキューのような仕組みを持っていたとしたら パフォーマンスのことは置いておいたとして、今回の案件の解決策として 選択肢に挙がるのもわかるんだよ だけど、そんな仕組みはない
682 :
デフォルトの名無しさん
2016/07/18(月) 21:28:11.14 ID:8aWrqcHl
なんか一人必死な奴がいるな割とマジで
683 :
デフォルトの名無しさん
2016/07/18(月) 21:47:02.19 ID:+UjiZUGj
>>679 空だったら、スピンロックでもセマフォでも好きな方法で待てば良い
684 :
デフォルトの名無しさん
2016/07/18(月) 22:13:32.46 ID:8ajA/NS2
言い負かされちゃったからIDころころしてまで なんか一人必死な奴がいるな割とマジで
685 :
デフォルトの名無しさん
2016/07/18(月) 22:24:50.75 ID:AmMtLZjt
分かるわ
686 :
デフォルトの名無しさん
2016/07/18(月) 22:26:35.28 ID:CLkpKdHA
lock free queueはWin32APIじゃないし
687 :
デフォルトの名無しさん
2016/07/18(月) 22:42:43.29 ID:pMx2hk2n
indowsメッセージ使わないんだったら、結局質問者自身が書いてる >イベントとCRITICAL_SECTIONとstd::queue<T>を組み合わせた が一番いいと思うよ イベントやミューテックスはstd::なんとかを使うようにすればポータビリティ も確保できるし
688 :
デフォルトの名無しさん
2016/07/18(月) 23:42:13.68 ID:7oHxM0p4
689 :
デフォルトの名無しさん
2016/07/19(火) 00:04:11.91 ID:HAy25S1i
このスレはたとえ標準ライブラリで出来ることでも あえてwin32apiの使用を勧めなきゃいけないのか…
690 :
デフォルトの名無しさん
2016/07/19(火) 00:20:14.62 ID:hDS08Rg2
691 :
デフォルトの名無しさん
2016/07/19(火) 00:27:33.24 ID:bXwBBqWV
にもかかわらずその質問内で「移植性の無い手段は嫌」とか書いちゃってるからそのツッコミはノーカウント
692 :
デフォルトの名無しさん
2016/07/19(火) 01:12:28.51 ID:VCiUgk/F
質問が狂ってると全てが狂うってことで終了にしないか
693 :
デフォルトの名無しさん
2016/07/19(火) 01:21:12.76 ID:Y9D4yCz+
移植性はwineとReactOSを考慮してるに違いない!
694 :
デフォルトの名無しさん
2016/07/19(火) 01:50:01.67 ID:LK/xSzTK
メモリマップトファイルを親の敵として粘着するスレはここですか?
695 :
デフォルトの名無しさん
2016/07/19(火) 02:35:45.78 ID:mO5KAczv
696 :
デフォルトの名無しさん
2016/07/19(火) 08:10:41.83 ID:pfxIVr9e
697 :
デフォルトの名無しさん
2016/07/19(火) 09:44:02.26 ID:CF9LWmZW
恥ずかしいやつ
698 :
デフォルトの名無しさん
2016/07/19(火) 14:29:43.40 ID:fscdSyYa
祖父母の敵め
699 :
デフォルトの名無しさん
2016/07/19(火) 18:08:41.69 ID:opFqbMDR
真の名の宿敵
700 :
デフォルトの名無しさん
2016/07/21(木) 19:39:03.26 ID:X6luDWDm
今の僕になら本当の敵を倒せるかもしれないはずだ
701 :
デフォルトの名無しさん
2016/07/21(木) 19:45:32.55 ID:zIfC/0DQ
すみません、どなたかご存知でしたら教えて下さい。 HSPでリッチエディットコントロールを使用していて、 [CTRL]+[V]のキーイベントを捕まえたいのですが、 ENM_KEYEVENTS を EM_SETEVENTMASK で処理して、 WM_notify で EN_MSGFILTER をキャッチし、 MSGFILTER の msg メンバ に仮想キーコードが入っている事まで確認しました。 この時、[CTRL]キーが押されているかどうかは どのように判断するのでしょうか? よろしくお願いします。
702 :
デフォルトの名無しさん
2016/07/21(木) 20:00:09.42 ID:X6luDWDm
普通にキーが押されたときのイベントを WM_KEYDOWNとかWM_CHARとかWM_SYSKEYDOWNとかで 捕まえれば良い。
703 :
片山博文MZ ◆T6xkBnTXz7B0
2016/07/21(木) 20:16:33.27 ID:2kJQMeni
GetAsyncKeyState(VK_CONTROL) < 0
704 :
デフォルトの名無しさん
2016/07/21(木) 20:17:01.59 ID:UZ6ROzEF
705 :
デフォルトの名無しさん
2016/07/21(木) 20:42:52.77 ID:zIfC/0DQ
>>702 >>703 >>704 ありがとうございます。不慣れなもので、
WM_KEYDOWN とかは理解できていないのですが、
GetAsyncKeyState という手がありましたね。
EN_MSGFILTER にこだわりすぎていたようです。
ありがとうございました。
706 :
701
2016/07/23(土) 00:50:48.55 ID:CpwLUyh1
連続で聞いてばかりで申し訳ないのですが、 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 だけゼロになります。 クラス名は間違いないはずなのですが、 何かアドバイスを頂けないでしょうか? よろしくお願いします。
707 :
701
2016/07/23(土) 01:01:49.74 ID:CpwLUyh1
書き忘れていました。 ちなみにOSはWindows7です。
708 :
デフォルトの名無しさん
2016/07/23(土) 11:33:28.94 ID:6lYjBmg5
>>706 言語バーは特殊な取り方しないと取れなかったはず
言語バーとハンドルでググれば出てくると思う
709 :
デフォルトの名無しさん
2016/07/23(土) 11:55:38.92 ID:+Jc7SqHC
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) どれでも取れるな
710 :
706
2016/07/23(土) 14:35:08.46 ID:CpwLUyh1
取れない・・・。 でもありがとうございました。
711 :
デフォルトの名無しさん
2016/07/23(土) 14:37:37.61 ID:6lYjBmg5
TF_FloatingLangBar_WndTitle はタスクバーの中にいるときは消える
712 :
デフォルトの名無しさん
2016/07/23(土) 14:40:17.78 ID:6lYjBmg5
713 :
デフォルトの名無しさん
2016/07/24(日) 11:42:42.44 ID:gb9BDOha
一方ロシアは、鉛筆を使った
714 :
デフォルトの名無しさん
2016/07/24(日) 12:09:19.84 ID:wdZTIji9
>>710 割とマジでレスすると
FindWindowExW な関数に char * 渡してたり
FindWindowExA な関数に wchar_t * 渡してたり
すると取れない
実際に char * か wchar_t * かじゃなくて中身の文字列が
715 :
710
2016/07/25(月) 23:42:36.18 ID:1XHx40P1
>>714 ありがとうございました。
ご助言の通りでした。お恥ずかしい。
初心者ですみませんでした。
716 :
デフォルトの名無しさん
2016/07/26(火) 11:41:35.07 ID:As2nHGxN
717 :
デフォルトの名無しさん
2016/07/26(火) 12:55:37.89 ID:88gPJO4Y
>>716 × lpClassName = "Shell_TrayWnd"
○ lpClassName = L"Shell_TrayWnd"
って事じゃないの
FindWindowEx使うならTCHARだろとは思うが
718 :
デフォルトの名無しさん
2016/07/26(火) 15:24:12.33 ID:As2nHGxN
>>717 >最後の hIME だけゼロになります。
ってことだから上の2つはなんで成功してるんだろ
719 :
デフォルトの名無しさん
2016/07/26(火) 16:01:28.49 ID:88gPJO4Y
720 :
デフォルトの名無しさん
2016/07/26(火) 16:22:18.83 ID:As2nHGxN
ひとに物尋ねておいて再現しないコード貼るなってことだ罠
721 :
デフォルトの名無しさん
2016/07/26(火) 16:29:34.64 ID:88gPJO4Y
そういう意味か そうだな
722 :
デフォルトの名無しさん
2016/07/26(火) 16:40:25.26 ID:SrQVLHqo
自演が強く疑われますね
723 :
デフォルトの名無しさん
2016/07/27(水) 04:24:40.28 ID:AcRDCNCg
以下でつまっています。教えてください。 2つウインドウ作っておいて、 2つ目のウインドウの子ウインドウとしてリストボックスを作りました。 この2つ目のウインドウのリストボックスのどれが選択されているかによって、一つ目のウインドウの左クリックの動作を変えたいので、 リストのインデックスを得るために、1つ目のウインドウのプロシージャの case WM_LBUTTONDOWN: の所に、 index=SendMessage(hWnd3,LB_GETCURSEL,NULL,NULL); 〜 と書きましたが、リスト内の何を選択しても、indexになぜか値が入りません。 (たぶん初期値の0のまま?) hWnd3は2つ目のウインドウ内にあるリルトボックスのハンドルです。 コンパイルエラーは無いです。 何かやり方が間違っているのでしょうか? それっぽいワードでググってもよくわかりませんでした。 お願いします。
724 :
デフォルトの名無しさん
2016/07/27(水) 06:59:54.52 ID:uZQmv6/V
725 :
デフォルトの名無しさん
2016/07/27(水) 07:09:55.44 ID:8bp4Q/I5
>>723 hWnd3 はリストボックスを指しているかな?
親なら、GetDlgItem で取得するべし
726 :
723
2016/07/27(水) 09:02:22.97 ID:AcRDCNCg
勘違いに気づきました!
本当にごめんなさい・・・
LB_GETCURSEL と CB_GETCURSEL を勘違いしていました。
自分が作っていたのはリストではなくコンボボックスでした。
お騒がせしました。
>>724 sendmessageは合ってました。
>>725 そんな方法もあるんですね。
それでやってもたしかに動きました。
勉強になりました。
727 :
デフォルトの名無しさん
2016/07/27(水) 15:00:16.07 ID:nl1cCFz0
>自分が作っていたのはリストではなくコンボボックスでした。 病院池
728 :
デフォルトの名無しさん
2016/07/28(木) 06:23:06.44 ID:17Ger5zU
>>705 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.
729 :
デフォルトの名無しさん
2016/07/28(木) 19:08:46.10 ID:O8Vfrh0P
相対論的手法での時間差の検出ですねわかります
730 :
デフォルトの名無しさん
2016/07/28(木) 20:36:50.94 ID:svsTqv0A
Ctrl+マウスボタンとかの同時押しが妙に反応悪くて 心持ちグッとしっかり押さないと誤爆する こういうアプリはたいていGetKsyState使うべきところでAsync使ってる
731 :
デフォルトの名無しさん
2016/07/30(土) 06:12:19.39 ID:OSfj7rnr
質問ですが、 Win32 APIがスレッドセーフかそうでないかって何見ればわかりますか 例えば、同一のPTP_TIMERオブジェクトに対して 複数スレッドからSetThreadpoolTimer()を呼ぶのは安全なのか どうなのか、とか (PTP_TIMERオブジェクトをスレッドごとに持たせれば気にしなくて良い問題でつが
732 :
デフォルトの名無しさん
2016/07/30(土) 08:35:21.11 ID:/DtHQMWG
同一の資源を別スレッドからアクセスして大丈夫なんてケースあるの?
733 :
デフォルトの名無しさん
2016/07/30(土) 08:52:51.28 ID:9HEOOrL7
そのAPIのリファレンスに特別に書かれているもの以外は 基本全部スレッドセーフじゃなかったかな
734 :
デフォルトの名無しさん
2016/07/30(土) 09:14:23.59 ID:RbMYjVy2
>>731 スレッドセーフと言う用語を誤解してると思うが、Win32 APIは全部スレッドセーフ
但し、CreateWindowしたスレッドでなければGetMessage出来ない、と言ったように制限のあるリソースもある
735 :
デフォルトの名無しさん
2016/07/30(土) 09:21:37.15 ID:M4L+hnKH
>>732 例えば CRITICAL_SECTION は大丈夫でないと意味ないだろ
736 :
デフォルトの名無しさん
2016/07/30(土) 19:35:42.57 ID:qgpylzNJ
737 :
デフォルトの名無しさん
2016/07/30(土) 19:41:09.46 ID:+Mfyjjwe
どの変が勘違いか指摘できないと無意味
738 :
デフォルトの名無しさん
2016/08/01(月) 07:11:12.23 ID:ZUhN/k0j
あれに分かるように指摘するのは壮大すぎて難しいし、他の人は分かってるから指摘する必要がない
739 :
デフォルトの名無しさん
2016/08/01(月) 07:54:22.07 ID:bxVY0FqG
2日間必死で検索したけど、見つからなかったんだね。
740 :
デフォルトの名無しさん
2016/08/01(月) 08:09:40.24 ID:ZUhN/k0j
いや俺は他人だが comっぽい実装を持つapiは自前でCoMarshalなんちゃらかんちゃしてあげるか、 排他して用いるように気をつけるかしないとならないじゃん。shell関連とかね。
741 :
デフォルトの名無しさん
2016/08/01(月) 08:19:17.96 ID:rR9gK78k
他人ならそんな必死になることも無い むしろ他人に説明できて初めて理解できていると言える
742 :
デフォルトの名無しさん
2016/08/01(月) 08:40:04.34 ID:uRXdR+1Y
>>740 API がスレッドセーフかどうかと
その API が使うリソースを排他制御しないといけないかどうかは別の話
743 :
デフォルトの名無しさん
2016/08/01(月) 09:05:44.58 ID:ZUhN/k0j
リソースの話ではない。
メソッド呼び出しを同期化するための手段。
>>741 必死になってるわけではなくて「Win32は全てスレッドセーフ」はあまりにも乱暴だからついて。
744 :
デフォルトの名無しさん
2016/08/01(月) 12:55:43.69 ID:+SXwg/r8
>>743 >>740 はどう見てもリソースの話だが?
> 「Win32は全てスレッドセーフ」はあまりにも乱暴だから
ならスレッドセーフでない API を示せばすむ話
745 :
デフォルトの名無しさん
2016/08/01(月) 13:47:23.41 ID:lahy9Ajd
ここなら分かる人がいると思うので質問させて頂きたいのですが、 例えば WinApp1.exe WinApp2.exe の二つのWindows上のアプリがあり、WinApp1.exeのウインドウを WinApp2.exeのウインドウに埋め込む事は可能ですか? 要するにhtmlのiframeで他のページを埋め込む感じです。 ただしソースコードがあるのはWinApp2.exeのみです。1のほうはバイナリのみ です。
746 :
デフォルトの名無しさん
2016/08/01(月) 13:56:59.55 ID:TMg9tIFo
・App1のウィンドウスタイルを変更し、タイトルバーなどを除去する。 ・App1のウィンドウハンドルを取得し、App2上にSetWindowPosを使って張り付かせ続ける。 App1側にタイトルバーを表示したり、それを考慮したウィンドウサイズやクライアントサイズを 使って何か描画したり、ウィンドウ位置やサイズを変更するような機構がないなら、比較的すんなり実現できそうな気はする。
747 :
デフォルトの名無しさん
2016/08/01(月) 14:25:13.31 ID:U+4K15gc
>>745 昔SetParentを使ってやったことあるけど
親になる側のソースしかない場合は???だね
>>746 のようなやり方しかないかも
748 :
デフォルトの名無しさん
2016/08/01(月) 15:52:53.92 ID:lahy9Ajd
>>761 >>762
ありがとうございました。
とても参考になりました。
やはりWin32スレの人はレベルが高いですね。
またよろしくお願いします。
749 :
デフォルトの名無しさん
2016/08/01(月) 16:30:19.20 ID:JXVULl1x
クライアントのHDC取得して そっから逐次BMPまるごと転送してくればいい
750 :
デフォルトの名無しさん
2016/08/01(月) 16:34:37.67 ID:3q+qs35i
マルウェアか? マルウェアだな?
751 :
デフォルトの名無しさん
2016/08/01(月) 18:28:24.75 ID:rR9gK78k
>>749 それはApp1のコントロールアクセスを工夫しないとな
752 :
デフォルトの名無しさん
2016/08/01(月) 18:52:10.28 ID:JXVULl1x
位置だけシフトしたマウスメッセージ送るだけじゃだめなん?
どうせ
>>746 でもキーボードショートカットとかダメそうやし
753 :
デフォルトの名無しさん
2016/08/01(月) 21:29:20.71 ID:YSAWLf5L
ウインドウをまとめてタブ化するアプリがこんなことしてた気がする
754 :
デフォルトの名無しさん
2016/08/01(月) 22:00:15.22 ID:3lZxdv2C
755 :
デフォルトの名無しさん
2016/08/01(月) 22:27:18.04 ID:G87zOVs3
756 :
デフォルトの名無しさん
2016/08/02(火) 00:17:55.32 ID:JwW5OeU6
757 :
デフォルトの名無しさん
2016/08/02(火) 07:23:52.61 ID:FJZ4hdRz
758 :
デフォルトの名無しさん
2016/08/02(火) 08:49:44.46 ID:qrxCcvlk
>>740 それは自分のコードが作成し管理してるオブジェクトを、作成スレッド以外に触らせるためのAPI
理解せずにおまじないのごとく使ってたんだろうな
あわれな底辺
759 :
uy ◆e6.oHu1j.o
2016/08/07(日) 09:45:06.38 ID:PWyfS198
WinAPIの知識量で底辺どうの言ってる奴までいるとか大丈夫かよ ロートルなもの使わざるを得ない時点で負けてんのに
760 :
デフォルトの名無しさん
2016/08/07(日) 10:13:14.64 ID:bbyjljOW
底辺なんて表現が日常的に出てくる職場って、かわいそう
761 :
デフォルトの名無しさん
2016/08/07(日) 10:27:49.88 ID:zBYc/KkC
数学教師激怒
762 :
デフォルトの名無しさん
2016/08/07(日) 13:05:30.15 ID:sg2m+nAp
それを言うなら算数教諭だろうな
763 :
デフォルトの名無しさん
2016/08/09(火) 08:38:11.99 ID:7b7VJDdn
江戸っ子激怒
764 :
デフォルトの名無しさん
2016/08/09(火) 14:34:00.24 ID:n5pitoha
質問です DirectXとかOpenGLとかのライブラリって いちいちステートマシンの状態セットみたいなのがずらずら並ぶんですが ハードウェアにレジスタセットするみたいなドライバばかりなんですか?
765 :
デフォルトの名無しさん
2016/08/09(火) 19:58:47.64 ID:GFJow9Sf
一昔前に流行った オブジェクト指向というやつです
766 :
デフォルトの名無しさん
2016/08/10(水) 19:36:30.32 ID:IsHQZY3F
GPU にプログラム的な指示して後はお任せ という方向にばかり進化してるから
767 :
デフォルトの名無しさん
2016/08/11(木) 11:56:33.25 ID:v2n9djjr
object指向じゃなくてvertex指向だな
768 :
デフォルトの名無しさん
2016/08/14(日) 03:26:23.22 ID:MmvWSAs3
769 :
デフォルトの名無しさん
2016/08/14(日) 17:49:29.23 ID:j6bpKiBS
VRAMに直接書き込み
770 :
デフォルトの名無しさん
2016/08/15(月) 22:57:42.57 ID:wycrF0RU
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 ご教授お願いします。
771 :
デフォルトの名無しさん
2016/08/15(月) 23:01:49.24 ID:iamh6a7h
info.lpVerb = L゙runas゙ ;
772 :
デフォルトの名無しさん
2016/08/15(月) 23:16:47.36 ID:wycrF0RU
>>771 回答ありがとうございます。
ビルドして試しましたが、実機では、サービスが停止していないようでした。
コンソール画面では停止したとは出ていました。
外部呼出しでうまくいけばよかったのですが、これからOpenSCManagerあたり調べてみます。
UAC周りで悪さしているのかなぁ。
773 :
デフォルトの名無しさん
2016/08/16(火) 00:48:14.20 ID:Zc5ax7h8
ShellExecuteExでファイルのプロパティダイアログを出すのですが 今どきの広いモニタですと、呼び出したウインドウの上に重なるような位置に表示してくれないと面倒です 引数として親ウインドウのハンドルを渡しているので、 そのくらいやってくれそうな気がするのですが SHELLEXECUTEINFOに設定できるパラメータを見渡しても、それらしいものは無いようなので 自前でダイアログを動かそうかと考えていますが 本当にShellExecuteExの機能として、プロパティダイアログを親ウインドウの上に出すことはできないのでしょうか?
774 :
デフォルトの名無しさん
2016/08/16(火) 09:55:10.07 ID:lvyZIFRY
Window の機能じゃなくて Shell の機能だからそういう細かいのは無い
775 :
デフォルトの名無しさん
2016/08/16(火) 11:24:39.96 ID:Zc5ax7h8
そうですか ありがとうございました!
776 :
デフォルトの名無しさん
2016/08/25(木) 13:01:13.59 ID:HVWLzPcg
プロセスハンドルからプロセスIDを取得するのってどうやるん? ハンドル得る時に使ったidを覚えておくしかない?
777 :
デフォルトの名無しさん
2016/08/25(木) 13:12:40.83 ID:EwnmxDlV
ハンドルからIDならGetProcessIdが使えるだろ?
778 :
デフォルトの名無しさん
2016/08/25(木) 15:14:16.99 ID:HVWLzPcg
OpenProcess関連ばっかり調べてたごめんありがとう
779 :
デフォルトの名無しさん
2016/08/29(月) 18:06:09.51 ID:zb9cEIRR
C++初心者スレから紹介されてやってきました。 よろしくお願いします。 その再掲です。 1つのフォームウィンドウをメインフォームとし、 他のフォームはWndParentをそのメインフォームとして子フォームを作成するアプリを作っています。 いま、メインフォームを含めた全フォームをEnableWindowでDisableにし、 新しい子フォームを1つだけ表示させます。要するにモーダルなフォームです。 この状態でアプリケーションを非アクティブにします。 そして、メインフォームをクリックします。 すると、WM_ACTIVATEAPPが送られ、モーダルな子フォームがアクティブになります。 ここまではいいのですが アプリケーションが非アクティブで、Enableでない別の子フォームをクリックしても WM_ACTIVATEAPPや、WM_WINDOWPOSCHANGINGが送られてこず まったくアクティブになりません。Spy++で見たところ、WM_SERCURSORしか 送られてきてませんでした。子フォームのクリックではメインフォームにも何も届きません。 どうやったらDisableされた子フォームをクリックするとアプリケーションが アクティブになるようになるのでしょうか。 よろしくお願いします。
780 :
デフォルトの名無しさん
2016/08/29(月) 18:26:20.41 ID:sMQdCbqN
クリックしても反応しなくなるようにするためのEnableWindowなのよモルダー フォームそのものはクリックに反応して欲しければ、フォームにEnableWindowを 使わず、フォーム内の操作して欲しくないコントロールをEnableWindowするか 他の工夫をする必要があるわね
781 :
デフォルトの名無しさん
2016/08/29(月) 18:33:18.40 ID:zb9cEIRR
そうですか・・・ でも、これでちゃんとアクティブにできるプログラムもあるんです。 エンバカデロのC++ BuilderやDelphiです。 やつらはサイズ0のTApplicationの見えないウィンドウを親ウィンドウとして 同様のコードでちゃんと動作します。 実はソースコードを他の人と共有する必要があって Delphiじゃまずいかなと、VC++にまるごと移植したんです。 そのときにTApplicationだと、最小化したときにタスクバーにいれられないため Hideする仕様になってたのがちょっといやで、 メインフォームを本当のメインフォームにするようにしたんですが、 それが原因か、それとも少し省略したせいか、細かいところで挙動が違います。 TApplicationはRestoreTopMostsとかいう関数で常にトップにあったから そのへんかなと思うのですが・・・・ まあ仕方ないのかなぁ。
782 :
デフォルトの名無しさん
2016/08/29(月) 19:30:24.87 ID:NKz4PvZo
>それが原因か、それとも少し省略したせいか、細かいところで挙動が違います。 そりゃかわるわな
783 :
デフォルトの名無しさん
2016/08/29(月) 19:40:13.25 ID:553LWAbc
>>781 それは同様のコードでちゃんと動作するとは言わんだろ
VC++でもダミーウインドウを作成するか
EnableWindowで無効にするのではなくて
専用のウインドウプロシージャ(特定の動作しか受け付けない)を作ってそれに切り替える仕様にするとか
784 :
デフォルトの名無しさん
2016/08/29(月) 20:10:51.60 ID:zb9cEIRR
突っ込むのはそこ!? そうじゃなくて、同じようにEnableWindowでDisableしても なにかしらの方法でアクティブにできるプログラムもあるよっていいたかったんだ。 私がもっと詳しくて、TApplicationの挙動をわかってれば 不具合部分を実装しなおすんだけど、いまいち何をやってるのかわからなくて 直しようがない・・・てのが本当のところです。 なにせ、ダミーウィンドウを作ったところで、どうやったらそいつからウィンドウを アクティブにできるかわからないので。。。 最悪、メインフォームからも(子フォームになるから)アクティブにできなくなるかもしれない。 TApplicationのWndProcを見ても、DisableされたWindowにWM_WINDOWPOSCHANGINGとWM_ACTIVATEAPPをポストしてる部分がわからない。さっぱりです。
785 :
デフォルトの名無しさん
2016/08/29(月) 20:11:19.06 ID:HNdG8txv
WM_SERCURSORが送られて来るんなら そのメッセージハンドルする時に EnableWindowすればいいんでは? マウスのボタンの状態を取得して押されている時は クリックしたとか判断するフラグ立てて。
786 :
デフォルトの名無しさん
2016/08/29(月) 20:26:10.03 ID:zb9cEIRR
やっぱそうだよね。WM_SETCURSORが WM_LBUTTONDOWNとかもパラメータに持ってるみたいなんで そこでWM_ACTIVATEAPPを現在のモーダルウィンドウに送ってやるのがいいかと思いました。動くかわからないけど。 TCustomFormのShowModalでは WindowList := DisableTaskWindows(0); 全ウィンドウを無効化。TApplicationウィンドウを含めて。 で Show; だから、DelphiのVCLのやり方はやっぱりわからない。 とりあえずWM_SETCURSORで、WM_LBUTTONDOWNみたいなのがきたら 自身がDisableされてたらモーダルウィンドウにポストする、でやってみます。
787 :
デフォルトの名無しさん
2016/08/29(月) 20:31:57.49 ID:sMQdCbqN
TApplicationやTCustomFormの実装がどうなってるのか知らないけど、 EnableWindowするとそのウィンドウは操作不能になるのはWin32APIの仕様。 そこんとこUI的に不細工だから、TApplicationとかでは何らかの工夫をしてるんじゃないかしら?
788 :
デフォルトの名無しさん
2016/08/29(月) 20:33:41.85 ID:zb9cEIRR
そうだね、きっとうまいことやってるんだと思う。 とりあえず、この方法でアクティブにならなければ、 最悪アクティブなスレッドにアタッチして無理やり入力フォーカスを奪うという 手段も用意されている(この前知った)のでこれでいきます。
789 :
デフォルトの名無しさん
2016/08/29(月) 22:35:39.79 ID:zb9cEIRR
WM_SETCURSORで無事うまくいきました。 ありがとうございました。
790 :
デフォルトの名無しさん
2016/08/29(月) 22:48:55.90 ID:zcllQv4V
EnableWindowしてもリターンキーやエスケープキー押すときいてしまう不思議
791 :
デフォルトの名無しさん
2016/08/30(火) 11:13:59.38 ID:wDZo+k9K
thread の一時停止ってどうやるん?
792 :
片山博文MZ ◆T6xkBnTXz7B0
2016/08/30(火) 12:23:52.68 ID:38hwA1kK
793 :
デフォルトの名無しさん
2016/08/30(火) 14:53:56.50 ID:XkAkY/BL
SuperHawkIII
794 :
デフォルトの名無しさん
2016/08/30(火) 15:10:19.20 ID:8eGP8u09
スローなブギにしてくれ
795 :
デフォルトの名無しさん
2016/08/30(火) 23:43:32.45 ID:Un8GLDK5
遠い地平線が消えて、 ふかぶかとした夜の闇に心を休める時、 はるか雲海の上を音もなく流れ去る気流は、 たゆみない宇宙の営みを告げています。 満天の星をいただく、はてしない光の海を ゆたかに流れゆく風に心を開けば、 きらめく星座の物語も聞こえてくる、 夜の静寂の、なんと饒舌なことでしょうか。 光と影の境に消えていったはるかな地平線も 瞼に浮かんでまいります。 日本航空があなたにお送りする音楽の定期便 ジェットストリーム 皆様の夜間飛行のお供をするパイロットは私、城達也です
796 :
デフォルトの名無しさん
2016/08/31(水) 01:28:30.78 ID:5rt51UxE
>>792 みんなー、世界初!!「体液取引所」ができたお [転載禁止]c2ch.net
http://hayabusa3.2ch.net/test/read.cgi/news4viptasu/1430115959/ 1 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:25:59.04 ID:VhXmVBOx0
「体液取引所」
http://katahiromz.esy.es/taieki/ 試してみてね。。。ご感想などよろしく。。。
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
体液取引所は、非技術的問題で閉鎖しました。大変申し訳ありません。
797 :
デフォルトの名無しさん
2016/08/31(水) 03:49:27.75 ID:2/Bxm7SJ
【社会】キリン、「氷結」発売中止 原料果汁に偽装の可能性 [無断転載禁止]・2ch.net
798 :
デフォルトの名無しさん
2016/08/31(水) 03:55:15.79 ID:2/Bxm7SJ
うーたん @xuph933v 1分 食べすぎ注意! 8/31 3:52 Re RT ☆ 詳細
799 :
デフォルトの名無しさん
2016/08/31(水) 04:02:01.47 ID:2/Bxm7SJ
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
800 :
デフォルトの名無しさん
2016/08/31(水) 04:11:06.94 ID:2/Bxm7SJ
┌──────────────────┐ │ │ │ しばらく空腹のまま お待ち下さい。 .... │ │ ノ⌒ヽ │ │ (( ( ○ ), )) │ │ (⌒⌒) ヽ__メ´ │ │ |__| _____ 彡" │ │ (^ω^)ノ━ヽ___ノ'''゙ ッパ.. │ │ ノ/ :/ │ │ ノ ̄ゝ │ │ Now Cooking ... │ └──────────────────┘
801 :
デフォルトの名無しさん
2016/08/31(水) 10:09:26.11 ID:aGvvWmav
802 :
デフォルトの名無しさん
2016/08/31(水) 17:22:43.45 ID:ZZEqTkFc
803 :
デフォルトの名無しさん
2016/08/31(水) 18:07:41.76 ID:JrJNK2gn
>>802 ループ判定に使ってるフラグにvolatileつけてみて
volatile bool ・・・ね
804 :
デフォルトの名無しさん
2016/08/31(水) 18:18:36.04 ID:ZZEqTkFc
805 :
デフォルトの名無しさん
2016/08/31(水) 18:27:20.50 ID:4tIFiDjY
ShowWindowじゃなくてShowWindowAsyncだとどう?
806 :
デフォルトの名無しさん
2016/08/31(水) 18:34:13.09 ID:ZZEqTkFc
>>805 ちゃんと終了しました
ありがとうございます
807 :
デフォルトの名無しさん
2016/09/01(木) 06:39:35.08 ID:NXhRk3Fv
if (GetAsyncKeyState(VK_ESCAPE) & 0x8000) を削除してTerminateThreadだけにすればいい。
808 :
デフォルトの名無しさん
2016/09/01(木) 18:54:39.95 ID:fjADWK/0
CreateWindow で SysDateTimePick32 と DTS_TIMEFORMAT を指定して時間コントロールを作成、 DTM_SETFORMAT で "hh:mm" を指定して時分のみ(秒は表示しない)スタイルで時間指定できるようにしています。 このコントロールをカーソルキーの上下や、スピンコントロールの上下の操作で分の操作をする際は +10ずつ増減させたいのですが、どうすれば実現できるでしょうか?
809 :
デフォルトの名無しさん
2016/09/02(金) 22:11:24.25 ID:U/mvZpMk
矢印キーを押したら+10して表示を更新するようにすればよい。 スピンコントロールも同様。
810 :
808
2016/09/03(土) 19:09:55.84 ID:EfpbXZif
811 :
デフォルトの名無しさん
2016/09/05(月) 11:33:40.30 ID:mpmtDfhF
812 :
デフォルトの名無しさん
2016/09/06(火) 20:34:00.68 ID:4l7E9vnw
FreeResourceやUnLockResource見たら必要無いって出てくるけど リソース読み込んだらプロセスが終了するまで占領し続けたりしないん?
813 :
デフォルトの名無しさん
2016/09/07(水) 14:56:31.98 ID:8SeVjemL
そうだけどそのリソースはexeファイル内の特定の部分指してるだけだからなあ
814 :
デフォルトの名無しさん
2016/09/07(水) 15:03:50.90 ID:YSZpbVen
Lockって名前付いててもロックしてる訳じゃなくてマウントしてるだけみたいな
815 :
デフォルトの名無しさん
2016/09/07(水) 15:03:53.47 ID:zaGYBHu2
Win16の頃はメモリを有効活用するためにリソースは移動可能としていた 固定するのがLockResource、使い終わったらアンロックする事でメモリを有効に使える
816 :
デフォルトの名無しさん
2016/09/10(土) 13:11:49.37 ID:Jm2YrF8N
20年以上前の古い制約の残骸やで
817 :
デフォルトの名無しさん
2016/09/10(土) 13:20:40.85 ID:TxiqjBPh
今WIN16で動いているアプリってあるんですか?
818 :
デフォルトの名無しさん
2016/09/10(土) 13:42:10.96 ID:3gGPay5O
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を見ても大雑把な説明でさっぱりです;;
819 :
デフォルトの名無しさん
2016/09/10(土) 13:48:41.54 ID:QUVRyXDh
820 :
デフォルトの名無しさん
2016/09/10(土) 13:49:11.68 ID:QUVRyXDh
821 :
818
2016/09/11(日) 00:52:31.20 ID:80N4ZclY
>>820 ありがとです。GPLなどの縛りがないなら検討してみます。
822 :
デフォルトの名無しさん
2016/09/11(日) 15:50:50.25 ID:+/tFZym3
すいません。 アプリケーションが落ちたことを知るメッセージか何かあったと思うのですが 教えていただけないでしょうか。
823 :
デフォルトの名無しさん
2016/09/11(日) 16:09:52.36 ID:zF4qt1T7
824 :
デフォルトの名無しさん
2016/09/11(日) 18:45:58.69 ID:+/tFZym3
>>823 なるほど。
ちょっと調べてみます。
ありがとです。
825 :
デフォルトの名無しさん
2016/09/12(月) 13:43:51.12 ID:uadDl1bC
atexit() は呼ばれないのかな
826 :
デフォルトの名無しさん
2016/09/12(月) 23:11:45.62 ID:01Pz4EoL
>>825 いきなり落ちるような状況だと呼ばれないでしょ
827 :
デフォルトの名無しさん
2016/09/12(月) 23:26:49.38 ID:Gdi/DDue
そんなものはバンドルされてないよ
828 :
デフォルトの名無しさん
2016/09/13(火) 21:38:12.97 ID:zadSVrtv
Windows10上でVisual Studio 2015でWin32アプリを作っているんだけど、 SetWindowRgn()を呼ぶと、タイトルバーや最大最小化ボタンなんかの ウインドウの外見がWindowsXPみたいになるんだけど、これって仕様? SetWindowRgn()をコメントアウトすると、他のアプリと同様にフラット なビジュアルになるんだけど、なぜそうなるのかが良くわからない。 解決方法とかあるのかな?
829 :
デフォルトの名無しさん
2016/09/13(火) 21:44:09.67 ID:zadSVrtv
XPじゃなくて、Windows95だった。訂正します。
830 :
デフォルトの名無しさん
2016/09/13(火) 22:11:22.82 ID:ATVfKx2c
Windows2000だろ
831 :
デフォルトの名無しさん
2016/09/14(水) 08:45:47.11 ID:7JW5y0cu
2000といえばそうかな。どうもこれはGDIとDWMが絡む問題っぽい。 リージョンを設定すると、内部的にGDIに強制されてしまうようだ。 それに伴って、ビジュアルも変わるみたい。解決策はなさそう なので、透明色とかで対応するか・・・。
832 :
デフォルトの名無しさん
2016/09/14(水) 09:10:14.24 ID:XNSEb5OG
リージョンなんか忘れろ。 2000以降はlayered windowを使う。
833 :
デフォルトの名無しさん
2016/09/14(水) 10:25:53.22 ID:hCerG0dU
8.x以降はDirect Compositionやね
834 :
デフォルトの名無しさん
2016/09/14(水) 14:22:37.20 ID:iWIT7eZb
>>828 visualstyleなんたらとか言う属性を
設定するんじゃあないか?
835 :
デフォルトの名無しさん
2016/09/14(水) 18:34:58.98 ID:XNPp97JV
manife
836 :
デフォルトの名無しさん
2016/09/16(金) 03:00:17.08 ID:lT9MgRBJ
今日も雑魚しかいねーな
837 :
デフォルトの名無しさん
2016/09/17(土) 14:46:30.83 ID:maY60Dp3
クラシックスタイル対策 #pragma comment(linker,"/manifestdependency:\"type='win32' \ name='Microsoft.Windows.Common-Controls' \ version='6.0.0.0' \ processorArchitecture='x86' \ publicKeyToken='6595b64144ccf1df' \ language='*'\"")
838 :
デフォルトの名無しさん
2016/09/17(土) 15:12:59.91 ID:UZZ3Nfx8
#defineでも使ってprocessorArchitectureを変えたら対応できるな x86 = 32BitのX86系CPU ia64 = Intel64BitのIA64系CPU amd64 = AMD64BitのX64系CPU * = その他のCPU
839 :
デフォルトの名無しさん
2016/09/17(土) 22:23:10.28 ID:dDTyJFeK
>>836 その日の書き込みはあなただけなのでそういうことです
840 :
デフォルトの名無しさん
2016/09/18(日) 20:23:43.58 ID:epT5qit0
RichEditコントロールにユニコード文字を含んだ文字列をEM_SETTEXTEXで追加したら文字のフォントが変わってしまう EM_STREAMINでも同じ現象が起こる これってどうやったらフォントがRichEditに設定したフォント(等幅フォント)のまま追加できる? 追加した文字列(仮にTest ? Test)だけフォントが変わる ?はハートとかね 追加後にフォントを再設定してもハートだけ文字幅が他とは違うし UNDOにフォント設定も含まれるから今度はそれを防ぐ方法が無くて詰んでる ここの人ならどうやって解決する? ちなみにRichEdit内で「Test ? Test」を入力してそれをコピペ(WM_COPY WM_PASTE)した時の動作が理想
841 :
デフォルトの名無しさん
2016/09/18(日) 23:37:11.23 ID:1b9LKm5P
842 :
デフォルトの名無しさん
2016/09/19(月) 00:31:56.15 ID:pgxpd79F
コピペシミュ
843 :
デフォルトの名無しさん
2016/09/19(月) 00:35:10.37 ID:pgxpd79F
入力しみゅ
844 :
デフォルトの名無しさん
2016/09/19(月) 08:45:50.92 ID:nr8fG4n4
845 :
デフォルトの名無しさん
2016/09/19(月) 11:14:17.03 ID:d/dsjAXw
>>840 俺も少し困ってるけど長らく放置してる 多分同じ現象だろう
EM_SETLANGOPTIONS と IMF_DUALFONT を使って直せるらしいんだが
俺のは上手く行かなかった
846 :
デフォルトの名無しさん
2016/09/19(月) 11:17:24.74 ID:d/dsjAXw
いや違うのか 最初からその文字を持ってるフォントを選んでおけばそれで済むんじゃないの?
847 :
デフォルトの名無しさん
2016/09/19(月) 11:59:01.12 ID:nr8fG4n4
>>846 1, 手入力
2, 同じコントロール内でWM_COPY, WM_PASTE
3, SETTEXTEX, EM_STREAMIN
等幅フォントに一番最初に設定
→ 1, 問題無い (この時点でフォント設定も問題無い)
→ 2, 問題無い
→ 3, フォントがおかしくなる (UNICODE指定もしてある)
同じフォント設定にしたメモ張で同じ文字列を入力してCtrl+C
→RichEditへCtrl+V 3と同じ問題発生
こんな感じ
848 :
デフォルトの名無しさん
2016/09/19(月) 12:01:55.23 ID:nr8fG4n4
あぁごめん フォント再指定後ってのは SETTEXTEX, EM_STREAMINでおかしくなった奴に対して指定したらこうなるって意味ね
849 :
デフォルトの名無しさん
2016/09/19(月) 17:04:20.90 ID:zU29XWLW
2、3年前は荒らしも多かったけど、まだまともな回答者も多かった。
今は荒らしもまともな回答者もいなくなって、
>>842 ,
>>845 みたいな気色の悪い奴が自己顕示欲を満たすだけの場になってしまった。
どうしてこうなった。
850 :
デフォルトの名無しさん
2016/09/19(月) 17:17:06.88 ID:K5hghQdn
>>849 >どうしてこうなった。
自己顕示欲を満たすだけの気色の悪い
>>849 みたいなのがいるからじゃね
851 :
デフォルトの名無しさん
2016/09/19(月) 17:26:33.45 ID:x6oYh1MF
じゃあウザいだけです時代に戻そうか
852 :
デフォルトの名無しさん
2016/09/19(月) 17:43:22.23 ID:VrFlYlJN
Win32APIが枯れていて、不具合が発生していない。 使用ユーザーも熟知していて、質問する必要がない。 理想的な状態?
853 :
デフォルトの名無しさん
2016/09/19(月) 18:57:36.68 ID:4df2MR9Z
倦怠期
854 :
デフォルトの名無しさん
2016/09/20(火) 01:18:12.66 ID:0Myqw3Nm
>>851 そこだけ戻したところでまともな回答者はもう戻ってこないだろw
855 :
デフォルトの名無しさん
2016/09/20(火) 08:34:28.90 ID:KnjyA1F8
>>848 こっちでも再現できたわ
Terminal 14が画像と同じになった
他の等幅フォントでも再現されたけど
MS ゴシック、MS 明朝なら大丈夫みたい
メモ帳では再現されないのは謎だけどな
856 :
デフォルトの名無しさん
2016/09/21(水) 18:38:12.75 ID:2/iKekT4
>メモ帳では再現されないのは謎だけどな メモ帳のソースコードに書いてある
857 :
デフォルトの名無しさん
2016/09/21(水) 20:53:42.44 ID:WRzjrZbQ
>>840 c#使い始めたら便利なのでもうwin32でgui作成する気にはなれないんですが今でもwin32使う理由は何?
858 :
デフォルトの名無しさん
2016/09/21(水) 21:03:14.46 ID:O8zsEtDk
GetMessageループで小細工をしたい時など C#でGetMessageループにフック噛ます方法があるなら教えてよ とても興味深い
859 :
デフォルトの名無しさん
2016/09/21(水) 22:56:28.21 ID:SIQDhLUp
>>858 小細工って、ウインドウププロージャの書き換えではできないこと?
860 :
デフォルトの名無しさん
2016/09/21(水) 23:19:35.96 ID:O8zsEtDk
GetMessageじゃなくてPeekMessageにするとか TranslateMessageの呼び出しを止めるとかはウィンドウプロシージャからでは不可能
861 :
デフォルトの名無しさん
2016/09/21(水) 23:43:59.21 ID:VY6IcR6g
862 :
デフォルトの名無しさん
2016/09/21(水) 23:46:34.12 ID:YZL270gC
メインとループなんて毎回コピペだが、 いざとなったら書き換えられるという安心感がある そして永遠に書き換えない
863 :
デフォルトの名無しさん
2016/09/22(木) 02:22:17.57 ID:BRx1Bv8g
win32でGuiが大変とか言ってる人ってリソースファイル使わずに作ろうとしてるとか?
864 :
デフォルトの名無しさん
2016/09/22(木) 02:24:52.16 ID:ds9UeOri
865 :
デフォルトの名無しさん
2016/09/22(木) 02:30:08.84 ID:saKRBDTg
>>863 誰が大変なんて言った?
情報が多い分、楽だよな
866 :
デフォルトの名無しさん
2016/09/22(木) 02:39:21.74 ID:mitwVgUL
C#が便利でwin32に戻れないって、かつてVBやMFC使いも言ってましたね
867 :
デフォルトの名無しさん
2016/09/22(木) 05:33:10.99 ID:gyLxLatL
かつてのVBはおまじない宣言してAPI叩かないと使い物にならなかったわけだが
868 :
デフォルトの名無しさん
2016/09/22(木) 06:00:54.98 ID:saKRBDTg
>>866 そうか?
お前さんだけじゃね?
c#の何が便利なの
869 :
デフォルトの名無しさん
2016/09/22(木) 09:08:20.92 ID:enqfOrPh
>>857 win32使ってないのにこのスレにいる理由は何?
便利(win32は難しすぎた)だろw
870 :
デフォルトの名無しさん
2016/09/22(木) 11:54:27.95 ID:wKjxcHVF
>c#使い始めたら便利なのでも 使い始める前まではWin32API使っていたんだろ >今でもwin32使う理由は何? C#を使い始めていないということだ
871 :
デフォルトの名無しさん
2016/09/22(木) 12:50:29.63 ID:ad+iWZXx
>>857 Win32でリソーススクリプトを直叩きしてGUIを作るの楽しいよ
あとWin32API使える俺スゲーと思えるとかしょーもないアホな理由
と言いつつ最近はGUIのアプリやツールの制作ではC#ばかり使ってるわ
やっぱ動けばいいものをサクッと手早く作りたいときはC#だな
872 :
デフォルトの名無しさん
2016/09/22(木) 13:06:17.33 ID:enqfOrPh
メインとループ毎回コピペって プロジェクト作成時に最少構成自動で作成するようにしてないんか? VC++Expressですらできるのに
873 :
デフォルトの名無しさん
2016/09/22(木) 13:36:00.69 ID:ad+iWZXx
>>872 俺は.NETのFormクラス風のWndクラス作ってあるからそれ使う
そのほかバージョン情報クラスとかいろいろ簡単に使えるクラスを作って置いてる
874 :
デフォルトの名無しさん
2016/09/22(木) 14:14:25.34 ID:sh3eyHdy
俺はむしろ反対で 中途半端なラップなぞ要らないという判断 定型文を登録しておいて いつでもクリップボードに転送できる系のアプリ とか使うとよいと思うよ
875 :
デフォルトの名無しさん
2016/09/22(木) 15:03:14.08 ID:Ob4qBdWH
>プロジェクト作成時に最少構成自動で作成 コピペでも対して手間変わらんし VS/VC++でGUIからlibpathとかいじるの面倒だし
876 :
デフォルトの名無しさん
2016/09/22(木) 15:17:17.17 ID:enqfOrPh
>>875 いやプロジェクト作成時に選択するテンプレート自体を自分で作るから
path変更すらいらん
877 :
デフォルトの名無しさん
2016/09/22(木) 16:40:58.43 ID:c0uylKlH
>>870 C#でもクラスライブラリが用意されていない機能で必要ならWin32API使うぞ。
GUI作るだけならほとんど出番はないけど。
878 :
デフォルトの名無しさん
2016/09/22(木) 19:59:29.23 ID:jmlT4pdX
カスタムウィザードって作れなかったか?
879 :
デフォルトの名無しさん
2016/09/23(金) 08:44:30.83 ID:hdVg5emL
>>878 それはExpressじゃ無理だな
Expressは自分でフォルダ構成してテンプレート保存場所に配置する必要がある
言い換えればExpressでも自分でやれば後はカスタムウィザードみたいな事ができる
880 :
デフォルトの名無しさん
2016/09/23(金) 11:49:16.53 ID:Bla+oVr/
>>861 俺の質問に答えたら答えてやるよ
C#でできるのか?できないのか?
881 :
デフォルトの名無しさん
2016/09/23(金) 11:51:09.00 ID:Bla+oVr/
Pythonスレにも書いたけど、リモートプロセスに侵入してウィンドウをサブクラス化するなんてのも C#ではやれない芸当でしょうね
882 :
デフォルトの名無しさん
2016/09/23(金) 13:08:18.98 ID:rYmTtd8q
883 :
デフォルトの名無しさん
2016/09/23(金) 13:28:57.30 ID:cTcmD9zg
C#ちゅーかどのGUIフレームワーク使うのかにもよるんじゃね WinFormsならMFCライクな挙動のApplication.Idleがあるからその中で PeekMessage呼び出しつつアクティブなゲームループ回したりとか
884 :
デフォルトの名無しさん
2016/09/23(金) 14:32:50.11 ID:1AYxo37g
>>882 ↑
他人が作ったものをドヤ顔で「出来るけど」ってwwww
885 :
デフォルトの名無しさん
2016/09/23(金) 14:39:27.60 ID:laz5P8lZ
886 :
デフォルトの名無しさん
2016/09/23(金) 14:50:27.96 ID:e3KOFFwu
887 :
デフォルトの名無しさん
2016/09/23(金) 15:23:09.32 ID:laz5P8lZ
>C#ではやれない芸当でしょうね
と言ってる
>>881 に対してドヤ顔で
>出来るけど。
ってるじゃん
888 :
デフォルトの名無しさん
2016/09/23(金) 18:14:16.83 ID:MUYZ+xZC
なんだ? Win32板がC#板になってる。 まあいいけど。
889 :
デフォルトの名無しさん
2016/09/23(金) 18:14:40.82 ID:MUYZ+xZC
板じゃなくってスレだった、すまん。
890 :
デフォルトの名無しさん
2016/09/23(金) 20:00:27.86 ID:laz5P8lZ
ID:rYmTtd8qは逃亡?
891 :
デフォルトの名無しさん
2016/09/23(金) 20:03:46.92 ID:GYZZDVTI
>>880 WinFormsのメッセージループはそもそもC#で実装されてるので、同じことを実装すればできるはず
それをやる意味があるかは知らん
>>881 C#だけではおそらくできない(プロセスメモリに直に機械語を書き込むとかならできるかもしれんが・・・)
C++/CLIを経由するか、C言語でDLLを書けばできる
C#は高レイヤー用だから、低レイヤーな部分はC言語が必要になってくる
ただ、低レイヤーを扱うソフトでもGUI部分はC#を使ったほうが楽な場合も多いと思う
892 :
デフォルトの名無しさん
2016/09/23(金) 21:06:06.73 ID:rYmTtd8q
>>885 ,886
ご指摘通り、それ全部Nativeだった。orz
C#で直接他プロセスをフックするコードは書けないので、Nativeコードを経由する必要があるけど(
>>891 )、
その部分で上記サンプルコードで作るDLLが使用できるよ。
C#側はこんな感じ。(フックされる側もする側も、32bitじゃないと多分動かない)
http://ideone.com/I6CQGj 893 :
デフォルトの名無しさん
2016/09/23(金) 21:14:04.51 ID:laz5P8lZ
>>892 3行目以降はみんなわかってるから書かないで良いよ
894 :
デフォルトの名無しさん
2016/09/24(土) 21:52:53.12 ID:M/J9F64h
まあまあ、そこまで書かなくても・・・
895 :
デフォルトの名無しさん
2016/09/26(月) 14:31:52.90 ID:OBYZqfWW
IPAddressコントロールのメニューってどうやったら消せる? サブクラス化してもWM_CONTEXTMENUが来ない
896 :
デフォルトの名無しさん
2016/09/26(月) 22:48:08.03 ID:TukXLw2X
つDisappearMenu()
897 :
デフォルトの名無しさん
2016/09/27(火) 00:13:33.87 ID:/Yg2QTqO
898 :
デフォルトの名無しさん
2016/09/27(火) 12:46:31.44 ID:uV/py0I0
win32apiはCで使うもの、それともC++でやってる? 猫レベルなので、次が不明でさまよっています。
899 :
デフォルトの名無しさん
2016/09/27(火) 12:53:47.21 ID:lZ2V1Ihe
>>898 CでやってるとC++のクラスを使いたくなるけど
レールに沿ってやるより自分がやってみたい事を実現するために必要な事を1つ1つやっていった方がいい気もする
900 :
デフォルトの名無しさん
2016/09/27(火) 13:09:24.50 ID:8ZLpHgGV
>>898 C++でやんなきゃCOMでウザい事になるぞ
901 :
デフォルトの名無しさん
2016/09/27(火) 13:10:17.87 ID:pAYH5Jb4
ならないよ
902 :
デフォルトの名無しさん
2016/09/27(火) 13:48:32.20 ID:cO8I5ivP
C++をBetter Cとして使ってりゃそのうち使い分ける
903 :
デフォルトの名無しさん
2016/09/27(火) 17:00:00.51 ID:JUhPFI9j
>>901 俺もなると思うが?
生のCはやっちゃダメせいぜい教育用くらい
904 :
デフォルトの名無しさん
2016/09/27(火) 17:37:41.25 ID:lPJarC9l
C++なんてウンコ言語はCOM使う時くらいだな 何通りも初期化記法があったり黒魔術が多過ぎる
905 :
デフォルトの名無しさん
2016/09/27(火) 17:37:44.77 ID:PAHsg1th
C#のが楽 Win32で十分 くらいの差であって、ウザいかどうかはその人と仕事内容次第
906 :
デフォルトの名無しさん
2016/09/27(火) 18:29:05.45 ID:bFdF3zA0
>>905 COM は C# の方が面倒だわ
microsoft.office.interop.* をもっと真面目に作ってくれ
907 :
デフォルトの名無しさん
2016/09/27(火) 18:30:49.38 ID:uV/py0I0
898です。 独学で猫の本程度、作れるようになりました。 生産性を考え、C#,C++,Java,python,rubyとかを次に考えています。 拡張子がcppで、comも少しやっています。 おすすめ言語ありますか? ついでに本も。 ソフト屋じゃないのに、やっつけデータ処理が、必要なんです。
908 :
デフォルトの名無しさん
2016/09/27(火) 18:34:20.96 ID:uV/py0I0
日本語変ですね。 お礼もない。 若くないので、コストを考えました。
909 :
デフォルトの名無しさん
2016/09/27(火) 18:41:58.58 ID:w5gpFchP
Win32APIについて聞きたいならこのスレでいいが やっつけ仕事に適した言語が知りたいならこのスレより スレ立てるまでもない質問はここで〜 の方が適切
910 :
デフォルトの名無しさん
2016/09/27(火) 18:48:19.76 ID:uV/py0I0
ホントですね。 失礼しました。 win32apiから、C++なら便利?と考えておるうちにずれていました。
911 :
デフォルトの名無しさん
2016/09/27(火) 19:17:10.39 ID:+Hq6Z55/
912 :
デフォルトの名無しさん
2016/09/27(火) 20:18:13.60 ID:lCQO94l1
Win32は修羅の道 思いとどまれ踏み込むな 迷い込んだら覚悟を決めろ
913 :
デフォルトの名無しさん
2016/09/27(火) 21:33:50.34 ID:w5gpFchP
覚悟完了
914 :
デフォルトの名無しさん
2016/09/27(火) 22:01:03.88 ID:G7SFDpUA
戦略的撤退
915 :
デフォルトの名無しさん
2016/09/29(木) 01:56:16.40 ID:JU45VBWv
916 :
デフォルトの名無しさん
2016/09/29(木) 18:41:10.44 ID:M0rjTDUo
win32apiならC++よりCからの方が使い易い
917 :
デフォルトの名無しさん
2016/09/29(木) 19:45:58.02 ID:LDkzfJUX
SkyTelコワイ
918 :
デフォルトの名無しさん
2016/10/01(土) 08:23:59.69 ID:LRewiCIS
919 :
デフォルトの名無しさん
2016/10/02(日) 13:09:10.02 ID:4o4y3Pue
のマークの
920 :
デフォルトの名無しさん
2016/10/02(日) 13:29:05.78 ID:GxRMdu/c
まさつゆまる
921 :
デフォルトの名無しさん
2016/10/02(日) 13:59:01.98 ID:GX41vvMR
虫歯に効くのは木クレオソートが強い防腐作用や殺菌作用があるため 神経に対して初めは少し刺激が起こりますが次第に知覚麻痺して痛みを感じなくなっていきます
922 :
デフォルトの名無しさん
2016/10/02(日) 17:17:41.77 ID:2/1u9rrl
隠しAPIのDwmGetDxSharedSurface()ってGetDesktopWindow()のハンドル指定してもテクスチャ取得できないのかな? 例えばIEとかのハンドル指定すれば問題なくテクスチャ取得まで行けるんだが・・・
923 :
デフォルトの名無しさん
2016/10/02(日) 17:52:00.53 ID:GX41vvMR
DwmGetDxSharedSurface(NULL)
924 :
デフォルトの名無しさん
2016/10/06(木) 08:03:39.04 ID:2kYP0kDB
.NETは.NET Frameworkがいる上に起動が遅いのが難点 特に頻繁に起動・終了するツールの開発には向かない
925 :
デフォルトの名無しさん
2016/10/06(木) 08:13:43.59 ID:y1wzqO45
20年近く前はそう言われてたな
926 :
デフォルトの名無しさん
2016/10/06(木) 08:44:16.97 ID:LW7zvFbD
927 :
デフォルトの名無しさん
2016/10/06(木) 09:53:11.69 ID:BiGan9Dw
>>924 Windows Updateをきちんと適用していれば、.Net Frameworkはインストールされてるぞ。
もはや、インストーラーに含める必要もなくなった。
起動時間は、事前コンパイルしとけば大幅に改善される。
928 :
デフォルトの名無しさん
2016/10/06(木) 10:01:20.19 ID:BiGan9Dw
>>927 の起動時間は1回目のね
元々2回目以降の起動はコンパイル結果がキャッシュされてるからそんなに遅くない。
929 :
デフォルトの名無しさん
2016/10/06(木) 10:33:07.96 ID:kdCvlbXg
なんで急にこんな話になったのか分からんが、とりま20年近くも歴史ないわ。 あと、.NETがうんこじゃなくなったのはWin8に搭載された4.5から。 ここ4年の話で、それ以前はクソ&クソ。
930 :
デフォルトの名無しさん
2016/10/06(木) 12:27:21.91 ID:LW7zvFbD
931 :
デフォルトの名無しさん
2016/10/06(木) 12:53:11.51 ID:+tO9yjwe
.NETの思想って、利用者の端末機に負担をかけない様に サービス可能なサーバーに情報を渡して、答えを貰うんだった。 回線の高速化や端末機の普及で、ローカルホスト通信で済ませる様になり 現在に至っている。 もう少しマイクロソフトがIISに力を入れてくれれば ローカルホスト通信を使わなくなるのだろうね。
932 :
デフォルトの名無しさん
2016/10/06(木) 19:11:09.40 ID:2kYP0kDB
>>928 ネイティブなら一瞬で起動するようなアプリでも.NETだとNgen使っても体感できるレベルで(数百msec以上)待たされる
起動に数秒かかることが許される規模のアプリであれば.NETでもいいけど
インタプリタでも一瞬で終わるような処理を.NETで実装したら実行時間の無駄
Javaも同じ事が言えるけどね。動き出せば速いけど動くまでが遅い
これは2年ほど前に配布を考慮した気軽に使えるGUIツール開発プラットフォームを探した時に出た結論
933 :
デフォルトの名無しさん
2016/10/06(木) 21:06:40.44 ID:JthKKgNo
ふーん お宅の言う結論ってケツの穴の論理と大差なさそうだね
934 :
デフォルトの名無しさん
2016/10/07(金) 04:23:54.50 ID:HwYDbl3n
もう新規案件をWin32ネイティブで開発することは少なくなったな WTL/ATLを気に入ってよく使ってた
935 :
デフォルトの名無しさん
2016/10/07(金) 17:22:23.22 ID:lKepYBPc
#include <ws2tcpip.h> しても inet_pton が宣言されてねぇと叱られる('兪)
936 :
デフォルトの名無しさん
2016/10/07(金) 17:27:35.32 ID:nw13XKq1
ユニコードビルドしてると使えないとか?もしくはInetPton
937 :
デフォルトの名無しさん
2016/10/07(金) 17:51:19.48 ID:ah4nbj/y
#include <ws2tcpip>
938 :
デフォルトの名無しさん
2016/10/07(金) 19:03:39.31 ID:lKepYBPc
お、反応してくれてありがとう 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 //] よそ様のコードの保守は大変ですな 外部依存関係 に表示しないで欲しいのですが ごめんなさいごめんなさい 吊ってきます
939 :
デフォルトの名無しさん
2016/10/08(土) 12:28:41.20 ID:0jaJMPXG
自分の無能をよそ様のせいにすんなボケ
940 :
デフォルトの名無しさん
2016/10/08(土) 12:34:16.03 ID:0jaJMPXG
941 :
デフォルトの名無しさん
2016/10/11(火) 16:41:23.69 ID:WucPD6lR
縦書きの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);
942 :
デフォルトの名無しさん
2016/10/11(火) 17:16:34.58 ID:QeFd4z39
縦書きだとyが変わるんじゃね
943 :
デフォルトの名無しさん
2016/10/11(火) 18:16:44.11 ID:WucPD6lR
フォントサイズ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すると右上が文字の原点に移動するっぽいのでそれ考慮して計算するのかなぁ。
944 :
デフォルトの名無しさん
2016/10/11(火) 20:10:04.56 ID:fRcBIrce
>>927 きちんと無駄に.Netは更新しないようにしてるんだよなぁ…
945 :
デフォルトの名無しさん
2016/10/12(水) 11:31:26.15 ID:Gd/C/AAX
>>942 縦2700だとtm,gmの概念がわからなかったので、縦0で縦フォント作ってから、画像を270度回転してtm,gm辻褄を合わせて描画したら安定。
XとYの概念が入れ替わって混乱した。
946 :
デフォルトの名無しさん
2016/10/12(水) 13:51:15.72 ID:MITJcbWv
>>945 無理矢理つじつま合わせすると(例えば縦横の座標入れ替え)うまくいくのは90度単位の回転のみで、
45度とかの場合は破綻するでしょ。
943 の話はベースライン座標をを270度回転させて求めないとうまくいかないと思う。
947 :
デフォルトの名無しさん
2016/10/12(水) 14:20:20.43 ID:CGbCriuU
948 :
デフォルトの名無しさん
2016/10/12(水) 17:31:03.60 ID:Gd/C/AAX
>>946 縦読みだけなら90度回転ベースの270度(上下左右入れ替えと、オフセット計算)で仕様は満たされますが、45度とか要求となると別途手間かかりそうですね。
文字列をテクスチャーとかに描画してから回転したほうが簡単そう。
949 :
デフォルトの名無しさん
2016/10/12(水) 17:33:12.25 ID:aj5TKozK
ある対象ファイルが他アプリケーションから開かれている否かはどうやって知れますか?
950 :
デフォルトの名無しさん
2016/10/12(水) 17:39:22.99 ID:NnJ6rK8J
enumprocess->openprocess->zwqueryobject
951 :
デフォルトの名無しさん
2016/10/12(水) 17:44:09.42 ID:aj5TKozK
全プロセス舐めなきゃいけないんですか?
952 :
デフォルトの名無しさん
2016/10/12(水) 17:44:16.63 ID:Gd/C/AAX
953 :
デフォルトの名無しさん
2016/10/12(水) 17:45:51.04 ID:bqn+ql9d
954 :
デフォルトの名無しさん
2016/10/12(水) 17:47:37.52 ID:bqn+ql9d
>>952 >お祝いに参加しましょう
なんだこれω
955 :
デフォルトの名無しさん
2016/10/12(水) 18:03:38.18 ID:g+0wIc73
「お誕生日おめでとう」 なんだろうけど、ちょっと恥ずかしい
956 :
デフォルトの名無しさん
2016/10/13(木) 22:45:03.69 ID:pWVjxgqB
VK_NUMPAD6とVK_RIGHTなどのキーが同じものとして扱われてしまうのですが どうすれば使い分けられるのでしょうか
957 :
デフォルトの名無しさん
2016/10/14(金) 09:38:05.35 ID:DLzZN/YU
958 :
デフォルトの名無しさん
2016/10/15(土) 01:01:26.59 ID:qV7dku2N
959 :
デフォルトの名無しさん
2016/10/15(土) 18:25:43.89 ID:NU1xJ4eI
>>957 やりましたけど、同じでした
>>958 なんかむずかしいすぎてついていけません。
KEYEVENTF_SCANCODEではなく
KEYEVENTF_EXTENDEDKEYを使うとか?
過去ログも検索で見ましたがむずかしいですね
960 :
デフォルトの名無しさん
2016/10/21(金) 17:44:09.25 ID:KvD6T+Uq
コンソールをリサイズした状態でのバッファ表示についての質問です。 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行以上(0-79と25-49の範囲)書き換えると訳の分からない表示になります。 ()の中は (y*80+x) みたいな計算をしています。 ScrollConsoleScreenBuffer(GetStdHandle(-11), &area, NULL, p, b); を入れると多少表示は変化するのですが、期待する結果にはなりませんでした。 何か勘違いしているのかも知れませんが、解決のお手伝いください。
961 :
デフォルトの名無しさん
2016/10/21(金) 19:21:16.29 ID:zTYixhM/
>>960 bが自動変数で初期化されていないのでゴミデータが出力されているだけでは?
962 :
デフォルトの名無しさん
2016/10/22(土) 10:46:34.18 ID:O48rD9qT
原因が判りました。 50行目以降のアドレスに書き込んでました。 50+n行目に書くとn行目の不特定な列に書き込まれるようです。
963 :
デフォルトの名無しさん
2016/10/23(日) 10:31:21.49 ID:CGzeXgZh
馬鹿には無理
964 :
デフォルトの名無しさん
2016/10/23(日) 10:36:05.47 ID:B3h+V7cB
965 :
デフォルトの名無しさん
2016/10/23(日) 13:06:59.50 ID:Qt7KzQsX
966 :
デフォルトの名無しさん
2016/10/23(日) 14:40:22.78 ID:CpFScuJ1
OSのバージョンでビルド番号を調べるAPIはどれですか
967 :
デフォルトの名無しさん
2016/10/23(日) 14:50:12.71 ID:Qt7KzQsX
>>966 普通にGetVersionExじゃあかんの?
968 :
デフォルトの名無しさん
2016/10/23(日) 14:54:32.90 ID:CGzeXgZh
>>967 最近のOSだと使わない方が良いみたいね
969 :
デフォルトの名無しさん
2016/10/23(日) 21:07:47.59 ID:GtfQU5YV
取得はその関数で構造体の変数値を直接比較せず専用関数使えってことでしょ
970 :
デフォルトの名無しさん
2016/10/24(月) 09:04:03.53 ID:fQGKWk+u
比較しないでただ取得するだけならそれでいいんじゃね
971 :
デフォルトの名無しさん
2016/10/24(月) 10:32:35.70 ID:9xygNeDa
>>968 manifestを書くと解決するらしいが非推奨
972 :
デフォルトの名無しさん
2016/10/24(月) 10:53:15.41 ID:RAJtJMqi
manifest書いた上でVerifyVersionInfo
973 :
デフォルトの名無しさん
2016/10/28(金) 06:29:16.08 ID:iv1fMup0
今はWin32_OperatingSystem一択
974 :
デフォルトの名無しさん
2016/10/28(金) 20:48:37.18 ID:71rg+6zF
975 :
デフォルトの名無しさん
2016/10/28(金) 21:04:02.29 ID:ceXQtcCi
WMIってヘルプが嘘多いのとバージョンアップで変わってるから困る
976 :
デフォルトの名無しさん
2016/11/02(水) 02:06:35.91 ID:stLp85Rp
virtualallocってディスクに予約、確保するの?
977 :
デフォルトの名無しさん
2016/11/02(水) 03:29:42.91 ID:ttxNZg5R
足りないときにやってくれるだけで毎回ディスク使う訳じゃない
978 :
デフォルトの名無しさん
2016/11/03(木) 17:15:22.49 ID:M9JiIIXY
979 :
デフォルトの名無しさん
2016/11/03(木) 18:06:39.24 ID:KRq5Cur1
うんいらない
980 :
デフォルトの名無しさん
2016/11/03(木) 18:21:49.22 ID:jnPNi8zj
> 978 ご苦労であった 下がってよいぞ
981 :
sage
2016/11/03(木) 19:20:32.95 ID:AWrr+PAw
982 :
デフォルトの名無しさん
2016/11/03(木) 19:24:45.18 ID:KRq5Cur1
梅津
983 :
デフォルトの名無しさん
2016/11/03(木) 19:29:23.50 ID:Vul1aP3I
RTってwin32apiの後継?
984 :
デフォルトの名無しさん
2016/11/03(木) 19:29:39.16 ID:KRq5Cur1
全然別物
985 :
デフォルトの名無しさん
2016/11/03(木) 19:31:46.62 ID:KRq5Cur1
986 :
デフォルトの名無しさん
2016/11/03(木) 19:33:14.02 ID:Vul1aP3I
987 :
デフォルトの名無しさん
2016/11/03(木) 19:33:50.89 ID:iYejUQc8
IE11 と Edge が同じか?って聞かれたら ほとんどのひとが違うと答えるだろ そのくらい違う
988 :
デフォルトの名無しさん
2016/11/03(木) 19:35:10.91 ID:KRq5Cur1
へ?
989 :
デフォルトの名無しさん
2016/11/04(金) 02:08:02.90 ID:wTo+5XZe
いい加減こっち埋めろよ
990 :
デフォルトの名無しさん
2016/11/04(金) 03:27:27.88 ID:e0uuer+h
ふんわりパンク
991 :
デフォルトの名無しさん
2016/11/04(金) 04:37:04.72 ID:UUBafTaz
うめ
992 :
デフォルトの名無しさん
2016/11/04(金) 05:07:13.26 ID:gpXDTSEe
edge ω
993 :
デフォルトの名無しさん
2016/11/04(金) 07:55:58.21 ID:aR9Unpf6
梅
994 :
デフォルトの名無しさん
2016/11/04(金) 10:23:48.39 ID:eeUHQUQt
なぜ sprintf はあるのに sgets が無いのですか?
995 :
デフォルトの名無しさん
2016/11/04(金) 10:28:47.54 ID:e0uuer+h
int readnum = sscanf(src, "%*[^\n]", maxnum, dst); だったかな うろ覚え
996 :
デフォルトの名無しさん
2016/11/04(金) 11:17:17.84 ID:gpXDTSEe
997 :
デフォルトの名無しさん
2016/11/04(金) 17:32:12.45 ID:xcPL+uad
フォームタイトル左のアイコンを消すAPI教えて下さい。 ちなみに、タイトル右のアイコン化等のボタンは表示したままでお願いします
998 :
デフォルトの名無しさん
2016/11/04(金) 19:46:41.00 ID:K7hL1M31
うめたて
999 :
デフォルトの名無しさん
2016/11/04(金) 19:59:11.56 ID:22qUZxEG
こんにちは
1000 :
デフォルトの名無しさん
2016/11/04(金) 19:59:39.65 ID:22qUZxEG
さようなら
1001 :
1001
Over 1000 Thread
このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 life time: 304日 0時間 56分 0秒
1002 :
1002
Over 1000 Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/ ▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php