Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
探検
Win32API質問箱 Build123©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2016/10/08(土) 12:33:02.29ID:0jaJMPXG
2デフォルトの名無しさん
2016/10/08(土) 12:35:25.10ID:RMZHGp4O >>1 乙乙
2016/10/08(土) 12:43:30.04ID:0jaJMPXG
関連スレ
【C++】 DirectX初心者質問スレ Part40
http://echo.2ch.net/test/read.cgi/tech/1474782237/
Visual Studio 2015 Part7
http://echo.2ch.net/test/read.cgi/tech/1475491685/
【C++】 DirectX初心者質問スレ Part40
http://echo.2ch.net/test/read.cgi/tech/1474782237/
Visual Studio 2015 Part7
http://echo.2ch.net/test/read.cgi/tech/1475491685/
2016/10/08(土) 12:44:15.44ID:0jaJMPXG
つづき
MFC vs .NET
http://echo.2ch.net/test/read.cgi/tech/1382027363/
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/
MFC vs .NET
http://echo.2ch.net/test/read.cgi/tech/1382027363/
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/
2016/10/08(土) 12:45:29.36ID:0jaJMPXG
番外編
MacでもLinuxでも使えるVisual Studio Code
http://echo.2ch.net/test/read.cgi/tech/1430403713/
D言語 Part34
http://echo.2ch.net/test/read.cgi/tech/1422155249/
MacでもLinuxでも使えるVisual Studio Code
http://echo.2ch.net/test/read.cgi/tech/1430403713/
D言語 Part34
http://echo.2ch.net/test/read.cgi/tech/1422155249/
2016/10/08(土) 12:48:44.68ID:SDbMDtMb
2016/10/08(土) 12:50:40.14ID:iZfxeHbI
Win32API が使える windows 用の Objective-C ってある?
2016/10/08(土) 12:53:21.93ID:0jaJMPXG
おまいらもう今時デフォで-DUNICODEだよな?
ASCII版なんて作ってないよな?
ASCII版なんて作ってないよな?
2016/10/08(土) 12:57:43.73ID:iZfxeHbI
_T はやめて L しか使ってないな
2016/10/08(土) 13:05:44.01ID:SDbMDtMb
VC++のBOMなしutf-8対応はよ
2016/10/08(土) 13:10:51.31ID:T/Z20i9z
2016/10/08(土) 13:13:10.90ID:RMZHGp4O
swiftでWin32API叩けるんかな
2016/10/08(土) 15:49:59.12ID:so+5PAmM
>815 デフォルトの名無しさん (ワッチョイ 353c-pu+C) sage 2016/10/08(土) 14:11:25.37 7aqZN51I0
>Swiftの美しい文法を使ってWin32APIをディスることはできるよ
>Swiftの美しい文法を使ってWin32APIをディスることはできるよ
2016/10/08(土) 17:40:11.77ID:GxOhc35M
DirectXとOpenGLでベクトルの縦横とか掛ける方向が逆ってのがあれで
転置行列にすりゃええのかと思いきや行列はそのまま共通っつー判りやすさ
転置行列にすりゃええのかと思いきや行列はそのまま共通っつー判りやすさ
2016/10/08(土) 19:01:31.79ID:GxOhc35M
誤爆orz
16デフォルトの名無しさん
2016/10/09(日) 14:41:37.01ID:zS2VLXB8 Windows 10 UWPアプリ開発
http://echo.2ch.net/test/read.cgi/tech/1440150886/
http://echo.2ch.net/test/read.cgi/tech/1440150886/
2016/10/12(水) 13:29:03.98ID:CGbCriuU
なんでWin64APIって出ないんだろうね
2016/10/12(水) 18:18:40.76ID:rUC8jhfl
_T でもう慣れちまった
2016/10/12(水) 18:36:12.56ID:bqn+ql9d
いまさらだけど mbcs 系と wchar 系で名前に一貫性が無いのはやめてほしい
20デフォルトの名無しさん
2016/10/15(土) 13:31:49.50ID:5kX/FrWC >>9
+1
+1
2016/10/15(土) 19:45:46.65ID:D3zuPPkw
>>18
スレッド的には TEXT 一択
スレッド的には TEXT 一択
2016/10/16(日) 12:20:45.02ID:ZLsyfFKf
2016/10/16(日) 21:15:11.36ID:9M/UHFkb
部分的には64bitAPI出てるよ
アドレス長対応する必要あるから
アドレス長対応する必要あるから
24デフォルトの名無しさん
2016/10/22(土) 16:23:27.83ID:O48rD9qT avi や mpeg などをエンコードする api ってどれですか?
2016/10/22(土) 16:36:41.69ID:ypW/SG0/
どれ?と聞く場合は、選択肢を並べてくれないと。
26デフォルトの名無しさん
2016/10/22(土) 16:48:10.11ID:O48rD9qT 自分で調べたら FFmpeg みたいだけど Win32API じゃないですね
2016/10/23(日) 01:08:31.63ID:qtfTOnQW
OS標準のエンコーダちゅーたらこのへんのくらいしかねえぞ
https://msdn.microsoft.com/en-us/library/windows/desktop/ff819077.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ff819077.aspx
2016/10/23(日) 01:13:24.04ID:qtfTOnQW
あー、aviとか言ってるしVFWやDMOの方がええんかね
29デフォルトの名無しさん
2016/10/23(日) 10:32:03.27ID:CGzeXgZh Video for Windows
30デフォルトの名無しさん
2016/10/26(水) 13:52:39.34ID:58gjeL/k ジョイステックってキーボードやマウスみたいにフックできるのでしょうか
こんなコードが検索でかかるのですが、これをつかいますか?
Input in={0};
in.type=INPUT_HARDWARE;
in.hi.uMsg=?????;
in.hi.wParamL=?????:
in.hi.wParamH=?????;
SendInput(1,&in,sizeof(in));
こんなコードが検索でかかるのですが、これをつかいますか?
Input in={0};
in.type=INPUT_HARDWARE;
in.hi.uMsg=?????;
in.hi.wParamL=?????:
in.hi.wParamH=?????;
SendInput(1,&in,sizeof(in));
31デフォルトの名無しさん
2016/10/31(月) 08:39:50.35ID:L3NvQGUf ドライバーの存在しないデバイスに無理矢理標準のゲームパットのドライバをインストールさせることは可能でしょうか
2016/10/31(月) 11:48:02.42ID:8iOXYzaz
それのどこがWin32APIなの?
33デフォルトの名無しさん
2016/10/31(月) 14:23:59.11ID:oRn+7MiJ DDKの使い方ならここかな
2016/10/31(月) 14:24:45.40ID:oRn+7MiJ
2016/11/01(火) 07:22:31.26ID:BruE0qoG
あざす
2016/11/05(土) 00:23:48.13ID:jJRBXXEI
cのfopenはvc++でコンパイルするとCreateFileをよびだすのかな?
もしそうだとすると、標準ライブラリを使うとワンクッションはいるので
遅くなりますよね?
もしそうだとすると、標準ライブラリを使うとワンクッションはいるので
遅くなりますよね?
2016/11/05(土) 00:31:14.92ID:DUzD1Vkt
そうだな
そんなに速度に対してシビアなプログラミングしてるのか?w
そんなに速度に対してシビアなプログラミングしてるのか?w
2016/11/05(土) 01:16:53.89ID:echkH5Mx
>>37
あえて遅い方を選ぶ理由は?
あえて遅い方を選ぶ理由は?
2016/11/05(土) 01:39:59.98ID:q1Fthh0N
CreateFileじゃなくメモリ関連で以前コンソール使ってやったけど
最適化すると一緒
最適化すると一緒
2016/11/05(土) 03:05:01.84ID:jJRBXXEI
VCの最適化は糞なんでOFFしてます
2016/11/05(土) 03:43:13.15ID:QPrRTgR0
SSD使えよ
2016/11/05(土) 07:35:56.48ID:DUzD1Vkt
>>38
スレチになるがマルチプラットフォーム
スレチになるがマルチプラットフォーム
2016/11/05(土) 07:53:22.41ID:QPrRTgR0
Win32でもconio.hで書けるよ
2016/11/05(土) 11:28:45.86ID:qKcyypJI
2016/11/05(土) 11:58:41.60ID:2n9hgzl5
普通の人は使い分けてるのか?
普通のwinプログラミングじゃfopen見ないと思うんだが
普通のwinプログラミングじゃfopen見ないと思うんだが
2016/11/05(土) 12:11:34.73ID:Bnw8PuKo
>>45
ホントカネー
ホントカネー
2016/11/05(土) 12:34:09.41ID:2n9hgzl5
winプログラミングで使うなら_tfopen_sになると思うが、ぐぐって1700ヒットだよ。_tfopenでようやく2万w
mallocなみに見かけないと思う
mallocなみに見かけないと思う
2016/11/05(土) 12:50:18.04ID:0pOl8O7N
2016/11/05(土) 12:58:41.81ID:qKcyypJI
2016/11/05(土) 12:59:37.00ID:2n9hgzl5
>>48
プログラミングしたことある?
fopenはwin以外にも使われてるからヒット数多いに決まってるよwww
CreateFileの実態がCreateFileAWってのと同じ
winプログラミングはTでいくのが普通だからAW(fopen_s, _wfopen_s)なんてめったに扱わないし
特にファイルオープンに関しちゃ、A(fopen_s)をわざわざ選ぶ理由なんて皆無でしょ
プログラミングしたことある?
fopenはwin以外にも使われてるからヒット数多いに決まってるよwww
CreateFileの実態がCreateFileAWってのと同じ
winプログラミングはTでいくのが普通だからAW(fopen_s, _wfopen_s)なんてめったに扱わないし
特にファイルオープンに関しちゃ、A(fopen_s)をわざわざ選ぶ理由なんて皆無でしょ
2016/11/05(土) 13:02:14.41ID:qKcyypJI
2016/11/05(土) 13:02:47.17ID:GQrwHyiX
2016/11/05(土) 13:19:32.14ID:0pOl8O7N
2016/11/05(土) 13:54:15.41ID:V6+SRNFm
>>44
Windowsでfopenを使う理由はないよ
Windowsでfopenを使う理由はないよ
2016/11/05(土) 14:03:10.02ID:qKcyypJI
2016/11/05(土) 15:09:08.22ID:EOaqGeXp
俺はfopen()(大抵はfsopen_s())良く使うなあ
"wt"でテキストファイル書く時"\n"を"\r\n"にしてくれるのとか便利じゃん
それにfprintf()とかfscanf()とか同じことをWin32APIでやると面倒だし
"wt"でテキストファイル書く時"\n"を"\r\n"にしてくれるのとか便利じゃん
それにfprintf()とかfscanf()とか同じことをWin32APIでやると面倒だし
2016/11/05(土) 18:58:42.67ID:Y72Y2Zla
Linuxでビルドできないと困るので標準関数を主に使う
58デフォルトの名無しさん
2016/11/05(土) 21:37:32.05ID:AA4Sk0Wd リング0を行き来するのはオーバーヘッドになるからまとめて引き渡したい
そういう理由もあって標準関数を好むけど
そういう理由もあって標準関数を好むけど
2016/11/05(土) 23:04:33.19ID:kO1gZKnI
おまえら、なんの話してんだ?
linuxってなんだよwスレタイを0xffffffffffffffff回復唱しろよ
linuxってなんだよwスレタイを0xffffffffffffffff回復唱しろよ
2016/11/05(土) 23:08:52.31ID:qKcyypJI
こんなスレに来るんだからプログラム書くんだろうに、
Linuxの名前くらい知らずに仕事になるの?
Linuxの名前くらい知らずに仕事になるの?
2016/11/05(土) 23:09:10.47ID:Y72Y2Zla
既にスレ全体を-1回読んでいる
2016/11/05(土) 23:13:07.08ID:kO1gZKnI
2016/11/05(土) 23:16:43.75ID:/oeNR6O2
>>59
-1回復唱するとは?
-1回復唱するとは?
2016/11/05(土) 23:24:36.93ID:jJRBXXEI
>>63
ggれかす
ggれかす
2016/11/06(日) 07:41:54.96ID:DwuXTERT
Cの教科書に載ってるのfopenで、CreateFileは詰め込みすぎててややこしいから
fopenを使い続けてるって層が多そう
fopenを使い続けてるって層が多そう
66デフォルトの名無しさん
2016/11/06(日) 08:25:12.31ID:wprJ6aec わざわざ環境依存の関数使うぐらいなんだから理由あるんだよね?
2016/11/06(日) 08:26:18.85ID:8+fmWTOK
スレタイが環境に依存してるのはいいのか?
2016/11/06(日) 08:28:24.06ID:LG3GvlVh
っえ?
linuxでもWin32api呼べるよ
linuxでもWin32api呼べるよ
2016/11/06(日) 08:31:46.68ID:5/z3Ppl4
>>68
そんなんですか、だとしたらますますfopenを呼ぶ理由はない、呼び出しが多くなるから遅くなりますよね
そんなんですか、だとしたらますますfopenを呼ぶ理由はない、呼び出しが多くなるから遅くなりますよね
2016/11/06(日) 09:01:33.07ID:TO8zu+f0
fopenを使わずに何を使うかここまで言及無し
2016/11/06(日) 09:15:57.80ID:rGVVvSQ9
2016/11/06(日) 09:19:59.65ID:TO8zu+f0
>>71
UTF-16LEも
UTF-16LEも
2016/11/06(日) 11:25:27.53ID:7DBohWvr
>>66
だから必要に応じて使い分けるものだと何度言えば。
だから必要に応じて使い分けるものだと何度言えば。
2016/11/06(日) 12:54:43.57ID:4E5k1HKy
プログラムからデバッガに接続ってできませんか?
2016/11/06(日) 12:55:35.60ID:5/z3Ppl4
つConnectDebugger
76デフォルトの名無しさん
2016/11/06(日) 13:55:29.40ID:E1Cvk6Xz2016/11/06(日) 14:17:46.54ID:PBN3DkC0
どんな環境でも win32api が使えるのかね?
2016/11/06(日) 14:25:48.09ID:7DBohWvr
使える、呼べる、の定義次第だな。
呼ぶだけ(何もしない)ならすぐできる。
呼ぶだけ(何もしない)ならすぐできる。
2016/11/06(日) 15:06:15.30ID:jrejtDgu
winプログラムをガッツリ作ることになったワイ。
CreateFile系のAPIも使わなあかんのやろか?と使い始めるも面倒くさすぎなので、
fopen系を自分で使いやすいようにカスタムしたようなAPIラッパーを自分で用意、
中でCreateFile系を呼ぶようにした無駄な努力。
CreateFile系のAPIも使わなあかんのやろか?と使い始めるも面倒くさすぎなので、
fopen系を自分で使いやすいようにカスタムしたようなAPIラッパーを自分で用意、
中でCreateFile系を呼ぶようにした無駄な努力。
2016/11/06(日) 15:20:40.29ID:PBN3DkC0
>>78
そんなものを win32api というのかね?
そんなものを win32api というのかね?
2016/11/06(日) 15:22:12.40ID:aWGLyRUt
正直何を言ってるのかさっぱりわからん
ただ >>79 が CreateFile を理解してないことはわかった
ただ >>79 が CreateFile を理解してないことはわかった
2016/11/06(日) 15:26:33.42ID:jrejtDgu
アホが釣れたで
2016/11/06(日) 15:31:19.18ID:5/z3Ppl4
本当わけわからん
Win32API質問箱というスレタイでlinuxなんて意味不明なこと言い出す馬鹿とか、
環境依存とか・・・
っあ、分かったWin32APIというものがなんなのかしらないのか
Win32API質問箱というスレタイでlinuxなんて意味不明なこと言い出す馬鹿とか、
環境依存とか・・・
っあ、分かったWin32APIというものがなんなのかしらないのか
2016/11/06(日) 15:36:21.57ID:7DBohWvr
>>83
プログラマならLinuxくらい勉強しておこうぜ。
プログラマならLinuxくらい勉強しておこうぜ。
2016/11/06(日) 15:40:05.04ID:5/z3Ppl4
2016/11/06(日) 15:42:58.36ID:AJmk7i6z
linuxってc++を理解できないアフォが作ったゴミですよね
2016/11/06(日) 15:48:22.75ID:7DBohWvr
>>85
APIと実装は違うというのはわかってるよね?
APIと実装は違うというのはわかってるよね?
2016/11/06(日) 15:50:49.53ID:t67ppMyH
>>87
プログラマなら皆まで言われなくとも理解ようぜ
プログラマなら皆まで言われなくとも理解ようぜ
2016/11/06(日) 15:59:46.37ID:xHDOqiQx
2016/11/06(日) 16:01:51.83ID:YPGx/bgn
Lindows
2016/11/06(日) 16:07:35.75ID:5/z3Ppl4
wineもLindows関する話題もOKですね
boostもOKですか?
boostもOKですか?
2016/11/06(日) 16:11:14.07ID:bCh//xB2
おまいはだめ
2016/11/06(日) 16:12:50.49ID:5/z3Ppl4
おまえはなんでいいの?
2016/11/06(日) 17:59:51.67ID:7DBohWvr
2016/11/06(日) 19:22:43.11ID:5/z3Ppl4
2016/11/06(日) 19:47:14.00ID:YPGx/bgn
今今C
97デフォルトの名無しさん
2016/11/06(日) 21:09:59.89ID:MLGlQdvO98デフォルトの名無しさん
2016/11/06(日) 21:36:12.60ID:hZSM5tbK 初心者です。
中断ボタンを出そうと考えています。
スレッドから、CreateDialogで中断の画面を出すとダイアログが一瞬で
消えてしまいます。
ご存じの方いませんか?
ちなみに、DialogBoxでは処理が滞ってしまいました。
中断ボタンを出そうと考えています。
スレッドから、CreateDialogで中断の画面を出すとダイアログが一瞬で
消えてしまいます。
ご存じの方いませんか?
ちなみに、DialogBoxでは処理が滞ってしまいました。
2016/11/06(日) 22:08:54.07ID:eC1CzNtZ
>>98
スレッドが一瞬で終わってんじゃないの?
スレッドが一瞬で終わってんじゃないの?
100デフォルトの名無しさん
2016/11/06(日) 22:28:42.23ID:RUueNHTq そりゃそうだろw
何を当たり前のことを???
何を当たり前のことを???
101デフォルトの名無しさん
2016/11/06(日) 23:04:20.64ID:AHO3vAwR CreateDialogはモードレスダイアログボックスを作るので、
要するにnewされているからスタック以外のどっかに作られるので、
CreateDialogを呼び出した後はダイアログは表示されてもすぐ消えて
元の処理に戻る。こいつを維持したければShowWindowをしろ。
DialogBoxはモーダルダイアログボックスを作るが、これはスタックに
作るのでこいつが閉じられない限り呼び出し元の処理を続行出来なくなる。
処理が滞るというのはそういうことだな。
要するにnewされているからスタック以外のどっかに作られるので、
CreateDialogを呼び出した後はダイアログは表示されてもすぐ消えて
元の処理に戻る。こいつを維持したければShowWindowをしろ。
DialogBoxはモーダルダイアログボックスを作るが、これはスタックに
作るのでこいつが閉じられない限り呼び出し元の処理を続行出来なくなる。
処理が滞るというのはそういうことだな。
102デフォルトの名無しさん
2016/11/06(日) 23:04:51.46ID:AHO3vAwR だから当たり前のこと。
104デフォルトの名無しさん
2016/11/07(月) 01:14:31.84ID:tfEbFCgf105デフォルトの名無しさん
2016/11/07(月) 04:01:23.41ID:EaPQMBZD >>101
これはひどい
これはひどい
106デフォルトの名無しさん
2016/11/07(月) 07:43:13.48ID:/5KK1SgJ ここまで酷いと98が釣りに思えてきた
107デフォルトの名無しさん
2016/11/07(月) 08:37:44.05ID:fwwW9lIx >>101
何を言っているんだ?
何を言っているんだ?
108デフォルトの名無しさん
2016/11/07(月) 16:06:23.47ID:iTWgrf69 イベントループまわしてない糞アプリは結構あるけどな
109デフォルトの名無しさん
2016/11/07(月) 21:00:42.32ID:lMECrzfj あるね
110デフォルトの名無しさん
2016/11/07(月) 23:24:31.73ID:geFZXkbd WindowsServerの共有フォルダに対して
一台のPCで複数のセッションを
張りたいのですが
そういうことは可能でしょうか?
セッション枯渇をシュミレーション
したいのですが、数十台の
クライアントを用意するのが厳しいので、
よろしくお願いします
一台のPCで複数のセッションを
張りたいのですが
そういうことは可能でしょうか?
セッション枯渇をシュミレーション
したいのですが、数十台の
クライアントを用意するのが厳しいので、
よろしくお願いします
111デフォルトの名無しさん
2016/11/07(月) 23:35:14.98ID:xNTfrSvb 98です。
残念ながら本当にわかっていなくて、
なにがひどいのかもわかりません。
一瞬で終わっているのは事実です。
IsDialogMessageは使っています。
原因を調べています。
残念ながら本当にわかっていなくて、
なにがひどいのかもわかりません。
一瞬で終わっているのは事実です。
IsDialogMessageは使っています。
原因を調べています。
112片山博文MZ ◆T6xkBnTXz7B0
2016/11/07(月) 23:52:47.40ID:bxaGR4em113片山博文MZ ◆T6xkBnTXz7B0
2016/11/08(火) 00:02:16.77ID:AW+lzuxI メッセージキューはスレッドごとに用意されていて、ウィンドウのメッセージは
ウィンドウ作成元のスレッドのメッセージキューにたまる。
ウィンドウ作成元のスレッドのメッセージキューにたまる。
114デフォルトの名無しさん
2016/11/08(火) 00:42:20.76ID:/LmyXqRX >>110
シュミレーションってなに?
シュミレーションってなに?
115デフォルトの名無しさん
2016/11/08(火) 00:44:34.04ID:unHUC1CF シュミなら何でもできる
116デフォルトの名無しさん
2016/11/08(火) 01:35:14.19ID:Y3RxQGSc シュミーズとスリップとキャミソールの違いってなに?
117デフォルトの名無しさん
2016/11/08(火) 01:36:27.03ID:unHUC1CF 1.80代
2.60代
3.40代
2.60代
3.40代
118デフォルトの名無しさん
2016/11/08(火) 02:08:30.02ID:U/Ju3opf >>114
その程度も想像できない人の意見なんてどうでもいいです
その程度も想像できない人の意見なんてどうでもいいです
119デフォルトの名無しさん
2016/11/08(火) 02:32:59.30ID:Y3RxQGSc その想像力を駆使して趣味レーションすればいいんじゃね?
Win32APIには関係ない話だし。
Win32APIには関係ない話だし。
120デフォルトの名無しさん
2016/11/08(火) 03:20:49.30ID:jUCVZHcM win32apiに関係なくてもいいんじゃなかったけ?
12198
2016/11/08(火) 06:00:23.87ID:EP2Ba4mn122デフォルトの名無しさん
2016/11/10(木) 21:09:42.83ID:AasTbJ+R な
123デフォルトの名無しさん
2016/11/11(金) 12:10:47.06ID:9ZvufmQn IDないときにID導入で言い争いなくなってたのに
久しぶりにここ来たらIDありでも構わず言い争いしててワロタ
ついでに次スレはワッチョイでもつけよう
久しぶりにここ来たらIDありでも構わず言い争いしててワロタ
ついでに次スレはワッチョイでもつけよう
124デフォルトの名無しさん
2016/11/11(金) 12:39:26.27ID:/bmaODHZ もうホスト名表示でいいだろ
125デフォルトの名無しさん
2016/11/11(金) 13:02:50.32ID:kcpLk0Bj 何を付けても言い争いが発生するんだから、
IDくらいがちょうどいいんじゃないの。
どこのスレ見ても、荒らす奴はなにやっても荒らすし。
IDくらいがちょうどいいんじゃないの。
どこのスレ見ても、荒らす奴はなにやっても荒らすし。
126デフォルトの名無しさん
2016/11/11(金) 13:10:25.05ID:UQPlBidt IDとかワッチョイとか何の意味もないのに付けたがるよね
今の2ちゃんなんか人少なくて気にするほどの書き込みもないのに
今の2ちゃんなんか人少なくて気にするほどの書き込みもないのに
127デフォルトの名無しさん
2016/11/11(金) 13:18:14.05ID:FF2/z6GJ128デフォルトの名無しさん
2016/11/11(金) 19:38:22.83ID:F0Rj6jl1 IDでじゅうぶん
129デフォルトの名無しさん
2016/11/11(金) 20:04:48.37ID:0rL2xNMJ ホスト名がベター
130デフォルトの名無しさん
2016/11/11(金) 20:06:12.51ID:DbOMb6Sb ホスト名出して主張してくれや
131デフォルトの名無しさん
2016/11/11(金) 20:12:52.08ID:LmTjZr7C ワッチョイは争いの火種
最初からないほうがまし
別にIDもいらない
最初からないほうがまし
別にIDもいらない
132デフォルトの名無しさん
2016/11/11(金) 20:36:56.45ID:F0Rj6jl1 IDはあったほうがいいね
133sp49-98-77-115.mse.spmode.ne.jp
2016/11/11(金) 20:37:29.90ID:0rL2xNMJ ホスト名がベター
134デフォルトの名無しさん
2016/11/11(金) 20:44:35.64ID:X9bDlJ5d ホスト名は「たちばな誠」
135デフォルトの名無しさん
2016/11/11(金) 20:51:04.74ID:Tfn5AWDv ホスト名が良いカモね
136デフォルトの名無しさん
2016/11/12(土) 04:05:38.85ID:6wPviZ3t スレチ
137デフォルトの名無しさん
2016/11/12(土) 04:37:47.35ID:xxkpve4k 急激に過疎ったスレとして資料価値がある
一番勢いあったのがIDなかった時代だというのが興味深い
一番勢いあったのがIDなかった時代だというのが興味深い
138デフォルトの名無しさん
2016/11/12(土) 07:40:36.69ID:VYJ07zOJ 単にWin32から.NETへの移行が進んだだけでしょう
139デフォルトの名無しさん
2016/11/12(土) 09:21:42.48ID:cY8zOPne たんに荒らしが伸ばしてただけでしょう
140デフォルトの名無しさん
2016/11/12(土) 10:58:41.72ID:aMxeZQXn >>137
勢いじゃなく、荒らされていた時期な
勢いじゃなく、荒らされていた時期な
141デフォルトの名無しさん
2016/11/12(土) 11:01:50.42ID:MjZ+e3Wz 回顧モード中ですが、ちょっと教えてくだされ。
スケーリング対応ってどの辺のAPIを使うといいの?
もしくは、どの辺のAPIを見直せばいいのか。
スケーリング対応ってどの辺のAPIを使うといいの?
もしくは、どの辺のAPIを見直せばいいのか。
142デフォルトの名無しさん
2016/11/12(土) 13:10:05.51ID:VYJ07zOJ うろ覚えだけど
SetWindowOrgEx
SetViewportOrgEx
辺りじゃないの
SetWindowOrgEx
SetViewportOrgEx
辺りじゃないの
143デフォルトの名無しさん
2016/11/12(土) 16:51:53.48ID:KzeRaaZ8 @AoA = (
[ "fred", "barney" ],
[ "george", "jane", "elroy" ],
[ "homer", "marge", "bart" ],
);
を関数に渡したいんですが、どうすればいいの?
[ "fred", "barney" ],
[ "george", "jane", "elroy" ],
[ "homer", "marge", "bart" ],
);
を関数に渡したいんですが、どうすればいいの?
144デフォルトの名無しさん
2016/11/12(土) 18:18:57.26ID:B8iRPOxS はあ…
145デフォルトの名無しさん
2016/11/12(土) 21:46:22.81ID:6wPviZ3t loopyを3回となえてください
146デフォルトの名無しさん
2016/11/13(日) 04:10:41.48ID:+F2H1InO >>141
DPIスケーリングならここ見ていけば大体書いてある
https://msdn.microsoft.com/en-us/library/windows/desktop/dd464646(v=vs.85).aspx
この辺のAPI使う
https://msdn.microsoft.com/en-us/library/windows/desktop/hh447398%28v=vs.85%29.aspx
真面目に対応しようとするとけっこう面倒
DPIスケーリングならここ見ていけば大体書いてある
https://msdn.microsoft.com/en-us/library/windows/desktop/dd464646(v=vs.85).aspx
この辺のAPI使う
https://msdn.microsoft.com/en-us/library/windows/desktop/hh447398%28v=vs.85%29.aspx
真面目に対応しようとするとけっこう面倒
147デフォルトの名無しさん
2016/11/13(日) 14:25:24.31ID:Wy5L1qQW EnableMenuItem
https://msdn.microsoft.com/ja-jp/library/cc410786.aspx
>MF_DISABLED メニュー項目を無効化します。淡色表示にはしませんが、そのメニュー項目は使用不可能であり、選択できません。
>MF_GRAYED メニュー項目を淡色表示にします。そのメニュー項目は使用不可能であり、選択できません。
となっており、MF_DISABLEDはグレー表示されないように書かれていますが、
Win7で使ってみたところ、グレー表示され、MF_GRAYEDとまったく同じになりました。
MSDNが更新されていないだけで、MF_DISABLEDとMF_GRAYEDは同一挙動になったのでしょうか?
それとも、何か微妙に違いがあったりするのでしょうか?
https://msdn.microsoft.com/ja-jp/library/cc410786.aspx
>MF_DISABLED メニュー項目を無効化します。淡色表示にはしませんが、そのメニュー項目は使用不可能であり、選択できません。
>MF_GRAYED メニュー項目を淡色表示にします。そのメニュー項目は使用不可能であり、選択できません。
となっており、MF_DISABLEDはグレー表示されないように書かれていますが、
Win7で使ってみたところ、グレー表示され、MF_GRAYEDとまったく同じになりました。
MSDNが更新されていないだけで、MF_DISABLEDとMF_GRAYEDは同一挙動になったのでしょうか?
それとも、何か微妙に違いがあったりするのでしょうか?
148デフォルトの名無しさん
2016/11/13(日) 19:35:16.34ID:wHFHc9ra >>146
俺はGetWindowRectがまともに動かない時点でスケーリング対応は諦めたわ。なんなのこのクソOS
俺はGetWindowRectがまともに動かない時点でスケーリング対応は諦めたわ。なんなのこのクソOS
149デフォルトの名無しさん
2016/11/13(日) 20:07:24.28ID:dhGoOq8f >>148
adjustするのが定石
adjustするのが定石
150デフォルトの名無しさん
2016/11/13(日) 22:00:12.35ID:Wy5L1qQW TrackPopupMenu()でポップアップメニューを表示できますが、
ポップアップメニューが表示されたことを検知できるウィンドウメッセージ等はないのでしょうか?
また、ポップアップメニュー以外のところをクリックするとポップアップメニューが非表示になりますが、
これも同様に、どのように検知すればよいでしょうか?
ポップアップメニューが表示されたことを検知できるウィンドウメッセージ等はないのでしょうか?
また、ポップアップメニュー以外のところをクリックするとポップアップメニューが非表示になりますが、
これも同様に、どのように検知すればよいでしょうか?
151150
2016/11/13(日) 22:35:31.57ID:Wy5L1qQW ポップアップメニューが表示されようとしたときはWM_INITMENUPOPUPが送られてくることが分かりました。
152デフォルトの名無しさん
2016/11/13(日) 23:32:34.76ID:+F2H1InO 非表示はWM_UNINITMENUPOPUP
MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
154デフォルトの名無しさん
2016/11/14(月) 17:38:20.71ID:lPYI51le リストビューを一番下までスクロールさせるプログラムは?
156デフォルトの名無しさん
2016/11/14(月) 17:51:37.15ID:LtnXkA90 メッセージおくれ
157デフォルトの名無しさん
2016/11/14(月) 18:02:49.89ID:NhpFtVry ListView_EnsureVisible()マクロないしは
ListView_Scroll()マクロ
ListView_Scroll()マクロ
159デフォルトの名無しさん
2016/11/18(金) 03:17:57.05ID:OSOzrvg7 > MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
xpはどちら?
xpはどちら?
160デフォルトの名無しさん
2016/11/18(金) 03:36:41.14ID:AM2vlSzW えっ?
161デフォルトの名無しさん
2016/11/18(金) 03:58:35.98ID:2yb3wpBY >>156
つ メッセージ
つ メッセージ
162デフォルトの名無しさん
2016/11/18(金) 07:05:51.48ID:8X6DMoza Win3.1(Win16) ならスレ違いだろw
163デフォルトの名無しさん
2016/11/18(金) 11:11:21.47ID:GZ4BhfWs Win32sかもしれない
164デフォルトの名無しさん
2016/11/18(金) 15:45:40.16ID:sN4pSlll WS_EX_TOOLWINDOWに関して質問です。
タイトルバーに関してです。
普通のタイトルバーより小さいタイトルバーを持つ旨説明がありますが、
小さくなりません。
通常のスタイルも色々試しましたが、通常のタイトルバーと変わりません。
変える方法を教えてください。
タイトルバーに関してです。
普通のタイトルバーより小さいタイトルバーを持つ旨説明がありますが、
小さくなりません。
通常のスタイルも色々試しましたが、通常のタイトルバーと変わりません。
変える方法を教えてください。
165デフォルトの名無しさん
2016/11/18(金) 16:01:28.45ID:AM2vlSzW win8辺りからタイトルバーが小さくならなくなったべ。
理由は知らんけど、エアログラス廃止→モダンUIの流れの一環で何か変わったのかもね。
理由は知らんけど、エアログラス廃止→モダンUIの流れの一環で何か変わったのかもね。
166デフォルトの名無しさん
2016/11/19(土) 12:52:23.68ID:LZczXE+c > MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
7で非エアロ + 視覚効果を無効にした場合はどちらになりますか
7で非エアロ + 視覚効果を無効にした場合はどちらになりますか
168デフォルトの名無しさん
2016/11/20(日) 10:34:28.02ID:rUGeTkRI Windows3.1 って 標準で1画面に16色しか使えなかった時代の名残だから忘れていい
169デフォルトの名無しさん
2016/11/20(日) 10:50:09.74ID:pCJ1qvOZ 3.1のときには256や6万色普通にあったろ
170デフォルトの名無しさん
2016/11/20(日) 12:16:32.29ID:KiQiujJB 16bit と間違ったんじゃね
171デフォルトの名無しさん
2016/11/20(日) 12:20:21.09ID:IiH4Q+hE PC-9801の話だと思った。
172デフォルトの名無しさん
2016/11/20(日) 16:35:07.06ID:HG1JDYXN PCG
173デフォルトの名無しさん
2016/11/21(月) 11:15:47.37ID:RFCc0VFb ビデオカード次第だったよな
174デフォルトの名無しさん
2016/11/21(月) 12:21:40.28ID:gVIfBZaZ PSG
175デフォルトの名無しさん
2016/11/22(火) 15:36:11.99ID:qW+6ZAFd sscanf(buffer, "%4s", &data)の4の部分に変数を使いたい場合ってどうしたらいいんでしょう?
176デフォルトの名無しさん
2016/11/22(火) 15:42:16.93ID:eab8TQx6 "%4s"をsprintfで作る
177片山博文MZ ◆T6xkBnTXz7B0
2016/11/22(火) 15:44:33.07ID:iRpYF31I "%*s"
178デフォルトの名無しさん
2016/11/22(火) 15:45:01.21ID:RWgWe0KR179デフォルトの名無しさん
2016/11/22(火) 15:47:04.45ID:RWgWe0KR180デフォルトの名無しさん
2016/11/22(火) 18:37:11.83ID:mC9XTyoU ウンコしてくる
181デフォルトの名無しさん
2016/11/27(日) 05:47:03.44ID:9mn0D+RY windows8.1 環境下、imm にて ImmSetCompositionString で漢字変換したい文字列を設定し、
ImmNotifyIME で CPS_CONVERT、NI_OPENCANDIDATE を投げて
変換候補リストを表示したいのですが、MS-IME 系では問題なく使えていますが、
GoogleIME では変換候補リストが表示されません。
変換したい文字列が入力された状態にはなっていますが、変換候補リストが表示されない
だけでなく、キーボードで変換キーを押しても変換自体ができません。
(GoogleIME ではキー入力でただちに予測変換一覧が表示される仕組みだからか?)
これを実現するには、imm ではなく tsf に移行するしかないのでしょうか?
imm を使わず keybd_event でキー入力をエミュレートすればある程度実現できたのですが、
(文字入力→変換キー→変換候補一覧表示)
変換候補一覧を表示するための変換キーを押す回数が、MS-IME と GoogleIME では異なる
のが困ります。
ImmGetDescription で動作を切り分けることも考えましたが、そもそも ImmGetDescription が
廃止されてしまってこの手が使えません。
ImmNotifyIME で CPS_CONVERT、NI_OPENCANDIDATE を投げて
変換候補リストを表示したいのですが、MS-IME 系では問題なく使えていますが、
GoogleIME では変換候補リストが表示されません。
変換したい文字列が入力された状態にはなっていますが、変換候補リストが表示されない
だけでなく、キーボードで変換キーを押しても変換自体ができません。
(GoogleIME ではキー入力でただちに予測変換一覧が表示される仕組みだからか?)
これを実現するには、imm ではなく tsf に移行するしかないのでしょうか?
imm を使わず keybd_event でキー入力をエミュレートすればある程度実現できたのですが、
(文字入力→変換キー→変換候補一覧表示)
変換候補一覧を表示するための変換キーを押す回数が、MS-IME と GoogleIME では異なる
のが困ります。
ImmGetDescription で動作を切り分けることも考えましたが、そもそも ImmGetDescription が
廃止されてしまってこの手が使えません。
182デフォルトの名無しさん
2016/11/27(日) 16:59:16.60ID:CC34oqbC Watashi no Namae wa Nakano desu
183デフォルトの名無しさん
2016/11/27(日) 19:36:59.90ID:iFUA1Ofz Watashi ni Namae wa Nakattano desu
184デフォルトの名無しさん
2016/11/28(月) 15:21:52.39ID:msYXnjQ5 情報通信業の残業やばす
https://www.youtube.com/watch?v=TnZEDQchkJk
https://www.youtube.com/watch?v=TnZEDQchkJk
185デフォルトの名無しさん
2016/11/29(火) 12:19:49.33ID:ITJWJL4i 分かる方、教えて下さい。
プログラムの処理時間を計っているのですが、
GetThreadTimes()で取得した時間をもとに計算した処理時間(CPU時間)が
timeGetTime()で取得した時間をもとに計算した処理時間(実時間)より長くなりました。
スレッドが複数のコアを同時に使うことはないので
こういうことは起こらないはずだと思うのですが、
どういう場合に起こるのでしょうか。
なお、1/16秒くらいの精度しかないことは、認識しています。
その上でループを何度も回して十分な時間動作させた上で、
前者が後者の2倍くらいになってしまうのです。
プログラムの処理時間を計っているのですが、
GetThreadTimes()で取得した時間をもとに計算した処理時間(CPU時間)が
timeGetTime()で取得した時間をもとに計算した処理時間(実時間)より長くなりました。
スレッドが複数のコアを同時に使うことはないので
こういうことは起こらないはずだと思うのですが、
どういう場合に起こるのでしょうか。
なお、1/16秒くらいの精度しかないことは、認識しています。
その上でループを何度も回して十分な時間動作させた上で、
前者が後者の2倍くらいになってしまうのです。
186デフォルトの名無しさん
2016/11/29(火) 12:57:55.07ID:NaRikWXT GetThreadTimesで計算したのは処理時間でなくスレッド生成オーバーヘッドとかも含んでるからとか?
187185
2016/11/29(火) 13:40:47.29ID:ITJWJL4i188デフォルトの名無しさん
2016/11/29(火) 13:46:46.72ID:W5POPsuB >>185
思いつくのはこのあたり
・単位は合っているか。GetThreadTimes()は100ナノ秒単位、timeGetTime()は1ミリ秒単位
・GetThreadTimes()の計算方法は、作成時刻から終了時刻までの差なのか、カーネル・ユーザモードの実行時間の合計なのか
・timeGetTime()はいつどのタイミング、またどの場所で呼び出しているのか
・timeGetTime()が計測スレッド内部で実行されているなら
GetThreadTimes()の“作成時刻”からtimeGetTime()が実行されるまでの時間が含まれていない
・timeGetTime()が計測スレッド内部で実行されているなら
終了時のtimeGetTime()の呼び出しからGetThreadTimes()の“終了時刻”までの時間が含まれていない
・カーネル・ユーザモードの合計なら他のスレッドの“実行時間”が含まれていない
思いつくのはこのあたり
・単位は合っているか。GetThreadTimes()は100ナノ秒単位、timeGetTime()は1ミリ秒単位
・GetThreadTimes()の計算方法は、作成時刻から終了時刻までの差なのか、カーネル・ユーザモードの実行時間の合計なのか
・timeGetTime()はいつどのタイミング、またどの場所で呼び出しているのか
・timeGetTime()が計測スレッド内部で実行されているなら
GetThreadTimes()の“作成時刻”からtimeGetTime()が実行されるまでの時間が含まれていない
・timeGetTime()が計測スレッド内部で実行されているなら
終了時のtimeGetTime()の呼び出しからGetThreadTimes()の“終了時刻”までの時間が含まれていない
・カーネル・ユーザモードの合計なら他のスレッドの“実行時間”が含まれていない
189デフォルトの名無しさん
2016/11/29(火) 14:01:14.55ID:W5POPsuB >>187
GetThreadTimes()がtimeGetTime()の2倍なんでしょ?
ただ2倍と言っても1ミリ秒が2ミリ秒になったってのと1分が2分になったというのではかなり違う
平均して何ミリ秒が何ミリ秒になったの?
timeGetTime() チェックポイントA
スレッド作成 ポイントα
timeGetTime() チェックポイントB
いろいろ実行
timeGetTime() チェックポイントC
スレッド終了 ポイントβ
timeGetTime() チェックポイントD
GetThreadTimes()はαやβの時刻であって、timeGetTime()でA〜Dのいずれかで計測しても誤差は生じる。
「スレッドが複数のコアを〜」からすると計測スレッドでチェックポイントを設けているように見受けられるので
B、C間とするとαからBまでの差が含まれていないと思うけど。
ポイントαの時刻って言うのも「スレッドの作成を開始した時刻」なのか「スレッドの作成が完了した時刻」なのかでも誤差は生じる。
GetThreadTimes()がtimeGetTime()の2倍なんでしょ?
ただ2倍と言っても1ミリ秒が2ミリ秒になったってのと1分が2分になったというのではかなり違う
平均して何ミリ秒が何ミリ秒になったの?
timeGetTime() チェックポイントA
スレッド作成 ポイントα
timeGetTime() チェックポイントB
いろいろ実行
timeGetTime() チェックポイントC
スレッド終了 ポイントβ
timeGetTime() チェックポイントD
GetThreadTimes()はαやβの時刻であって、timeGetTime()でA〜Dのいずれかで計測しても誤差は生じる。
「スレッドが複数のコアを〜」からすると計測スレッドでチェックポイントを設けているように見受けられるので
B、C間とするとαからBまでの差が含まれていないと思うけど。
ポイントαの時刻って言うのも「スレッドの作成を開始した時刻」なのか「スレッドの作成が完了した時刻」なのかでも誤差は生じる。
190185
2016/11/29(火) 14:28:28.52ID:ITJWJL4i >>188
・timeGetTime()とGetThreadTimes()の単位の違いは認識しています。
・GetThreadTimes()による時間の計り方ですが、
CreationTimeとExitTimeは一切使用せず、
KernelTimeとUserTimeだけを使用して、チェックポイント間の差を取り、
ユーザーモード時間とカーネルモード時間を個別に出しています。
・スレッドの開始及び終了は、チェックポイント間に入っていません。
>>189のイメージでいう所のBとCの間のいろいろ実行の部分だけを計っている感じです。
>>189
・今動かしてみたら、
500回ほど回して平均を取った上での数字として、
B-C間の測定結果が、
timeGetTime()の場合で9msec
カーネルモード時間が429usec
ユーザモード時間が14037usec
になりました。
2倍までいってませんが、2倍くらいになることもあります。
・スレッド生成及び終了の処理部分は計っていません。
・timeGetTime()とGetThreadTimes()の単位の違いは認識しています。
・GetThreadTimes()による時間の計り方ですが、
CreationTimeとExitTimeは一切使用せず、
KernelTimeとUserTimeだけを使用して、チェックポイント間の差を取り、
ユーザーモード時間とカーネルモード時間を個別に出しています。
・スレッドの開始及び終了は、チェックポイント間に入っていません。
>>189のイメージでいう所のBとCの間のいろいろ実行の部分だけを計っている感じです。
>>189
・今動かしてみたら、
500回ほど回して平均を取った上での数字として、
B-C間の測定結果が、
timeGetTime()の場合で9msec
カーネルモード時間が429usec
ユーザモード時間が14037usec
になりました。
2倍までいってませんが、2倍くらいになることもあります。
・スレッド生成及び終了の処理部分は計っていません。
191デフォルトの名無しさん
2016/11/29(火) 15:45:24.23ID:1SK7brxW GetThreadTimesが必ずしも正確な時間を返さない可能性もある
スレッドの切り替えは可能な限り超早業で行う必要があるので
細かな正確な時間など、二の次かもしれない
もっと長い時間のかかる処理(10秒とか)を走らせてみて
実時間とスレッド時間を比較してみては?
もしそれで上手くいくのなら、スレッド時間の精度の問題という
可能性が濃厚になる
スレッドの切り替えは可能な限り超早業で行う必要があるので
細かな正確な時間など、二の次かもしれない
もっと長い時間のかかる処理(10秒とか)を走らせてみて
実時間とスレッド時間を比較してみては?
もしそれで上手くいくのなら、スレッド時間の精度の問題という
可能性が濃厚になる
192185
2016/11/29(火) 16:21:45.88ID:ITJWJL4i >>191
volatile変数をひたすらインクリメントするコードを書いて、
試してみました。
timeGetTime()で計った時間:10560msec
カーネルモード時間:280801usec
ユーザモード時間:10296066usec
4個のコアを食いつぶさせるために5個同時に動かすと、
timeGetTime()で計った時間:12sec〜18sec
カーネルモード時間:343msec〜608msec
ユーザモード時間:11902msec〜12729msec
1プロセスから2スレッド起動するのもやってみましたが、
timeGetTime()で計った時間:11869msec
スレッド1
カーネルモード時間:312msec
ユーザモード時間:11403msec
スレッド2
カーネルモード時間:390msec
ユーザモード時間:11528msec
プロセス
カーネルモード時間:1092msec
ユーザモード時間:22776msec
ほぼ期待通り(本来あるべき)の結果となりました。
volatile変数をひたすらインクリメントするコードを書いて、
試してみました。
timeGetTime()で計った時間:10560msec
カーネルモード時間:280801usec
ユーザモード時間:10296066usec
4個のコアを食いつぶさせるために5個同時に動かすと、
timeGetTime()で計った時間:12sec〜18sec
カーネルモード時間:343msec〜608msec
ユーザモード時間:11902msec〜12729msec
1プロセスから2スレッド起動するのもやってみましたが、
timeGetTime()で計った時間:11869msec
スレッド1
カーネルモード時間:312msec
ユーザモード時間:11403msec
スレッド2
カーネルモード時間:390msec
ユーザモード時間:11528msec
プロセス
カーネルモード時間:1092msec
ユーザモード時間:22776msec
ほぼ期待通り(本来あるべき)の結果となりました。
193デフォルトの名無しさん
2016/11/29(火) 16:46:40.42ID:1SK7brxW もう一つの可能性として
timeGetTimeの方の精度があまりよくない可能性もある
>Windows NT:timeGetTime 関数の既定の精度は、マシンによっては 5 ミリ秒以上になる場合があります。
とMSDNにも書いてあるしな
君が最初に測ろうとしていた処理の時間は
>timeGetTime()の場合で9msec
であるから、timeGetTime の「デフォルト」の精度の「5ミリ秒以上になる」は無視できない誤差だね
timeGetTimeの方の精度があまりよくない可能性もある
>Windows NT:timeGetTime 関数の既定の精度は、マシンによっては 5 ミリ秒以上になる場合があります。
とMSDNにも書いてあるしな
君が最初に測ろうとしていた処理の時間は
>timeGetTime()の場合で9msec
であるから、timeGetTime の「デフォルト」の精度の「5ミリ秒以上になる」は無視できない誤差だね
194185
2016/11/29(火) 17:48:25.90ID:ITJWJL4i195デフォルトの名無しさん
2016/11/29(火) 18:02:52.57ID:kNMZE4WL196デフォルトの名無しさん
2016/11/29(火) 18:14:13.77ID:NaRikWXT197デフォルトの名無しさん
2016/11/29(火) 18:40:14.32ID:3TFqVZYr いや、、、誤差の平均取るなら複数の環境でやらんと
同じ環境ならプラスばっかりとかマイナスばっかりとかあるべ
同じ環境ならプラスばっかりとかマイナスばっかりとかあるべ
198デフォルトの名無しさん
2016/11/29(火) 19:46:40.98ID:w2ftYsPy 環境というか仕組み上プラスしかないとかマイナスしかないということもある
199デフォルトの名無しさん
2016/11/29(火) 19:46:41.38ID:Ofu9bBqm どちらか言えばDDK(WDK)の領域じゃね
200185
2016/11/29(火) 20:53:31.95ID:ITJWJL4i 新たな発見がありました。
スレッドのCPU時間が実時間よりだいぶ長くなるコードの時間測定ですが、
該当コードを2回実行するコードと3回実行するコードも計ってみました。
(いずれも500回平均です。)
1回
timeGetTime()による時間:7msec
カーネルモード時間:1060usec
ユーザモード時間:13540usec
2回
timeGetTime()による時間:14msec
カーネルモード時間:2246usec
ユーザモード時間:13291usec
3回
timeGetTime()による時間:21msec
カーネルモード時間:2527usec
ユーザモード時間:19468usec
このデータから、
timeGetTime()はかなり正確であり、
GetThreadTimes()が真値より随分大きな値を返していることが強く疑われます。
クロックの誤差は、通常は、クロック更新粒度に起因する誤差であり、
それは一様な分布であるため、平均処理で抑えられます。
しかし、明らかにプラス方向の誤差が生じており、
クロック精度とは別の何らかの原因があるはずなのですが、
現在、原因の特定に至っていません。
スレッドのCPU時間が実時間よりだいぶ長くなるコードの時間測定ですが、
該当コードを2回実行するコードと3回実行するコードも計ってみました。
(いずれも500回平均です。)
1回
timeGetTime()による時間:7msec
カーネルモード時間:1060usec
ユーザモード時間:13540usec
2回
timeGetTime()による時間:14msec
カーネルモード時間:2246usec
ユーザモード時間:13291usec
3回
timeGetTime()による時間:21msec
カーネルモード時間:2527usec
ユーザモード時間:19468usec
このデータから、
timeGetTime()はかなり正確であり、
GetThreadTimes()が真値より随分大きな値を返していることが強く疑われます。
クロックの誤差は、通常は、クロック更新粒度に起因する誤差であり、
それは一様な分布であるため、平均処理で抑えられます。
しかし、明らかにプラス方向の誤差が生じており、
クロック精度とは別の何らかの原因があるはずなのですが、
現在、原因の特定に至っていません。
201デフォルトの名無しさん
2016/11/30(水) 00:10:42.24ID:V/PBKRN8 >>200
「クロック更新粒度」がいわゆるtickのことなら常に一方向に偏るはず。
timeGetTimeはtick単位の値を返すから、より正確な値を返すGetThreadTimesより
短い時間を返す、ということじゃないの?
「クロック更新粒度」がいわゆるtickのことなら常に一方向に偏るはず。
timeGetTimeはtick単位の値を返すから、より正確な値を返すGetThreadTimesより
短い時間を返す、ということじゃないの?
202デフォルトの名無しさん
2016/11/30(水) 00:21:37.30ID:tnQQtKaj いや
開始タイムが実際の時間より小さければ、測定タイムは増えるし
終了タイムが実際の時間より小さければ、測定タイムは減るので
・・・
何が言いたいのか自分でもよくわからなくなったが
同じ方向へ偏っても、end - begin で計算するから
符号は反対だから打ち消しあうといいますか
複数回測定して平均をとれば均一になるという彼の意見も一理あるかと
ただ、なぜ、timeBeginPeriod しないのかは謎だけど、いや、しているのかもしれんが
開始タイムが実際の時間より小さければ、測定タイムは増えるし
終了タイムが実際の時間より小さければ、測定タイムは減るので
・・・
何が言いたいのか自分でもよくわからなくなったが
同じ方向へ偏っても、end - begin で計算するから
符号は反対だから打ち消しあうといいますか
複数回測定して平均をとれば均一になるという彼の意見も一理あるかと
ただ、なぜ、timeBeginPeriod しないのかは謎だけど、いや、しているのかもしれんが
203デフォルトの名無しさん
2016/11/30(水) 00:52:07.64ID:ZP8Eu14+ 単純に時間取ってくる関数とスレッドのアクセス権取ってきたりしなきゃ関数とで比べたら後者の方が時間かかるよ
1度の実行でmsec変わるなら別に原因あるだろうが
1度の実行でmsec変わるなら別に原因あるだろうが
204デフォルトの名無しさん
2016/11/30(水) 02:17:24.90ID:WhaKofQb 馬鹿発見
205デフォルトの名無しさん
2016/11/30(水) 03:54:14.51ID:tfyAgmME おいおい
話逸れすぎていて草
話逸れすぎていて草
206185
2016/11/30(水) 16:27:00.78ID:NmhabroG >>200の2回実行するケースについて
1回目と2回目に分けて測定しました。
すなわち、
timeGetTime(); GetThreadTimes();
時間測定対象コード A
timeGetTime(); GetThreadTimes();
時間測定対象コード B
timeGetTime(); GetThreadTimes();
とし、500回の平均で計測しました。
AとBは全く同じコードです。
下記結果となりました。
A
timeGetTime()による時間:8msec
カーネルモード時間:343usec
ユーザモード時間:14664usec
B
timeGetTime()による時間:7msec
カーネルモード時間:93usec
ユーザモード時間:904usec
スレッドCPU時間において、
AがBより圧倒的に長くなりました。
なぜこのようなことが起こるのか分かりません。
どのような可能性があるでしょうか。
なお、>>200で触れましたが、
timeGetTime()は比較的正確です。
1回目と2回目に分けて測定しました。
すなわち、
timeGetTime(); GetThreadTimes();
時間測定対象コード A
timeGetTime(); GetThreadTimes();
時間測定対象コード B
timeGetTime(); GetThreadTimes();
とし、500回の平均で計測しました。
AとBは全く同じコードです。
下記結果となりました。
A
timeGetTime()による時間:8msec
カーネルモード時間:343usec
ユーザモード時間:14664usec
B
timeGetTime()による時間:7msec
カーネルモード時間:93usec
ユーザモード時間:904usec
スレッドCPU時間において、
AがBより圧倒的に長くなりました。
なぜこのようなことが起こるのか分かりません。
どのような可能性があるでしょうか。
なお、>>200で触れましたが、
timeGetTime()は比較的正確です。
207デフォルトの名無しさん
2016/11/30(水) 18:01:03.98ID:3E8a/W4X まあ当然の結果だな
208185
2016/11/30(水) 18:01:22.28ID:NmhabroG ああ、もう時間がない。
今日までにCPU時間測定結果を報告しないといけないので。
GetThreadTimes()は信用できないという前提のもと、
timeGetTime()の結果も参考に、
推測されるおおよそのCPU時間ってことで報告するしかなさそうです。
皆さんありがとうございました。
今日までにCPU時間測定結果を報告しないといけないので。
GetThreadTimes()は信用できないという前提のもと、
timeGetTime()の結果も参考に、
推測されるおおよそのCPU時間ってことで報告するしかなさそうです。
皆さんありがとうございました。
209185
2016/11/30(水) 18:02:13.44ID:NmhabroG210デフォルトの名無しさん
2016/11/30(水) 18:03:45.74ID:3E8a/W4X ゲームスレで聞いてみ
211185
2016/11/30(水) 18:15:54.33ID:NmhabroG >>210
そうですか。教えてくれないなら結構です。
そうですか。教えてくれないなら結構です。
212185
2016/11/30(水) 19:24:20.97ID:NmhabroG >>200に示したように、1回だけ実行すると、
実時間7msec、スレッドCPU時間14msecという不整合が起きます。
ところが10回実行して計ると、
実時間78msec、スレッドCPU時間80msecとなります。
これでも不整合はあるものの、
実時間≒スレッドCPU時間であることから、
1回の場合でも実時間≒スレッドCPU時間であることが想定される。
また実時間の方がより信頼できることが分かっている。
したがって、1回実行時のスレッドCPU時間は7.8msec程度であろう。
このようなスレッドCPU時間の見積もり方で妥当でしょうか。
実時間7msec、スレッドCPU時間14msecという不整合が起きます。
ところが10回実行して計ると、
実時間78msec、スレッドCPU時間80msecとなります。
これでも不整合はあるものの、
実時間≒スレッドCPU時間であることから、
1回の場合でも実時間≒スレッドCPU時間であることが想定される。
また実時間の方がより信頼できることが分かっている。
したがって、1回実行時のスレッドCPU時間は7.8msec程度であろう。
このようなスレッドCPU時間の見積もり方で妥当でしょうか。
213デフォルトの名無しさん
2016/11/30(水) 20:49:07.15ID:5wEUj1of >>212
GetThreadTimesの精度は15.6msなので、ある程度時間のかかる処理でないと
意味が無い。7msの処理をはかると0か15になるかのどちらか。
数百回の平均をとるのではなく1回だけ測定してみると意味ないのがわかる。
GetThreadTimesの精度は15.6msなので、ある程度時間のかかる処理でないと
意味が無い。7msの処理をはかると0か15になるかのどちらか。
数百回の平均をとるのではなく1回だけ測定してみると意味ないのがわかる。
214デフォルトの名無しさん
2016/11/30(水) 20:49:57.04ID:o1dhiyLy .
.
■■人間性に批判殺到 あの悪質パクツイ垢 @copy__writing の管理人は東京都三鷹市の莉里子■■
http://i.imgur.com/5qAgsHG.png
http://i.imgur.com/kldi84l.png
http://i.imgur.com/8vCymiC.jpg
■今までのプライベート垢
@riricoco0
@bibliophilia333
@muzimuzi333
@nekomatagensou
@hanasoraumimori
@mirainosekai3
@zibanyan666
@parlorchild
@liliririko
@EriotN
@mike_peko
@riricoco0
@ririko_neko
@nyanpas ※1
@telegraphyneko
・
・
@riricatputi (新アカ) http://imgur.com/a/X1vQA
100垢以上作ってるキチガイ出会い厨 (粘着やめろ詐欺師!はやく捕まれホラ吹きネットストーカー犯罪者!!)
.
■■人間性に批判殺到 あの悪質パクツイ垢 @copy__writing の管理人は東京都三鷹市の莉里子■■
http://i.imgur.com/5qAgsHG.png
http://i.imgur.com/kldi84l.png
http://i.imgur.com/8vCymiC.jpg
■今までのプライベート垢
@riricoco0
@bibliophilia333
@muzimuzi333
@nekomatagensou
@hanasoraumimori
@mirainosekai3
@zibanyan666
@parlorchild
@liliririko
@EriotN
@mike_peko
@riricoco0
@ririko_neko
@nyanpas ※1
@telegraphyneko
・
・
@riricatputi (新アカ) http://imgur.com/a/X1vQA
100垢以上作ってるキチガイ出会い厨 (粘着やめろ詐欺師!はやく捕まれホラ吹きネットストーカー犯罪者!!)
215185
2016/11/30(水) 22:05:18.43ID:b9TNuS14216デフォルトの名無しさん
2016/11/30(水) 23:20:53.03ID:EvMIugyq 1回目はいろいろオーバーヘッドあるよね
217185
2016/11/30(水) 23:52:18.25ID:b9TNuS14 >>216
ですと、実時間を超えるCPU時間になり得ると?
プロセスCPU時間ではなくスレッドCPU時間で。
同じ処理なのに2回目が1回目の6%のCPU時間で妥当だと?
メモリアクセスのキャッシュヒット率に違いがあるとか
そういうことであれば分かります。
でも、CPU時間ですよ。
CPU時間で圧倒的に2回目が有利でしょうか?
だとしても、
実時間の2倍近いスレッドCPU時間って何なのでしょうか?
不思議だらけで、困惑しております。
ですと、実時間を超えるCPU時間になり得ると?
プロセスCPU時間ではなくスレッドCPU時間で。
同じ処理なのに2回目が1回目の6%のCPU時間で妥当だと?
メモリアクセスのキャッシュヒット率に違いがあるとか
そういうことであれば分かります。
でも、CPU時間ですよ。
CPU時間で圧倒的に2回目が有利でしょうか?
だとしても、
実時間の2倍近いスレッドCPU時間って何なのでしょうか?
不思議だらけで、困惑しております。
218デフォルトの名無しさん
2016/11/30(水) 23:54:22.80ID:R/TXkRDp >>217
先ずその測定方法では誤差が偏り問題を回避できなかったという事実を認めろ
500回繰り替えして全体の時間を500で割るなら誤差を縮小出来るが
一回分の時間を積み上げたところで誤差も同じように積み上がったということだろ
一回分の時間を積算して精度の問題を解消するには測定開始時刻が
tick周期に対して完全に自由でなければならないのでは?
どんな測定方法をしたのか分からないけどプログラムの起動やスレッド生成や
スケジューリングのスイッチなどがtickと相関関係にあれば破綻する方法だったんだろ
先ずその測定方法では誤差が偏り問題を回避できなかったという事実を認めろ
500回繰り替えして全体の時間を500で割るなら誤差を縮小出来るが
一回分の時間を積み上げたところで誤差も同じように積み上がったということだろ
一回分の時間を積算して精度の問題を解消するには測定開始時刻が
tick周期に対して完全に自由でなければならないのでは?
どんな測定方法をしたのか分からないけどプログラムの起動やスレッド生成や
スケジューリングのスイッチなどがtickと相関関係にあれば破綻する方法だったんだろ
219デフォルトの名無しさん
2016/11/30(水) 23:55:15.34ID:nOqMl3Nb >>215
GetThreadTimesが切り捨てなのか切り上げなのか、平均をとればうまい具合になるのか
あなたの環境で要確認。
206-Aは精度的にあり得るが、Bは異様に少なすぎるので、測定ミスを疑われるレベルですね。
コードを見ないとなんとも言えないですが、対象部分を適当な計算をするループに
変えても起こるんでしょうか?
GetThreadTimesが切り捨てなのか切り上げなのか、平均をとればうまい具合になるのか
あなたの環境で要確認。
206-Aは精度的にあり得るが、Bは異様に少なすぎるので、測定ミスを疑われるレベルですね。
コードを見ないとなんとも言えないですが、対象部分を適当な計算をするループに
変えても起こるんでしょうか?
220デフォルトの名無しさん
2016/12/01(木) 00:37:40.42ID:cvCPUZP4 みんな憶測で偉そうに話すしかできないんだから、再現コード上げたらいいだけやん
221デフォルトの名無しさん
2016/12/01(木) 00:49:48.35ID:O5qZU2qd GetThreadTimes,つまりスレッドを作っているんだろ
1回目と2回目以降で違って当然じゃねぇ?
1回目と2回目以降で違って当然じゃねぇ?
222デフォルトの名無しさん
2016/12/01(木) 00:54:41.76ID:O5qZU2qd クロックカウンタ使えよ
223デフォルトの名無しさん
2016/12/01(木) 02:56:36.59ID:wMlr02vN CPUがいくら速くても切り替えは60Hzくらい
224デフォルトの名無しさん
2016/12/01(木) 04:56:48.70ID:O5qZU2qd スタック生成だけ考えても1回目と2回目以降で違ってくると思う
225185
2016/12/01(木) 11:21:31.25ID:SFr2s2fw226185
2016/12/01(木) 11:39:04.09ID:SFr2s2fw >>220
職業プログラマなので実際のコードを公開することはできませんが、大よそ以下のようなものです。
========ここから========
tRealA=0;
tRealB=0;
tUserA=0;
tUserB=0;
for (int i=0; i<500; ++i){
いろいろ
tReal1=timeGetTime();
GetThreadTimes(...,&tUser1);
func(...); //A
tReal2=timeGetTime();
GetThreadTimes(...,&tUser2);
func(...); //B
tReal3=timeGetTime();
GetThreadTimes(...,&tUser3);
いろいろ
tRealA += tReal2-tReal1;
tRealB += tReal3-tReal2;
tUserA += tUser2-tUser1;
tUserB += tUser3-tUser2;
}
tRealA/=500;
tRealB/=500;
tUserA/=500;
tUserB/=500;
========ここまで========
>>219
func()がvolatile intをひたすらインクリメントするコードの場合は、期待通りの結果>>192がでます。しかし、func()を目的のコード(他者製ライブラリの関数)にすると、不自然な結果>>206になります。
>>216、>>224
AとBで何がそんなに変わるでしょうか。
職業プログラマなので実際のコードを公開することはできませんが、大よそ以下のようなものです。
========ここから========
tRealA=0;
tRealB=0;
tUserA=0;
tUserB=0;
for (int i=0; i<500; ++i){
いろいろ
tReal1=timeGetTime();
GetThreadTimes(...,&tUser1);
func(...); //A
tReal2=timeGetTime();
GetThreadTimes(...,&tUser2);
func(...); //B
tReal3=timeGetTime();
GetThreadTimes(...,&tUser3);
いろいろ
tRealA += tReal2-tReal1;
tRealB += tReal3-tReal2;
tUserA += tUser2-tUser1;
tUserB += tUser3-tUser2;
}
tRealA/=500;
tRealB/=500;
tUserA/=500;
tUserB/=500;
========ここまで========
>>219
func()がvolatile intをひたすらインクリメントするコードの場合は、期待通りの結果>>192がでます。しかし、func()を目的のコード(他者製ライブラリの関数)にすると、不自然な結果>>206になります。
>>216、>>224
AとBで何がそんなに変わるでしょうか。
227デフォルトの名無しさん
2016/12/01(木) 11:55:52.25ID:lOA8D/0g 最適化切ったら
228デフォルトの名無しさん
2016/12/01(木) 12:02:28.97ID:5zfWITAP 木屋さん元気かな
事故ったのは知ってるけど
どのくらいご回復されたかな
事故ったのは知ってるけど
どのくらいご回復されたかな
229デフォルトの名無しさん
2016/12/01(木) 12:14:25.23ID:i7gsdi/t230185
2016/12/01(木) 13:04:50.94ID:SFr2s2fw >>227
コンパイラの最適化のことですよね。
コンパイラの最適化を無効にして、やってみました。
A
timeGetTime()による時間:7msec
カーネルモード時間:499usec
ユーザモード時間:14882usec
B
timeGetTime()による時間:7msec
カーネルモード時間:31usec
ユーザモード時間:124usec
同じ傾向になりました。
コンパイラの最適化のことですよね。
コンパイラの最適化を無効にして、やってみました。
A
timeGetTime()による時間:7msec
カーネルモード時間:499usec
ユーザモード時間:14882usec
B
timeGetTime()による時間:7msec
カーネルモード時間:31usec
ユーザモード時間:124usec
同じ傾向になりました。
231デフォルトの名無しさん
2016/12/01(木) 13:30:33.53ID:O5qZU2qd232デフォルトの名無しさん
2016/12/01(木) 13:34:44.58ID:RgG4Eqmg >>226
いろいろ のところでライブラリの初期化とかやってない?
1回目はデータ構築処理があるのでCPUタイムを食うが、2回目は不要なのでCPUタイムを食わないとか。
で、DBとかサーバーへの問い合わせがあるので、7msくらいはかかってしまうなんてことは無いのか。
あるいは、2回目はfuncの中で別スレッドを起動して計算しているので、元スレッドのCPUタイムは食わないとか。
A B だけでなく A B C D と4回くらいやっても同じ傾向か、平均でなくすべてのタイムを見て
極端にばらつく値がないか調べるとかも必要では?
いろいろ のところでライブラリの初期化とかやってない?
1回目はデータ構築処理があるのでCPUタイムを食うが、2回目は不要なのでCPUタイムを食わないとか。
で、DBとかサーバーへの問い合わせがあるので、7msくらいはかかってしまうなんてことは無いのか。
あるいは、2回目はfuncの中で別スレッドを起動して計算しているので、元スレッドのCPUタイムは食わないとか。
A B だけでなく A B C D と4回くらいやっても同じ傾向か、平均でなくすべてのタイムを見て
極端にばらつく値がないか調べるとかも必要では?
233デフォルトの名無しさん
2016/12/01(木) 22:49:24.47ID:/t7qmsTu234デフォルトの名無しさん
2016/12/02(金) 08:27:00.87ID:GvPbDV6s どこがWin32APIの話なんだよ、ってことになるよなあ。
長々と議論に付き合ってた方々、お疲れ様。
長々と議論に付き合ってた方々、お疲れ様。
235デフォルトの名無しさん
2016/12/02(金) 09:07:26.76ID:0vMtCyDD 粒度の平均化してるとか言って全く出来てないし
精度の悪い数字を正しいと断定してるし
しかも間違ってる
何度も指摘してるのに正そうとしない
全部ダメでしょ。
精度の悪い数字を正しいと断定してるし
しかも間違ってる
何度も指摘してるのに正そうとしない
全部ダメでしょ。
236デフォルトの名無しさん
2016/12/02(金) 09:21:55.13ID:+ocxhyeH >>211みたいな事言ってるからお察し
237185
2016/12/02(金) 10:43:58.72ID:H1x5ETqP 報告書は突っ返されたので、まだまだ続きそうです。
まず、大大大前提を確認したいのですが、
GetThreadTimes()で取得するCPU時間は
スレッドがCPUをとっている時間で、
一つのスレッドが同時に複数のコアを占有することはないので、
(精度云々ではなく定義上は)スレッドのCPU時間は実時間以下である(以下のペースで進む)。
これは、大前提としてあってますよね?
まず、大大大前提を確認したいのですが、
GetThreadTimes()で取得するCPU時間は
スレッドがCPUをとっている時間で、
一つのスレッドが同時に複数のコアを占有することはないので、
(精度云々ではなく定義上は)スレッドのCPU時間は実時間以下である(以下のペースで進む)。
これは、大前提としてあってますよね?
238デフォルトの名無しさん
2016/12/02(金) 10:47:04.34ID:rEQGNTwO なんだ学校の課題だったのか
239デフォルトの名無しさん
2016/12/02(金) 11:24:10.48ID:EDk65fqO 質問者より賢い人はいないのか?
これでは、質問箱が成り立たないなw
これでは、質問箱が成り立たないなw
240デフォルトの名無しさん
2016/12/02(金) 11:27:08.99ID:+ocxhyeH241デフォルトの名無しさん
2016/12/02(金) 11:48:56.99ID:2Jj/uLxs だから再現できるサンプルをサクッと上げろよ。
だれも実物や社外ライブラリまで上げろといってないんだわ。
コーディングやデバッグ能力以外の能力が大きく欠如してるだろ。
だれも実物や社外ライブラリまで上げろといってないんだわ。
コーディングやデバッグ能力以外の能力が大きく欠如してるだろ。
242185
2016/12/02(金) 11:58:27.27ID:H1x5ETqP 10回やってみました。
つまり、>>226のコードでAとBだけでなく、AからJまでやってみました。
A
timeGetTime()による時間:7msec
カーネルモード時間:1092usec
ユーザモード時間:14133usec
B
timeGetTime()による時間:7msec
カーネルモード時間:249usec
ユーザモード時間:343usec
C
timeGetTime()による時間:7msec
カーネルモード時間:936usec
ユーザモード時間:9141usec
D
timeGetTime()による時間:7msec
カーネルモード時間:1372usec
ユーザモード時間:4180usec
E
timeGetTime()による時間:7msec
カーネルモード時間:561usec
ユーザモード時間:6583usec
F
timeGetTime()による時間:7msec
カーネルモード時間:717usec
ユーザモード時間:7737usec
G
timeGetTime()による時間:7msec
カーネルモード時間:468usec
ユーザモード時間:4773usec
つまり、>>226のコードでAとBだけでなく、AからJまでやってみました。
A
timeGetTime()による時間:7msec
カーネルモード時間:1092usec
ユーザモード時間:14133usec
B
timeGetTime()による時間:7msec
カーネルモード時間:249usec
ユーザモード時間:343usec
C
timeGetTime()による時間:7msec
カーネルモード時間:936usec
ユーザモード時間:9141usec
D
timeGetTime()による時間:7msec
カーネルモード時間:1372usec
ユーザモード時間:4180usec
E
timeGetTime()による時間:7msec
カーネルモード時間:561usec
ユーザモード時間:6583usec
F
timeGetTime()による時間:7msec
カーネルモード時間:717usec
ユーザモード時間:7737usec
G
timeGetTime()による時間:7msec
カーネルモード時間:468usec
ユーザモード時間:4773usec
243185
2016/12/02(金) 11:58:51.26ID:H1x5ETqP H
timeGetTime()による時間:7msec
カーネルモード時間:655usec
ユーザモード時間:9672usec
I
timeGetTime()による時間:7msec
カーネルモード時間:218usec
ユーザモード時間:4149usec
J
timeGetTime()による時間:7msec
カーネルモード時間:405usec
ユーザモード時間:10795usec
全体(A〜J)
timeGetTime()による時間:74msec
カーネルモード時間:6645usec
ユーザモード時間:71510usec
timeGetTime()による時間:7msec
カーネルモード時間:655usec
ユーザモード時間:9672usec
I
timeGetTime()による時間:7msec
カーネルモード時間:218usec
ユーザモード時間:4149usec
J
timeGetTime()による時間:7msec
カーネルモード時間:405usec
ユーザモード時間:10795usec
全体(A〜J)
timeGetTime()による時間:74msec
カーネルモード時間:6645usec
ユーザモード時間:71510usec
244デフォルトの名無しさん
2016/12/02(金) 12:10:39.48ID:fHtgnGrJ 仕事が出来ないから、タダで手取り足取り協力してくれってか
245185
2016/12/02(金) 13:02:57.14ID:H1x5ETqP246デフォルトの名無しさん
2016/12/02(金) 13:27:24.15ID:bjzW9gj9 >>228
ドラスレの木屋さんも、timeGetTimeのこと調べてたな
ドラスレの木屋さんも、timeGetTimeのこと調べてたな
247デフォルトの名無しさん
2016/12/02(金) 14:04:58.11ID:ELslSS33 timeGetTimeやめてQueryPerformanceCounterを使ったら?
248デフォルトの名無しさん
2016/12/02(金) 14:15:28.80ID:ocojT6FV 内容のアホさからして
オバケじゃないことは確実
オバケじゃないことは確実
249デフォルトの名無しさん
2016/12/02(金) 14:17:49.26ID:6Vgvdyao あらかじめtimeBeginPeriodも呼んでおかないと精度変わる
250デフォルトの名無しさん
2016/12/02(金) 14:21:54.01ID:ELslSS33 静的領域に書き込みすると、コピーオンライトが発生し、
動的領域を確保すると、最初とおよび足りない時はOSで確保と初期化があると思う
それが1回目が遅い理由な気がする
動的領域を確保すると、最初とおよび足りない時はOSで確保と初期化があると思う
それが1回目が遅い理由な気がする
251デフォルトの名無しさん
2016/12/02(金) 14:30:05.73ID:LG3SGwVv 質問者はアレだが
それはそうと、どうでも良いことをいうのはやめたほうが良いだろう
実時間とスレッド時間が食い違うって話だから
1回目が遅いとかそういう話ではない
それはそうと、どうでも良いことをいうのはやめたほうが良いだろう
実時間とスレッド時間が食い違うって話だから
1回目が遅いとかそういう話ではない
252デフォルトの名無しさん
2016/12/02(金) 17:49:56.46ID:EDk65fqO 結局>>237すら教えてあげなかったんだな。
253デフォルトの名無しさん
2016/12/02(金) 18:15:57.54ID:2Jj/uLxs 質問者のアプローチや解釈が正しいのかが分からないのに、憶測で質問者回答者とも上から目線で
やりあってる状況にまず疑問を抱いた方がいい。
そしてそれら以下の書き込みしかできないID:EDk65fqOはクソ中のクソだと認識した方がいい。
やりあってる状況にまず疑問を抱いた方がいい。
そしてそれら以下の書き込みしかできないID:EDk65fqOはクソ中のクソだと認識した方がいい。
254デフォルトの名無しさん
2016/12/02(金) 22:19:54.42ID:rH7Be8WN 最初からGetThreadTimesは約1/64秒の精度しか無いって分かっていたはずなのにね。
平均とっても意味がないってことが改めて分かったことだけが成果か。
平均とっても意味がないってことが改めて分かったことだけが成果か。
255デフォルトの名無しさん
2016/12/02(金) 23:51:36.19ID:DveiiCO5256デフォルトの名無しさん
2016/12/03(土) 10:51:33.05ID:YdYTZThj OSがどうやってカーネルモードやユーザーモードの時間を計測しているのか想像できないのかねえ
オーバーヘッドが高いやり方は採用できないと分かりそうなもんだが
オーバーヘッドが高いやり方は採用できないと分かりそうなもんだが
257デフォルトの名無しさん
2016/12/03(土) 11:08:29.93ID:JHScEEfz 触発されてGetThreadTimes=NtQueryInformationThread調べたんだけど”スレッド”の中身が興味深かった
質問者糞だから詳細は書かないがw
質問者糞だから詳細は書かないがw
258デフォルトの名無しさん
2016/12/03(土) 20:00:37.46ID:6jC0i+kE 俺もほんとはGetThreadTimesの特性知ってるけど、
質問者が土下座しないと教えてやらねぇw
質問者が土下座しないと教えてやらねぇw
259デフォルトの名無しさん
2016/12/03(土) 20:35:28.76ID:xp0AwakX GO
260デフォルトの名無しさん
2016/12/03(土) 20:36:25.77ID:xp0AwakX the old new thing
261デフォルトの名無しさん
2016/12/04(日) 11:31:12.68ID:8oIVw/6i Windows10ってCOMポート番号は最大何番までなんでしょうか?
262デフォルトの名無しさん
2016/12/04(日) 11:37:47.55ID:NE4G8kum com1〜com256まで
263デフォルトの名無しさん
2016/12/04(日) 12:08:20.93ID:HYzaL+1F 昔、レジストリから認識してるポート名を取得するサンプルあったな。
MSDNだったかな
MSDNだったかな
264デフォルトの名無しさん
2016/12/04(日) 12:22:02.41ID:SxgHpTya select欲しい
266デフォルトの名無しさん
2016/12/09(金) 00:46:48.41ID:WzSsU1Dc WM_CHARでWPARAMに入ってくるコード一覧どっかない?
普通のキーならそのままだが、Back SpaceとかCtrl+Vとかのコードが知りたい。
普通のキーならそのままだが、Back SpaceとかCtrl+Vとかのコードが知りたい。
267片山博文MZ ◆T6xkBnTXz7B0
2016/12/09(金) 01:04:26.73ID:IirsZJ4E >>266
キーが押されてるかどうかの確認は、WM_KEYDOWNを使う。
「仮想キーコード一覧」で検索。
ただし、Ctrl,Shift,Altはmodifiersと呼ばれ、特別扱い。CtrlとShiftは
GetKeyState(VK_SHIFT) < 0
GetKeyState(VK_CONTROL) < 0
で確認でき、AltはWM_NCKEYDOWNで確認できる。
キーが押されてるかどうかの確認は、WM_KEYDOWNを使う。
「仮想キーコード一覧」で検索。
ただし、Ctrl,Shift,Altはmodifiersと呼ばれ、特別扱い。CtrlとShiftは
GetKeyState(VK_SHIFT) < 0
GetKeyState(VK_CONTROL) < 0
で確認でき、AltはWM_NCKEYDOWNで確認できる。
268片山博文MZ ◆T6xkBnTXz7B0
2016/12/09(金) 01:07:15.74ID:IirsZJ4E 訂正。
× AltはWM_NCKEYDOWNで確認できる。
○ AltはWM_SYSKEYDOWNで確認できる。
× AltはWM_NCKEYDOWNで確認できる。
○ AltはWM_SYSKEYDOWNで確認できる。
269デフォルトの名無しさん
2016/12/12(月) 20:09:14.26ID:UWkfYPy/ プログラム実行中のログテキストをエディットコントロールに出力しようと思ったのですが、
32KB制限があり実用できないことが分かりました。
リッチエディットではそのような制限はないようなので、
特に問題なければこれでいこうかと考えているのですが、
他に良い方法があればご教示ください。
32KB制限があり実用できないことが分かりました。
リッチエディットではそのような制限はないようなので、
特に問題なければこれでいこうかと考えているのですが、
他に良い方法があればご教示ください。
270デフォルトの名無しさん
2016/12/12(月) 20:14:54.27ID:cpVlzpwx >>269
つ AllocConsole
つ AllocConsole
271デフォルトの名無しさん
2016/12/12(月) 20:17:01.65ID:dREO/TsY EM_SETLIMITTEXT
272269
2016/12/12(月) 20:41:35.46ID:UWkfYPy/273デフォルトの名無しさん
2016/12/13(火) 09:08:32.63ID:GC6m09wL >>272
検索が必要ならリッチエディット
検索が必要ならリッチエディット
274269
2016/12/13(火) 21:50:24.46ID:EhPW3kvE >>273
リッチエディットで実装を進めていて、あとは検索機能だけ、というところまで作れたんですが、
まさかリッチエディット自体に検索機能があったとは・・・!
ここでお聞きしてよかったです。
ありがとうございました!
リッチエディットで実装を進めていて、あとは検索機能だけ、というところまで作れたんですが、
まさかリッチエディット自体に検索機能があったとは・・・!
ここでお聞きしてよかったです。
ありがとうございました!
275デフォルトの名無しさん
2016/12/19(月) 05:43:50.59ID:qsdLnaaR paint.netのツールウィンドウみたいなやつってどうやって表示するの?
ウィンドウスタイルを色々試してみたけどあれと同じようなウィンドウが出ない。
ウィンドウスタイルを色々試してみたけどあれと同じようなウィンドウが出ない。
276デフォルトの名無しさん
2016/12/19(月) 07:17:38.33ID:jpBVYjvn 拡張ウィンドウスタイル使え。
277デフォルトの名無しさん
2016/12/19(月) 23:46:04.62ID:qsdLnaaR >>276
ありがとう。
拡張スタイル使ってもやっぱり無理だ。
思い通りに動かない。
数年前からずっと謎なんだよなこれ。
動作上問題が少ないから我慢してたんだけども。
それっぽいウインドウは出るものの、paint.netのように全ウインドウがアクティブ状態にならない。
【参考画像】http://news.softpedia.com/images/extra/WINDOWS3/large/paint.net/paint.net%20interface.jpg
paint.netを実際に使ってるとよく分かるんだが、
参考画像のようにメインのウインドウもツール用のウインドウも常にアクティブな状態が維持される。
しかし、拡張スタイルでWS_EX_TOOLWINDOWを指定してもアクティブなウインドウは常に1つ。
メインのウインドウをクリックすればツール用ウインドウは非アクティブになり、
ツール用ウインドウをクリックすればメインウインドウは非アクティブになる。
非常に気持ちが悪い。
確かにWS_EX_TOOLWINDOWを利用すればメインウインドウより常に前面になり、
タスクバーにも表示されず、非常にpaint.netのツールウインドウと似たような挙動になるが、
このアクティブ/非アクティブに関しては挙動が全く違う。
ちなみにアクティブ/非アクティブの判断はタイトルバーの色で判断している。
さらに参考画像のツールウインドウのような右上の正方形の閉じるボタンの表示のさせかたも分からない。
・・・と思ったら出てきたわ。
http://www.catch22.net/tuts/docking-toolbars-part-1
やっと出てきた。
WS_EX_TOOLWINDOWで検索してもノイズが多くてなかなか出てこなかった。
(ノイズ = MSDNのウインドウスタイルの一覧をコピペしただけのゴミサイト)
ノイズゴミサイトマジで迷惑。
嫌がらせでしかない。
ありがとう。
拡張スタイル使ってもやっぱり無理だ。
思い通りに動かない。
数年前からずっと謎なんだよなこれ。
動作上問題が少ないから我慢してたんだけども。
それっぽいウインドウは出るものの、paint.netのように全ウインドウがアクティブ状態にならない。
【参考画像】http://news.softpedia.com/images/extra/WINDOWS3/large/paint.net/paint.net%20interface.jpg
paint.netを実際に使ってるとよく分かるんだが、
参考画像のようにメインのウインドウもツール用のウインドウも常にアクティブな状態が維持される。
しかし、拡張スタイルでWS_EX_TOOLWINDOWを指定してもアクティブなウインドウは常に1つ。
メインのウインドウをクリックすればツール用ウインドウは非アクティブになり、
ツール用ウインドウをクリックすればメインウインドウは非アクティブになる。
非常に気持ちが悪い。
確かにWS_EX_TOOLWINDOWを利用すればメインウインドウより常に前面になり、
タスクバーにも表示されず、非常にpaint.netのツールウインドウと似たような挙動になるが、
このアクティブ/非アクティブに関しては挙動が全く違う。
ちなみにアクティブ/非アクティブの判断はタイトルバーの色で判断している。
さらに参考画像のツールウインドウのような右上の正方形の閉じるボタンの表示のさせかたも分からない。
・・・と思ったら出てきたわ。
http://www.catch22.net/tuts/docking-toolbars-part-1
やっと出てきた。
WS_EX_TOOLWINDOWで検索してもノイズが多くてなかなか出てこなかった。
(ノイズ = MSDNのウインドウスタイルの一覧をコピペしただけのゴミサイト)
ノイズゴミサイトマジで迷惑。
嫌がらせでしかない。
278デフォルトの名無しさん
2016/12/19(月) 23:50:28.70ID:qsdLnaaR 結局今回のカギはGoogle画像検索。
ふと「サンプル載せてるサイトの半数くらいはスクショも載せてるのではないか」と思い、
例の拡張スタイルで画像検索。
俺がやりたいのと同じ状況になってる画像を見つけて開いたらビンゴ。
画像検索なんて今まで思いもよらなかったよ。
文字検索するとノイズゴミサイトばかり出てきてどうにもならなかった。
ふと「サンプル載せてるサイトの半数くらいはスクショも載せてるのではないか」と思い、
例の拡張スタイルで画像検索。
俺がやりたいのと同じ状況になってる画像を見つけて開いたらビンゴ。
画像検索なんて今まで思いもよらなかったよ。
文字検索するとノイズゴミサイトばかり出てきてどうにもならなかった。
279デフォルトの名無しさん
2016/12/19(月) 23:52:55.75ID:qsdLnaaR MSDNのコピペサイト作ってるゴミ共は早く死ねばいいのにな。
役に立たないどころか大迷惑。
最近流行りの質の低いキュレーションサイト()と同レベル。
役に立たないどころか大迷惑。
最近流行りの質の低いキュレーションサイト()と同レベル。
280デフォルトの名無しさん
2016/12/20(火) 00:02:24.24ID:tFkwVopE >>275の意味がまったくわからなkったわww
281デフォルトの名無しさん
2016/12/20(火) 06:12:08.47ID:ADGhogoA google personal blocklistでかたっぱしからブロックしてる
xxxユーザー会もノイズ源だね
xxxユーザー会もノイズ源だね
282デフォルトの名無しさん
2016/12/20(火) 09:20:12.73ID:F0IdvAwo 顔写真ブロックは必須
おまえらキモ面なのに何故あんな目立つ場所に配置すんだ
おまえらキモ面なのに何故あんな目立つ場所に配置すんだ
283デフォルトの名無しさん
2016/12/20(火) 12:55:43.49ID:lAXr92yw284デフォルトの名無しさん
2016/12/20(火) 13:00:10.44ID:lAXr92yw >>279
はてぶのことですねわかります
はてぶのことですねわかります
285デフォルトの名無しさん
2016/12/20(火) 16:58:42.80ID:WXAyO/1W286デフォルトの名無しさん
2016/12/20(火) 17:33:10.55ID:Sq2CbWR0 OSSのソフトを逆コンパイルするの?
287デフォルトの名無しさん
2016/12/20(火) 17:44:58.45ID:F0IdvAwo 今はちがうだろ
288デフォルトの名無しさん
2016/12/20(火) 18:45:47.25ID:lAXr92yw 新手のアフィか
289デフォルトの名無しさん
2016/12/20(火) 19:12:59.79ID:F0IdvAwo アフィだったのかよ。新手すぎてアフィの影すら俺には見えん
290デフォルトの名無しさん
2016/12/20(火) 22:05:37.09ID:JPbALvOm MSDNのコピペサイト全般のことだろう>アフィ
291デフォルトの名無しさん
2016/12/21(水) 01:04:08.51ID:HCdO29Rc 質問
writefile関数を使用してint型で、データ保存ができません。同じ悩み持ったことある人いらっしゃいませんか。
writefile関数を使用してint型で、データ保存ができません。同じ悩み持ったことある人いらっしゃいませんか。
292デフォルトの名無しさん
2016/12/21(水) 01:09:18.76ID:GvkBvmPc int Data = 123456;;
DWORD writeLen;
WriteFile(hFile,&Data,sizeof(Data),&writeLen,NULL);
こういうことだろ?
DWORD writeLen;
WriteFile(hFile,&Data,sizeof(Data),&writeLen,NULL);
こういうことだろ?
293デフォルトの名無しさん
2016/12/21(水) 01:10:40.03ID:kLgQ2k1v 変数のアドレスをwritefileにわたさないとだめ。数値そのままわたしてるんでしょ
294デフォルトの名無しさん
2016/12/21(水) 21:06:02.77ID:HCdO29Rc295デフォルトの名無しさん
2016/12/22(木) 08:34:56.43ID:tk15BRot msdn 関数名
でググる癖をつけよう
でググる癖をつけよう
296デフォルトの名無しさん
2016/12/22(木) 12:50:31.88ID:y+mdv7YD -jp もお忘れなく
297デフォルトの名無しさん
2016/12/22(木) 13:04:48.47ID:hYDEOt1H どうしてこういう訳そのままずっと放置してんだろうな
> 関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
> If the function fails, the return value is zero. To get extended error information, call GetLastError.
> 関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
> If the function fails, the return value is zero. To get extended error information, call GetLastError.
298デフォルトの名無しさん
2016/12/22(木) 18:24:16.26ID:zHNnrJEM >>296
なんで付けるの?
誤訳トラップにハマりたいの?
俺は誤訳トラップどころか英語版と日本語版で引数違うトラップにハマったことがあるけども。
日本語版を穴が空くほど見て確認したけど何日経ってもコンパイルが通らず、
何の気なしに英語版開いたら引数の数が違って、
英語版見ながら修正したら一発でコンパイル通ったわ。
なんで付けるの?
誤訳トラップにハマりたいの?
俺は誤訳トラップどころか英語版と日本語版で引数違うトラップにハマったことがあるけども。
日本語版を穴が空くほど見て確認したけど何日経ってもコンパイルが通らず、
何の気なしに英語版開いたら引数の数が違って、
英語版見ながら修正したら一発でコンパイル通ったわ。
299デフォルトの名無しさん
2016/12/22(木) 18:39:46.34ID:hYDEOt1H >>298
+jp じゃなくて -jp
+jp じゃなくて -jp
300デフォルトの名無しさん
2016/12/22(木) 18:47:30.93ID:YVr1LIe6301デフォルトの名無しさん
2016/12/22(木) 18:55:29.30ID:zHNnrJEM302デフォルトの名無しさん
2016/12/22(木) 19:02:14.56ID:tk15BRot >>301
C言語を始めよう!
C言語を始めよう!
303デフォルトの名無しさん
2016/12/22(木) 22:46:25.55ID:+nnZ9oR0 レポートタイプのリストビューをクリックしたら、その行のデータに対応する内容を
別の窓に詳細表示するというような動作をしているのですが、クリック時は NM_CLICK
を処理してクリックされた行を nmLv->iItem メンバを参照して知ることができます。
オペレーションとしてはマウスだけではなくキーボード操作でリストビューの選択行を
次々と移動させることも多いので、LVN_KEYDOWN も処理して上記と同様の動作を
させたいのですが、LVN_KEYDOWN 処理時は nmLv->iItem の中身が不定です。
LVN_KEYDOWN 処理時に ListView_GetNextItem で LVNI_ALL | LVNI_SELECTED を
指定して選択行を調べると、キーボードを押して選択行を変更する前の選択行が
得られてしまいます。
この辺は、一旦メッセージループを回すなどしてから現在の選択行を得ること自体は
可能と言えば可能なのですが、ここまでしないとダメなのかという疑問があります。
LVN_KEYDOWN 処理時、もしくはキーボード操作で選択行を変更した際、簡潔に
現在の選択行を得る方法はありますでしょうか?
別の窓に詳細表示するというような動作をしているのですが、クリック時は NM_CLICK
を処理してクリックされた行を nmLv->iItem メンバを参照して知ることができます。
オペレーションとしてはマウスだけではなくキーボード操作でリストビューの選択行を
次々と移動させることも多いので、LVN_KEYDOWN も処理して上記と同様の動作を
させたいのですが、LVN_KEYDOWN 処理時は nmLv->iItem の中身が不定です。
LVN_KEYDOWN 処理時に ListView_GetNextItem で LVNI_ALL | LVNI_SELECTED を
指定して選択行を調べると、キーボードを押して選択行を変更する前の選択行が
得られてしまいます。
この辺は、一旦メッセージループを回すなどしてから現在の選択行を得ること自体は
可能と言えば可能なのですが、ここまでしないとダメなのかという疑問があります。
LVN_KEYDOWN 処理時、もしくはキーボード操作で選択行を変更した際、簡潔に
現在の選択行を得る方法はありますでしょうか?
304デフォルトの名無しさん
2016/12/22(木) 23:02:45.31ID:hYDEOt1H LVN_ITEMCHANGED
305デフォルトの名無しさん
2016/12/23(金) 14:54:42.80ID:qGVMhgWM 質問です。
win10 x64
windows がキャッシュしてる dns の名前解決結果の一部を書き換えることは可能ですか?
または、名前解決の最中に結果をいじるようなフックは出来ませんか?
例えば、example.com の ttl を長めに書き換える、とかです。
よろしくお願いします。
win10 x64
windows がキャッシュしてる dns の名前解決結果の一部を書き換えることは可能ですか?
または、名前解決の最中に結果をいじるようなフックは出来ませんか?
例えば、example.com の ttl を長めに書き換える、とかです。
よろしくお願いします。
306片山博文MZ ◆T6xkBnTXz7B0
2016/12/23(金) 15:00:49.80ID:3xdKhrkh >>305
デバッグ特権があれば、別のプロセスのプロセスメモリーにアクセスすることも可能。
デバッグ特権があれば、別のプロセスのプロセスメモリーにアクセスすることも可能。
307デフォルトの名無しさん
2016/12/23(金) 15:29:20.66ID:Kb3OsEli 対象アプリ限られてくるけどAPIフックすりゃ簡単に結果改竄はできるな
キャッシュ改竄はフィルタードライバあてる面倒なのしか思いつかない
キャッシュ改竄はフィルタードライバあてる面倒なのしか思いつかない
308デフォルトの名無しさん
2016/12/23(金) 15:36:22.73ID:5J5pLbD7 以下の処理を実装したく、助言をお願いします。
ダブルクリックや右クリ開くなどで、ファイルを開く際に
関連付けの有無に関わらず、そのファイルのパスを取得したい。
ShellProcあたりのフックかと考えましたが、パスをどうやって
調べるのか分かりません。
どうぞ宜しくお願いします。
ダブルクリックや右クリ開くなどで、ファイルを開く際に
関連付けの有無に関わらず、そのファイルのパスを取得したい。
ShellProcあたりのフックかと考えましたが、パスをどうやって
調べるのか分かりません。
どうぞ宜しくお願いします。
309デフォルトの名無しさん
2016/12/23(金) 15:54:43.63ID:Kb3OsEli 目的次第だがShellProcは違うんじゃないか
explorer.exeに対してShellExecuteあたりのフックか?
explorer.exeに対してShellExecuteあたりのフックか?
310デフォルトの名無しさん
2016/12/23(金) 15:59:09.98ID:5tPECy1o >>305
proxy arp
proxy arp
311305
2016/12/23(金) 16:14:48.81ID:sqLqmtwC >>305, 306
レスありがとうございます。
DLL注入やアタッチのよるDNS改ざんは確かにできそうですね。
検討してみます。
ちなみに、プロセスは基本的には chrome です。
>>307
できればフィルタードライバの設計を、おおざっぱでもいいので教えて頂けませんか?
(ドライバのコーディングは、ほぼ経験が無く、ネットワークそのものの知識はあるものの、windows内部での扱いやAPIはまったく知識が無いです)
ちなみに、VPNによる仮想アダプタと、複数のネットワークカード(アダプタ)があるのですが、それでも対応可能でしょうか?
(直感的には、特定アダプタに対するフィルターだと、アダプタの優先度に左右されそう。アダプタ依存にはしたくないです)
レスありがとうございます。
DLL注入やアタッチのよるDNS改ざんは確かにできそうですね。
検討してみます。
ちなみに、プロセスは基本的には chrome です。
>>307
できればフィルタードライバの設計を、おおざっぱでもいいので教えて頂けませんか?
(ドライバのコーディングは、ほぼ経験が無く、ネットワークそのものの知識はあるものの、windows内部での扱いやAPIはまったく知識が無いです)
ちなみに、VPNによる仮想アダプタと、複数のネットワークカード(アダプタ)があるのですが、それでも対応可能でしょうか?
(直感的には、特定アダプタに対するフィルターだと、アダプタの優先度に左右されそう。アダプタ依存にはしたくないです)
312デフォルトの名無しさん
2016/12/23(金) 16:17:28.56ID:gpKoKuI/313デフォルトの名無しさん
2016/12/23(金) 16:45:40.87ID:Kb3OsEli >>311
WDKサンプルのこのあたりが参考になるのかな
NDIS 6.0 Filter Driver
Windows Filtering Platform Packet Modification Sample
WDKサンプルのこのあたりが参考になるのかな
NDIS 6.0 Filter Driver
Windows Filtering Platform Packet Modification Sample
314デフォルトの名無しさん
2016/12/24(土) 07:41:05.18ID:AXa0yhpU >>313
ありがとうございます。参考にさせて頂きます。
ありがとうございます。参考にさせて頂きます。
315デフォルトの名無しさん
2016/12/24(土) 20:58:07.38ID:3KzFEnUI >>314
きっとおまえがやりたいことはchrome拡張でonbeforerequestいじれば解決する・・・
きっとおまえがやりたいことはchrome拡張でonbeforerequestいじれば解決する・・・
316デフォルトの名無しさん
2016/12/25(日) 22:10:16.80ID:n7UGfNqJ iniファイルから文字列を読み込むGetPrivateProfileString()なんですが、
セミコロン以下のコメント文まで読み込んでしまいます。
コメント文は読み込まないようにできないでしょうか?
それとも自分でコメント文を削除するしかないでしょうか?
セミコロン以下のコメント文まで読み込んでしまいます。
コメント文は読み込まないようにできないでしょうか?
それとも自分でコメント文を削除するしかないでしょうか?
317デフォルトの名無しさん
2016/12/26(月) 00:55:07.08ID:cwwyPIk6 同一行にコメントはwindows的にアウト
319デフォルトの名無しさん
2016/12/26(月) 08:40:18.91ID:I+2Q+LPS コメントを勘違いしてるんじゃね?
320デフォルトの名無しさん
2016/12/26(月) 21:20:51.81ID:SUV7MStA セミコロン付けたらコメントになるって言うけどよー
あれ実際は特別扱いなんかしてなくて、例えば
;abc=def
にしたら「;abc」って名前になるから「abc」に一致しなくなるだけじゃないかと疑ってる
あれ実際は特別扱いなんかしてなくて、例えば
;abc=def
にしたら「;abc」って名前になるから「abc」に一致しなくなるだけじゃないかと疑ってる
321デフォルトの名無しさん
2016/12/26(月) 21:34:05.02ID:sfc5Nc1U じゃあ「;abc」で試してみればよくね?
322デフォルトの名無しさん
2016/12/26(月) 22:12:12.96ID:ffv778mh セミコロンは行頭にある時だけを特別扱いしているみたいだ
323316
2016/12/29(木) 11:37:53.16ID:E1SACFDz 使ってるエディタが.iniの同一行コメントもコメント色に変換してくれるので、誤解してしまいました。
気を付けます。
気を付けます。
324デフォルトの名無しさん
2016/12/30(金) 13:34:08.58ID:qor2kyvR winsockの関数フックしたいんですけどインポートアドレステーブル上の
ws2_32.dllの関数だけ取得できません。どうしたら?
ttp://up2.cache.kouploader.jp/koups19399.txt
このコードは
自身のロードしたDLLの関数名を列挙するだけのシンプルなものですが、
やはりwinsockの関数名だけ取得できないです。
ImageDirectoryEntryToData()の第3引数を
IMAGE_DIRECTORY_ENTRY_IATや
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えても取得できませんでした(そもそも関数がnull返してくる
ws2_32.dllの関数だけ取得できません。どうしたら?
ttp://up2.cache.kouploader.jp/koups19399.txt
このコードは
自身のロードしたDLLの関数名を列挙するだけのシンプルなものですが、
やはりwinsockの関数名だけ取得できないです。
ImageDirectoryEntryToData()の第3引数を
IMAGE_DIRECTORY_ENTRY_IATや
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えても取得できませんでした(そもそも関数がnull返してくる
325デフォルトの名無しさん
2016/12/30(金) 13:46:15.25ID:ymKNG2iV WSAStartupは成功してんの?
326デフォルトの名無しさん
2016/12/30(金) 13:47:50.05ID:LToUj4mC 名無しだからcontinueですっ飛ばしてんだろ
327片山博文MZ ◆T6xkBnTXz7B0
2016/12/30(金) 14:07:12.37ID:nsN9rWIv GetLastError()を調べてみよ。
328324
2016/12/30(金) 14:41:23.26ID:qor2kyvR >>325
成功しているようです
>>326
関数名が名無しということですか?
>>327
どのタイミングでですか?
if(IMAGE_SNAP_BY_ORDINAL(pThunkData->u1.Ordinal))
winsockの関数だけこのif文が真になります。
ttp://i.imgur.com/jWNmlgm.png
デバッガでIAT覗くと、正しい関数名ではないが、2つの関数らしきもの?が表示されていて
これがWSAStartup()/WSACleanup()に対応するものだと思われます
他のDLLでは関数名が正しく表示されます。
これが、関数名が名無しということならどう対処するのかご教示頂きたいです。
海外のフォーラムの似たような質問では
ImageDirectoryEntryToData()の第3引数を
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えて成功したと書かれていたんですけどね、成功しませんでした。
成功しているようです
>>326
関数名が名無しということですか?
>>327
どのタイミングでですか?
if(IMAGE_SNAP_BY_ORDINAL(pThunkData->u1.Ordinal))
winsockの関数だけこのif文が真になります。
ttp://i.imgur.com/jWNmlgm.png
デバッガでIAT覗くと、正しい関数名ではないが、2つの関数らしきもの?が表示されていて
これがWSAStartup()/WSACleanup()に対応するものだと思われます
他のDLLでは関数名が正しく表示されます。
これが、関数名が名無しということならどう対処するのかご教示頂きたいです。
海外のフォーラムの似たような質問では
ImageDirectoryEntryToData()の第3引数を
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えて成功したと書かれていたんですけどね、成功しませんでした。
329デフォルトの名無しさん
2016/12/30(金) 15:38:47.57ID:LToUj4mC >>328
関数名は名前あるけど、インポートが名無し
関数名は名前あるけど、インポートが名無し
330デフォルトの名無しさん
2016/12/30(金) 15:39:26.81ID:Q3tvxZdg マクロというオチ
331デフォルトの名無しさん
2016/12/30(金) 15:40:45.50ID:LToUj4mC 対処は名前比較じゃなくてアドレス比較
332デフォルトの名無しさん
2016/12/30(金) 19:08:50.21ID:qor2kyvR >>331
ヒントありがとうございました。解決しました
PIMAGE_THUNK_DATA pThunkData = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->OriginalFirstThunk);
PIMAGE_THUNK_DATA pRealThunk = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->FirstThunk);
while(pThunkData->u1.Function){
FARPROC pfnImportedFunc = (FARPROC)(pRealThunk->u1.Function);
・・・
上記のIAT上の関数アドレスと、
LoadLibrary()&GetProcAddress()で取得したwinsock関数のアドレス
を比較し一致したものを書き換えたら成功しました。
ttp://blog.techlab-xe.net/wp-content/uploads/2014/05/pe-format-import-func-list.png
これそもそも
文字列比較より
アドレス比較を用いる方法のほうが正確なやりかたですよね?
ヒントありがとうございました。解決しました
PIMAGE_THUNK_DATA pThunkData = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->OriginalFirstThunk);
PIMAGE_THUNK_DATA pRealThunk = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->FirstThunk);
while(pThunkData->u1.Function){
FARPROC pfnImportedFunc = (FARPROC)(pRealThunk->u1.Function);
・・・
上記のIAT上の関数アドレスと、
LoadLibrary()&GetProcAddress()で取得したwinsock関数のアドレス
を比較し一致したものを書き換えたら成功しました。
ttp://blog.techlab-xe.net/wp-content/uploads/2014/05/pe-format-import-func-list.png
これそもそも
文字列比較より
アドレス比較を用いる方法のほうが正確なやりかたですよね?
333デフォルトの名無しさん
2017/01/21(土) 17:55:42.90ID:0py1wTB0 CreateProcess関数の質問です。この関数で開いた外部プロセスを、操作しようとしたらハンドルされていない例外エラー発生したことある人いますか?
エラーメッセの
オブジェクト参照がオブジェクトインスタンスに設定されていませんの意味もいまいちわからずです。悩んでいます。
どなたかヒントをくれたら幸いですm(__)m
エラーメッセの
オブジェクト参照がオブジェクトインスタンスに設定されていませんの意味もいまいちわからずです。悩んでいます。
どなたかヒントをくれたら幸いですm(__)m
334デフォルトの名無しさん
2017/01/21(土) 18:11:33.93ID:3w6w5xSi たぶんCreateProcessの問題じゃなくてソースコードの問題
基本的なとこをどっか間違えてると思う
基本的なとこをどっか間違えてると思う
335デフォルトの名無しさん
2017/01/21(土) 19:16:05.15ID:RjpRPNfA 前後のソース載せてみて
336デフォルトの名無しさん
2017/01/21(土) 20:46:43.34ID:1cIKmUbZ >>333
まずは使ってるプログラム言語から書こうか
まずは使ってるプログラム言語から書こうか
337デフォルトの名無しさん
2017/01/21(土) 23:19:24.15ID:0py1wTB0 >>335
>>336
HWND hwnd;
STARTUPINFO si;
BOOL boRet = 0;
DWORD dwRet = 0;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&piMplab, sizeof(piMplab));
si.cb=sizeof(si);
GetStartupInfo(&si);
boRet = CreateProcess(_T(""C:\Program Files (x86)\Microchip\PICkit 3 v3\"Pickit3.exe"),NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&piMplab);
CloseHandle(piMplab.hThread);
CloseHandle(piMplab.hProcess);
すみませんこんな感じですm(__)m↑
>>336
HWND hwnd;
STARTUPINFO si;
BOOL boRet = 0;
DWORD dwRet = 0;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&piMplab, sizeof(piMplab));
si.cb=sizeof(si);
GetStartupInfo(&si);
boRet = CreateProcess(_T(""C:\Program Files (x86)\Microchip\PICkit 3 v3\"Pickit3.exe"),NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&piMplab);
CloseHandle(piMplab.hThread);
CloseHandle(piMplab.hProcess);
すみませんこんな感じですm(__)m↑
338デフォルトの名無しさん
2017/01/21(土) 23:24:44.47ID:3w6w5xSi >>337
それ以外の部分、もしくは書くために変えた部分に問題があると思う
それ以外の部分、もしくは書くために変えた部分に問題があると思う
339デフォルトの名無しさん
2017/01/21(土) 23:31:13.18ID:/qDbjX4N アクセス権か
340デフォルトの名無しさん
2017/01/21(土) 23:55:07.37ID:1cIKmUbZ >>337
まずは CreatepProcess の戻り値とエラーなら GetLastError の値を確認しようか
まずは CreatepProcess の戻り値とエラーなら GetLastError の値を確認しようか
341デフォルトの名無しさん
2017/01/22(日) 06:55:36.39ID:JOxquhah _Tの中は本当にそれでいいのか
342デフォルトの名無しさん
2017/01/22(日) 06:58:42.28ID:w4vCkWXB \はここに貼り付けたから崩れたのか
元のソースが1個なのか
元のソースが1個なのか
343デフォルトの名無しさん
2017/01/22(日) 11:15:36.01ID:nyEfU5To344デフォルトの名無しさん
2017/01/23(月) 08:44:04.99ID:As9ZYPu9 そもそもどっちのプロセスがエラーを出してるかすら把握できてなさそう
子プロセス呼び出しはなんとなくコピペで扱うには荷が重い
子プロセス呼び出しはなんとなくコピペで扱うには荷が重い
345デフォルトの名無しさん
2017/01/25(水) 06:02:27.98ID:s4b0iZxC プロセスを起動して、ユーザーの入力に応答しているか確認するにはどうしたらいいでしょうか。
Process::Responding プロパティ以外の方法でお願いします。
うちの開発環境にはないので。
プロセスのウインドウを取得して、メッセージを送るくらいしか思いつかないのですが、ウィンドウがない可能性もあるし
もっとスマートな方法があればいいなと。
Process::Responding プロパティ以外の方法でお願いします。
うちの開発環境にはないので。
プロセスのウインドウを取得して、メッセージを送るくらいしか思いつかないのですが、ウィンドウがない可能性もあるし
もっとスマートな方法があればいいなと。
346デフォルトの名無しさん
2017/01/25(水) 07:20:09.51ID:fntd/u0o347デフォルトの名無しさん
2017/01/25(水) 09:04:47.86ID:paQpH1yu ネットワークプログラミングで言う所のキープアライブ的なのを実装じゃあかんの?
348デフォルトの名無しさん
2017/01/25(水) 10:50:26.10ID:SLV8VPLP349デフォルトの名無しさん
2017/01/25(水) 10:51:21.94ID:SLV8VPLP >ウィンドウがない可能性
プロセスId見て稼働率調べるかな
プロセスId見て稼働率調べるかな
350デフォルトの名無しさん
2017/01/25(水) 10:51:49.68ID:SLV8VPLP ああ無限ループで稼働率100%だとだめなのか
351デフォルトの名無しさん
2017/01/25(水) 12:52:29.97ID:uJriqNlz WaitForInputIdle
352デフォルトの名無しさん
2017/02/02(木) 12:01:31.08ID:386srHJg TrayNotifyWndにアプリアイコンを追加と削除をしたいのですが、どうすればよいでしょうか?
Shell_NotifyIconの登録みたいなやつです。
Shell_NotifyIconの登録と削除右派知っています。
Shell_NotifyIconの登録みたいなやつです。
Shell_NotifyIconの登録と削除右派知っています。
353デフォルトの名無しさん
2017/02/02(木) 12:17:03.67ID:Nq0thOwX Shell_NotifyIconでないならこれのことかな
https://msdn.microsoft.com/en-us/library/windows/desktop/cc144099(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/cc144099(v=vs.85).aspx
354デフォルトの名無しさん
2017/02/02(木) 13:37:19.22ID:386srHJg >>353
情報ありがとうございます。やりたい内容と、ちょっと違います。
windows8.1/10とかだと、タスクバーが上か下にあるとき、タスクトレイの右側か左側にTrayNotifyWndに
[IME]、[タッチパネル向けのキーボード]、[通知]などが表示されていますよね?
それらの場所に、自作のアプリアイコンを作りたいのです。
スパイでみると、
通知 ハンドル 001016E キャプション 通知センター クラス TrayButton
キーボード ハンドル 0010172 キャプション タッチキーボード クラス TIPBand
IME ハンドル 0010156 キャプション 無し クラス Button
となっています。
親ハンドルからたどってクラスを見るとTrayNotifyWndとなっています。
知りたいのは、SHAppBarMessageを使ったタスクバーみたいなウインドウではありません。
情報ありがとうございます。やりたい内容と、ちょっと違います。
windows8.1/10とかだと、タスクバーが上か下にあるとき、タスクトレイの右側か左側にTrayNotifyWndに
[IME]、[タッチパネル向けのキーボード]、[通知]などが表示されていますよね?
それらの場所に、自作のアプリアイコンを作りたいのです。
スパイでみると、
通知 ハンドル 001016E キャプション 通知センター クラス TrayButton
キーボード ハンドル 0010172 キャプション タッチキーボード クラス TIPBand
IME ハンドル 0010156 キャプション 無し クラス Button
となっています。
親ハンドルからたどってクラスを見るとTrayNotifyWndとなっています。
知りたいのは、SHAppBarMessageを使ったタスクバーみたいなウインドウではありません。
355デフォルトの名無しさん
2017/02/02(木) 13:49:49.54ID:386srHJg googleの画像検索で googleimeとかってやると下のような画面がでますよね?
https://www.google.co.jp/search?q=googleime&biw=1280&bih=607&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwiZzey0zfDRAhUJbrwKHQ4dBuAQ_AUICCgD#imgrc=j130VRRhjR7jdM:
TrayNotifyWndでにて、設定メニュをいじっているような画面のようなプログラムを作りたいのです。
https://www.google.co.jp/search?q=googleime&biw=1280&bih=607&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwiZzey0zfDRAhUJbrwKHQ4dBuAQ_AUICCgD#imgrc=j130VRRhjR7jdM:
TrayNotifyWndでにて、設定メニュをいじっているような画面のようなプログラムを作りたいのです。
356デフォルトの名無しさん
2017/02/02(木) 13:52:18.95ID:89UtyOev Shell_NotifyIconで登録して、クリックされたらメニュー表示すればそれになる
357デフォルトの名無しさん
2017/02/02(木) 14:17:43.87ID:386srHJg >>356
一般的な、Shell_NotifyIconでタスクトレイの登録ではないです。
タスクトレイの横に登録する手続きが知りたいのです。
mozcのソースコードをgrepしたところShell_NotifyIconは使われていないようです。
comクラスとかでTrayNotifyWndに追加するような機能があるのかなぁ。。
一般的な、Shell_NotifyIconでタスクトレイの登録ではないです。
タスクトレイの横に登録する手続きが知りたいのです。
mozcのソースコードをgrepしたところShell_NotifyIconは使われていないようです。
comクラスとかでTrayNotifyWndに追加するような機能があるのかなぁ。。
358デフォルトの名無しさん
2017/02/02(木) 14:36:09.97ID:89UtyOev すまん。通知領域はその右側か盲目だった
直接CreateWindowでぶらさげちゃうとかできないかな
直接CreateWindowでぶらさげちゃうとかできないかな
359デフォルトの名無しさん
2017/02/02(木) 15:53:49.61ID:8dKrrq5G IMEツールバーみたいにタスクトレイにドッキングしたいってこと?
360デフォルトの名無しさん
2017/02/02(木) 16:11:08.48ID:386srHJg >>359
機能はIMEではないですが、そんなかんじです。
機能はIMEではないですが、そんなかんじです。
361デフォルトの名無しさん
2017/02/02(木) 18:11:54.04ID:gbCpBU15 TrayNotifyWndを親にしてCreateToolbarExで作ればいいんじゃないのかな
362デフォルトの名無しさん
2017/02/02(木) 19:12:40.06ID:qO0hDPsp363デフォルトの名無しさん
2017/02/02(木) 20:07:51.95ID:Eu4e1EaI >>362
多分ソースは言語バーのcomクラス呼び出しだけで、実際の実装はWindows側
多分ソースは言語バーのcomクラス呼び出しだけで、実際の実装はWindows側
364デフォルトの名無しさん
2017/02/02(木) 23:04:33.49ID:386srHJg >>363
ざっくり調べたところ、おっしゃる通り言語バーのcom呼び出してるだけっぽかったです。
>>361
HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
hButton = CreateWindowEx(0,L"button",L"@",WS_CHILD | WS_VISIBLE,0,0,48,24,hTrayNotify,0,hInst,0);
一瞬ボタンが表示されて消えましたw
登録のさせ方がたぶん違いますよね。
TBBUTTON tbButton = { 0 , 0 , TBSTATE_ENABLED , TBSTYLE_BUTTON , 0 , 0 , 0 };
SendMessage(hTrayNotify, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
なにも起こらず。。orz
ざっくり調べたところ、おっしゃる通り言語バーのcom呼び出してるだけっぽかったです。
>>361
HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
hButton = CreateWindowEx(0,L"button",L"@",WS_CHILD | WS_VISIBLE,0,0,48,24,hTrayNotify,0,hInst,0);
一瞬ボタンが表示されて消えましたw
登録のさせ方がたぶん違いますよね。
TBBUTTON tbButton = { 0 , 0 , TBSTATE_ENABLED , TBSTYLE_BUTTON , 0 , 0 , 0 };
SendMessage(hTrayNotify, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
なにも起こらず。。orz
365デフォルトの名無しさん
2017/02/02(木) 23:11:43.26ID:386srHJg HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
だと、タスクトレイの内部に描画されてました。
やりたいことと違う;;
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
だと、タスクトレイの内部に描画されてました。
やりたいことと違う;;
366デフォルトの名無しさん
2017/02/03(金) 01:27:36.38ID:3xPmzf3n >>364
親側をsubclassしてボタン用のエリア常に用意してないからじゃない?
親側をsubclassしてボタン用のエリア常に用意してないからじゃない?
367デフォルトの名無しさん
2017/02/03(金) 09:17:19.56ID:pF10NEzN >>364
TrayNotifyWndが、もしツールバーのクラスを内部で保持してたら登録できるかなーと思いついての実験でした。。
ウインドクラスTrayNotifyWndにそんな機能はなかった。うまくいかないものですね。
TrayNotifyWndが、もしツールバーのクラスを内部で保持してたら登録できるかなーと思いついての実験でした。。
ウインドクラスTrayNotifyWndにそんな機能はなかった。うまくいかないものですね。
368デフォルトの名無しさん
2017/02/03(金) 09:34:28.94ID:pF10NEzN HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
HWND hToolbarWindow32 = FindWindowEx(hTrayNotify, NULL, L"ToolbarWindow32", NULL);
printf("handle %p %p %p ", hTaskBar, hTrayNotify, hToolbarWindow32);
SendMessage(hToolbarWindow32, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
実験してだめだったコード。。こんな感じでした。ウインドハンドルは普通に取得は成功していたみたいなんですけどね〜
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
HWND hToolbarWindow32 = FindWindowEx(hTrayNotify, NULL, L"ToolbarWindow32", NULL);
printf("handle %p %p %p ", hTaskBar, hTrayNotify, hToolbarWindow32);
SendMessage(hToolbarWindow32, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
実験してだめだったコード。。こんな感じでした。ウインドハンドルは普通に取得は成功していたみたいなんですけどね〜
369デフォルトの名無しさん
2017/02/03(金) 11:42:55.01ID:mwiWK7Ca 指定したソフトが生きてるかフリーズしてるかを判断できるAPI教えてくださいよ
370デフォルトの名無しさん
2017/02/03(金) 12:11:25.19ID:oHw8NUL1 メッセージ投げて帰ってくるかどうか
371デフォルトの名無しさん
2017/02/03(金) 13:01:49.10ID:3xPmzf3n372デフォルトの名無しさん
2017/02/03(金) 14:07:18.26ID:pF10NEzN >>371
その画像だと、ウインドウが、タスクトレイの位置にありませんか?
タスクトレイの内部にアプリアイコンを作るのであれば、Shell_NotifyIconで登録すればいいだけです。
やりたいのは、その画像でいうと、時計の右横の通知領域の右にウインド領域を追加したいのです。
その画像だと、ウインドウが、タスクトレイの位置にありませんか?
タスクトレイの内部にアプリアイコンを作るのであれば、Shell_NotifyIconで登録すればいいだけです。
やりたいのは、その画像でいうと、時計の右横の通知領域の右にウインド領域を追加したいのです。
373デフォルトの名無しさん
2017/02/03(金) 14:11:00.00ID:mwiWK7Ca >>370
それだと帰ってこなかったら出した側も固まりませんか?
それだと帰ってこなかったら出した側も固まりませんか?
374デフォルトの名無しさん
2017/02/03(金) 14:13:38.31ID:oHw8NUL1 >>373
別スレッドからメッセージ投げて、メインでスレッド監視して待機時間オーバーしたかどうかで判定するとか
別スレッドからメッセージ投げて、メインでスレッド監視して待機時間オーバーしたかどうかで判定するとか
375デフォルトの名無しさん
2017/02/03(金) 14:20:41.69ID:mwiWK7Ca376デフォルトの名無しさん
2017/02/03(金) 14:22:20.52ID:3xPmzf3n >>372
タスクトレイの左側にある隠れたアイコンを表示するための ^ ボタンの上に作ったボタンが表示されてる
ウインドウ表示位置だけの問題で期待してる通りだと思うよ
http://i.imgur.com/dyVnefi.png
>>373
無限ループで処理してるかもしれないから、生き死にの定義による
タスクトレイの左側にある隠れたアイコンを表示するための ^ ボタンの上に作ったボタンが表示されてる
ウインドウ表示位置だけの問題で期待してる通りだと思うよ
http://i.imgur.com/dyVnefi.png
>>373
無限ループで処理してるかもしれないから、生き死にの定義による
377デフォルトの名無しさん
2017/02/03(金) 14:39:36.19ID:Q4UhsfCm >>375
IsHungAppWindow
IsHungAppWindow
378デフォルトの名無しさん
2017/02/03(金) 15:40:26.62ID:mwiWK7Ca379デフォルトの名無しさん
2017/02/03(金) 17:34:15.41ID:Q4UhsfCm >>378
PostMessageは相手の処理を待たないから当然。
GetWindowRectも相手のプロセスが情報を返すわけじゃないから当然。
その方法を試すならSendMessage。
>while(1)だとウィンドウの移動もできたので
コンパイラの最適化によって(無意味な)無限ループが消されているかも。
PostMessageは相手の処理を待たないから当然。
GetWindowRectも相手のプロセスが情報を返すわけじゃないから当然。
その方法を試すならSendMessage。
>while(1)だとウィンドウの移動もできたので
コンパイラの最適化によって(無意味な)無限ループが消されているかも。
380デフォルトの名無しさん
2017/02/03(金) 18:01:24.26ID:Q4UhsfCm381デフォルトの名無しさん
2017/02/03(金) 18:07:05.86ID:mwiWK7Ca >>379
失礼、PostMessageじゃなくてSendMessageでした。
while(1)はウィンドウは動かせますがフォーム自体は固まった状態でした(マウスカーソルがくるくるになります)
IsHungAppWindowで指定間隔で数回みて連続でTRUEなら落ちてると判断できそうな感じでした
しかしwhile(1)ではなく実際にどこかのDLL関数内で落ちてる場合とかにFindWindowでハンドルは取れるのでしょうか?
失礼、PostMessageじゃなくてSendMessageでした。
while(1)はウィンドウは動かせますがフォーム自体は固まった状態でした(マウスカーソルがくるくるになります)
IsHungAppWindowで指定間隔で数回みて連続でTRUEなら落ちてると判断できそうな感じでした
しかしwhile(1)ではなく実際にどこかのDLL関数内で落ちてる場合とかにFindWindowでハンドルは取れるのでしょうか?
382デフォルトの名無しさん
2017/02/03(金) 18:08:21.50ID:mwiWK7Ca383デフォルトの名無しさん
2017/02/04(土) 13:09:50.99ID:koQjiQcQ メッセージ投げといてタイムアウトしたらあとは知らないって
まるで鍵垢へのフォロリクか2ちゃんの独り言のようだ
まるで鍵垢へのフォロリクか2ちゃんの独り言のようだ
384デフォルトの名無しさん
2017/02/04(土) 13:21:18.26ID:cCtqcbdk ピンポーン 宅配便でーす お留守ですかー ピンポーン ピンポーン
385デフォルトの名無しさん
2017/02/04(土) 15:21:09.56ID:e9aNESBj 帰りに台車を放り投げて荷物を蹴とばすんですね判ります
386デフォルトの名無しさん
2017/02/05(日) 11:14:06.81ID:bZw/U4Ow 使い道が想像できない
387デフォルトの名無しさん
2017/02/05(日) 19:54:32.92ID:ajRW1B46 GetWindowRectで得た値から計算して
MoveWindowに使うとズレるんですがこれは仕様なんですか?
例えばGetWindowRectで
left=100 right=200
top=100 bottom=200
だったとして、これだと幅と高さが
101になるので
MoveWindow(hwnd,100,100,101,101,TRUE)
としたら幅と高さが1ドットずつ膨らんでしまいます
MoveWindowに使うとズレるんですがこれは仕様なんですか?
例えばGetWindowRectで
left=100 right=200
top=100 bottom=200
だったとして、これだと幅と高さが
101になるので
MoveWindow(hwnd,100,100,101,101,TRUE)
としたら幅と高さが1ドットずつ膨らんでしまいます
388デフォルトの名無しさん
2017/02/05(日) 19:59:38.66ID:lBwes1rb WindowsAPIのRect系は右と下の1ドットは含まれないはずだったが
389デフォルトの名無しさん
2017/02/05(日) 20:00:15.60ID:Kv3SwlRy ピクセルの左上の隙間の位置を返す仕様(Javaと同じ)
なので単純に差を出して指定しないと膨らむ
なので単純に差を出して指定しないと膨らむ
390デフォルトの名無しさん
2017/02/05(日) 20:02:41.46ID:wagcFIA6 >>387
画面DPI100%以外になってない?vista以降はそれ原因で従来のAPIの扱いが面倒になってる
画面DPI100%以外になってない?vista以降はそれ原因で従来のAPIの扱いが面倒になってる
391デフォルトの名無しさん
2017/02/05(日) 20:05:12.27ID:ajRW1B46 MSDNを見ると
GetClientRectはleftとtopが常に0で
rightとbottomには幅と高さが入ってくると書かれていて
事実その通りになっていますが
GetWindowRectのほうは
ウインドウの左上座標と右下座標と表記されてるので
right-left+1 が幅になるはずです
なのでこの仕様はおかしいと思います
GetClientRectはleftとtopが常に0で
rightとbottomには幅と高さが入ってくると書かれていて
事実その通りになっていますが
GetWindowRectのほうは
ウインドウの左上座標と右下座標と表記されてるので
right-left+1 が幅になるはずです
なのでこの仕様はおかしいと思います
392デフォルトの名無しさん
2017/02/05(日) 20:08:48.13ID:DkYFBwwC393デフォルトの名無しさん
2017/02/05(日) 20:19:29.52ID:ajRW1B46 オセロでなく碁盤で数えろってことですね
納得しました
納得しました
394デフォルトの名無しさん
2017/02/06(月) 11:44:22.96ID:atuXlQHb >>392この辺ちゃんと理解してないと1ドット足りないみたいな事態になるんだよな
VBerとか1オリジンでUboundとか慣れてるとドはまりしそう
VBerとか1オリジンでUboundとか慣れてるとドはまりしそう
395デフォルトの名無しさん
2017/02/06(月) 15:30:39.87ID:sNAkUIYE >>391
GetClientRectの話だけど
left=top=0だとして
right=bottom=1だったら
幅と高さは1で
ウィンドウは(0,0)-(0,0)で1ピクセルのウィンドウだから
やっぱり幅と高さは1だし矛盾しない
GetClientRectの話だけど
left=top=0だとして
right=bottom=1だったら
幅と高さは1で
ウィンドウは(0,0)-(0,0)で1ピクセルのウィンドウだから
やっぱり幅と高さは1だし矛盾しない
396デフォルトの名無しさん
2017/02/06(月) 16:17:17.14ID:atuXlQHb 画像の部分クリップとかやりだすとちょっと混乱したりする教訓か
ドトネトなんかではx y width heightなプロパティを別に持っている
ドトネトなんかではx y width heightなプロパティを別に持っている
397デフォルトの名無しさん
2017/02/06(月) 17:51:48.08ID:2YUAIh/k SetWindowPosとMoveWindowとで
ウィンドウを動かした時に何か違いはあるんでしょうか?
SetWindowPosでウィンドウは動かせるのに
MoveWindowは何のために用意されてるんですか?
ウィンドウを動かした時に何か違いはあるんでしょうか?
SetWindowPosでウィンドウは動かせるのに
MoveWindowは何のために用意されてるんですか?
398片山博文MZ ◆T6xkBnTXz7B0
2017/02/06(月) 18:06:24.84ID:myCEQNc2 >>397
SetWindowPosの方がフラグ指定や挿入位置指定など、できることが多い。
SetWindowPosの方がフラグ指定や挿入位置指定など、できることが多い。
399デフォルトの名無しさん
2017/02/07(火) 08:29:41.33ID:g0+JjgLn >>398
ではMoveWindowは何のために存在しているの
ではMoveWindowは何のために存在しているの
400デフォルトの名無しさん
2017/02/07(火) 09:23:30.46ID:mtDQmVBr フラグとか触らないでただ動かす時のため
401デフォルトの名無しさん
2017/02/07(火) 11:23:40.44ID:IHNU1ydF 昔のことは知らないけど SetWindowPos が後から追加されたんじゃないの
402デフォルトの名無しさん
2017/02/07(火) 11:40:48.78ID:+LdvU0fQ 理由も昔のことも知らないけど 今はMoveWindowの内部でSetWindowPosが呼ばれてたと思う
403デフォルトの名無しさん
2017/02/07(火) 15:19:54.85ID:LuCsRke8 後方互換性のため
404デフォルトの名無しさん
2017/02/07(火) 22:51:17.46ID:m2J0GXa0 DeferWindowPos
405デフォルトの名無しさん
2017/02/17(金) 18:42:29.90ID:xKxGFEhy 実行ファイルの埋め込みマニフェストの実体をいじらずに
内容を修正した上で起動したり、任意の外部マニフェストファイルを読めるように
操作できませんか?
具体的には、マニフェストのcompatibilityの項目なんですが。。。
内容を修正した上で起動したり、任意の外部マニフェストファイルを読めるように
操作できませんか?
具体的には、マニフェストのcompatibilityの項目なんですが。。。
406デフォルトの名無しさん
2017/02/17(金) 19:08:12.47ID:yGnzX63H OSのバージョンにより異なる
ttps://msdn.microsoft.com/ja-jp/library/ms235342%28VS.80%29.aspx
ttp://www.taosoftware.co.jp/blog/2008/02/windows_1.html
ttp://nekojiru.blog.so-net.ne.jp/2007-09-03
ttps://msdn.microsoft.com/ja-jp/library/ms235342%28VS.80%29.aspx
ttp://www.taosoftware.co.jp/blog/2008/02/windows_1.html
ttp://nekojiru.blog.so-net.ne.jp/2007-09-03
407デフォルトの名無しさん
2017/02/17(金) 19:35:32.23ID:xKxGFEhy Windows7以降は埋め込み優先で、
実行ファイルのマニフェスト自身を書き換える方法、レジストリでOS自体の設定をいじる方法、
ActivateActCtx()でcommctl.dllは変更できるっぽい?
ってのはわかったんですが、個別に実行ファイルをいじらずに操作する方法があるかな、と思った次第です。
実行ファイルのマニフェスト自身を書き換える方法、レジストリでOS自体の設定をいじる方法、
ActivateActCtx()でcommctl.dllは変更できるっぽい?
ってのはわかったんですが、個別に実行ファイルをいじらずに操作する方法があるかな、と思った次第です。
408デフォルトの名無しさん
2017/02/17(金) 19:51:35.09ID:Z3/lG4/1 ショートカット作って、そのプロパティにアクセスして、互換性編集して、そのショートカットで起動させるとか?
409デフォルトの名無しさん
2017/03/01(水) 19:41:47.62ID:GhHUeiw5 windows8.1/10 マルチモニター環境で、ウインドウの位置がタッチパネルデバイスを
有するモニターであるかを調べたい場合どうすればよいですか?
HMONITOR hMonitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST);
これで、モニターのハンドルは調べられるのですが、
このモニターがタッチパネルを有するモニターを調べる場合どうすればいいかわかりません。
有するモニターであるかを調べたい場合どうすればよいですか?
HMONITOR hMonitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST);
これで、モニターのハンドルは調べられるのですが、
このモニターがタッチパネルを有するモニターを調べる場合どうすればいいかわかりません。
410デフォルトの名無しさん
2017/03/01(水) 19:53:26.09ID:IeB4TnBd Win32_PointingDeviceあたりだろうな
411デフォルトの名無しさん
2017/03/02(木) 16:15:18.67ID:35Ccu8m+ Win32 Pointhig Device軽く調べたんですが、それっぽいのないですね;;
412デフォルトの名無しさん
2017/03/02(木) 16:33:06.48ID:j0RdOmJS それでタッチかどうかわかるでしょ
あとはWin32_VideoController、Win32_DesktopMonitor、GetMonitorInfoあたりと情報突き合わせたら
その座標がタッチ対応かわかる
あとはWin32_VideoController、Win32_DesktopMonitor、GetMonitorInfoあたりと情報突き合わせたら
その座標がタッチ対応かわかる
413デフォルトの名無しさん
2017/03/02(木) 17:34:40.28ID:HWkXh2UP 応用がきくプログラマーを目指せ
414デフォルトの名無しさん
2017/03/02(木) 19:31:01.50ID:ZV5SMkF2 ここさわって
っていううメッセージを描いておく
っていううメッセージを描いておく
415デフォルトの名無しさん
2017/03/02(木) 20:19:05.81ID:HWkXh2UP 俺ならそのメッセージでもマウス操作しかしなさそうだわw
416デフォルトの名無しさん
2017/03/02(木) 21:11:15.50ID:35Ccu8m+ ユーザー側に、全てのモニターをタッチさせて、有効無効を設定してくれとダイアログだろうかと思いましたが、
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
417デフォルトの名無しさん
2017/03/02(木) 21:14:09.87ID:35Ccu8m+ ユーザー側に、全てのモニターをタッチさせて、有効無効を設定してくれと、ダイアログを出そうかと思いましたが、
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
418デフォルトの名無しさん
2017/03/03(金) 12:32:15.32ID:IUFykjWp Windowsじゃ何やっても無駄ですよ。
生産性はないです。
まともにタブで操作すると考え方をタブに合わせて全体を設計し直さないとダメでです。
ポインターの概念を画像で処理する必要ががります。
マルチで接触してる部分の個々の中心点を求めて
接触している部分にボタンの候補があるかどうか
そういう処理を行わないとだめ
Windowsが使えないのは、ポインティングデバイスから無理に
座標変換してるので誤操作と誤作動だらけになる。
マイクロソフトにはこの分野は作れないと思いますよ。
生産性はないです。
まともにタブで操作すると考え方をタブに合わせて全体を設計し直さないとダメでです。
ポインターの概念を画像で処理する必要ががります。
マルチで接触してる部分の個々の中心点を求めて
接触している部分にボタンの候補があるかどうか
そういう処理を行わないとだめ
Windowsが使えないのは、ポインティングデバイスから無理に
座標変換してるので誤操作と誤作動だらけになる。
マイクロソフトにはこの分野は作れないと思いますよ。
419デフォルトの名無しさん
2017/03/03(金) 12:56:20.62ID:Loi48FLt 入力なんていう低レベルからシェア捕れる可能性を秘めてる
集金システムもまともなのがないからそこもね
ハードからソフトまでガチガチなiphoneやandroidと違ってビジネスチャンスに溢れた自由なOS。それがWindows
集金システムもまともなのがないからそこもね
ハードからソフトまでガチガチなiphoneやandroidと違ってビジネスチャンスに溢れた自由なOS。それがWindows
420デフォルトの名無しさん
2017/03/03(金) 16:55:05.95ID:7kccr9GO >>418
窓板に何年も毎日貼り付いてるキチガイタイポマカーのコピペじゃねえかw
窓板に何年も毎日貼り付いてるキチガイタイポマカーのコピペじゃねえかw
421デフォルトの名無しさん
2017/03/04(土) 13:10:48.65ID:aE/wnzST どんなに優れていても誰にも使われなければ意味が無い。
422デフォルトの名無しさん
2017/03/04(土) 13:24:45.44ID:il8vJgV1 使われてるやん
って言ったら使ってる奴がアホってか?
って言ったら使ってる奴がアホってか?
423デフォルトの名無しさん
2017/03/04(土) 14:25:59.12ID:GRvQ2lmz シェア獲得率と優劣は比例しない
424デフォルトの名無しさん
2017/03/04(土) 14:32:38.90ID:svzWwCAT そう言っておかないとシェア4%のMacなんか何の立場もないもんな
425デフォルトの名無しさん
2017/03/04(土) 14:46:44.82ID:nGVyMKq0 シェア獲得率が高いものは、シェアに優れてる
426デフォルトの名無しさん
2017/03/04(土) 15:10:40.29ID:aE/wnzST 別に使われてると思ってるなら良いんでない?
俺は趣味でもあり金を稼ぐ道具でもあるからMacなんて使わんけど。
だいたい、知らんもんで金は稼げない。
俺は趣味でもあり金を稼ぐ道具でもあるからMacなんて使わんけど。
だいたい、知らんもんで金は稼げない。
427デフォルトの名無しさん
2017/03/04(土) 18:17:19.42ID:ZJLt6oM8 MacをPCだとするとシェア4%になるが
DTMコンソールやCG用レンダラーだとするとシェアが何倍にもなる不思議
DTMコンソールやCG用レンダラーだとするとシェアが何倍にもなる不思議
428デフォルトの名無しさん
2017/03/05(日) 13:07:20.68ID:Fl7T0tas >>419
でも優良見込み客を囲い込んでるのは i & a なんだよなぁ
でも優良見込み客を囲い込んでるのは i & a なんだよなぁ
429デフォルトの名無しさん
2017/03/05(日) 13:41:54.91ID:1JomNGIg >>427
2015年での世界におけるAppleのシェアは7.5%だそうです。
http://ascii.jp/elem/000/001/104/1104428/20160113_yohiro_PCShipment_03_767x659.png
2015年での世界におけるAppleのシェアは7.5%だそうです。
http://ascii.jp/elem/000/001/104/1104428/20160113_yohiro_PCShipment_03_767x659.png
430デフォルトの名無しさん
2017/03/05(日) 14:27:40.01ID:zkc5hO4d ベンダー出荷シェアとかOSの販売数ってのは利用率なシェアとは別モンだからな
431デフォルトの名無しさん
2017/03/05(日) 17:20:05.73ID:KDLljhIv 光学ドライブのAutoRunを無効にしてると、ディスクを入れ替えたことに気付けないみたいですが、
どうやったらディスクの情報をリフレッシュさせることができるのでしょうか?
ディレクトリ一覧を取得しようとしても、入れ替え前のディスクのディレクトリが出てきて困ってます
どうやったらディスクの情報をリフレッシュさせることができるのでしょうか?
ディレクトリ一覧を取得しようとしても、入れ替え前のディスクのディレクトリが出てきて困ってます
432デフォルトの名無しさん
2017/03/05(日) 19:16:54.98ID:zkc5hO4d 今のOSはAutoRun最初から無効だから、それが本当ならほとんどのPCでまともに取得できないってことになるな
ソースどっかミスってるんでしょ
ソースどっかミスってるんでしょ
433デフォルトの名無しさん
2017/03/05(日) 19:23:58.07ID:91bxBwXE もちろんエクスプローラーで開けば情報は更新されます。プログラムからトレイを開閉しても情報は更新されます。
光学ドライブのボタンで開閉すると、情報が更新されないままなのです。
光学ドライブのボタンで開閉すると、情報が更新されないままなのです。
434デフォルトの名無しさん
2017/03/05(日) 19:45:45.34ID:1JomNGIg435デフォルトの名無しさん
2017/03/10(金) 01:12:03.58ID:5qliBH2Z https://ideone.com/i4fQGS
Win32API勉強中なんですが、ウィンドウを作ることができません、hWndがNULLになってしまって途中で終わってしまいます
ウィンドウクラスの登録も失敗していないみたいなので原因がわかりません、どこが悪いのか教えてください
Win32API勉強中なんですが、ウィンドウを作ることができません、hWndがNULLになってしまって途中で終わってしまいます
ウィンドウクラスの登録も失敗していないみたいなので原因がわかりません、どこが悪いのか教えてください
436デフォルトの名無しさん
2017/03/10(金) 03:42:45.84ID:Vp9TD86Z 自分のウインドのZオーダーが変化したタイミングを調べたいのですが、
ウインドメッセージでなにかありましたっけ?
ウインドメッセージでなにかありましたっけ?
437デフォルトの名無しさん
2017/03/10(金) 03:48:47.30ID:G57q42um438デフォルトの名無しさん
2017/03/10(金) 04:07:50.94ID:Vp9TD86Z WM_WINDOWPOSCHANGEDは、だめでした。
ちなみにウインドウはCreateWindowExで、WS_EX_TOPMOSTしています。
ウインドウのスタートメニューが重なっと時にそれよりも前面に表示したいのですが。。
WM_WINDOWPOSCHANGEDにメッセージ来てないっぽいです。
今は、代案として1秒ごとに、SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);を入れているのですが、
もっといい方法ないでしょうか?
いま、GetWindowあたり調べているのですが、GetWindow(hWnd, GW_HWNDPREV);だと
imeのハンドルが取れるっぽいのでなんか違う。。orz
ちなみにウインドウはCreateWindowExで、WS_EX_TOPMOSTしています。
ウインドウのスタートメニューが重なっと時にそれよりも前面に表示したいのですが。。
WM_WINDOWPOSCHANGEDにメッセージ来てないっぽいです。
今は、代案として1秒ごとに、SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);を入れているのですが、
もっといい方法ないでしょうか?
いま、GetWindowあたり調べているのですが、GetWindow(hWnd, GW_HWNDPREV);だと
imeのハンドルが取れるっぽいのでなんか違う。。orz
439デフォルトの名無しさん
2017/03/10(金) 05:09:47.00ID:j91K0HTy ランサムウェアですねわかります
440デフォルトの名無しさん
2017/03/10(金) 05:17:14.60ID:Vp9TD86Z >>439
悪さするアプリじゃないんだが?
悪さするアプリじゃないんだが?
441デフォルトの名無しさん
2017/03/10(金) 07:10:36.82ID:n8W4k0Sb 異教徒の大量虐殺をためらわない一神教の思想性を理解するのに役立つ。
いずれ日本がアメリカに復讐する日が来るだろう。
いずれ日本がアメリカに復讐する日が来るだろう。
442デフォルトの名無しさん
2017/03/10(金) 07:13:07.30ID:n8W4k0Sb >>441 誤爆失礼
443デフォルトの名無しさん
2017/03/10(金) 08:47:49.51ID:Lkoti1g0 >>440
昔からこういう奴はいるから気にするな
昔からこういう奴はいるから気にするな
444デフォルトの名無しさん
2017/03/10(金) 14:11:40.65ID:wwCDmvkp 図星ですねわかります
445片山博文MZ ◆T6xkBnTXz7B0
2017/03/10(金) 14:29:16.92ID:iyjWrKHK NG: (HBRUSH)COLOR_BACKGROUND
OK: (HBRUSH)(COLOR_3DFACE + 1)
ShowWindow(hWnd, SW_SHOW);の後にUpdateWindow(hWnd);がない。
OK: (HBRUSH)(COLOR_3DFACE + 1)
ShowWindow(hWnd, SW_SHOW);の後にUpdateWindow(hWnd);がない。
446片山博文MZ ◆T6xkBnTXz7B0
2017/03/10(金) 14:30:21.93ID:iyjWrKHK ShowWindow(hWnd, SW_SHOW);
じゃなくて、ShowWindow(hWnd, nCmdShow);
かShowWindow(hWnd, SW_SHOWNORMAL);にしろ。
じゃなくて、ShowWindow(hWnd, nCmdShow);
かShowWindow(hWnd, SW_SHOWNORMAL);にしろ。
447デフォルトの名無しさん
2017/03/10(金) 14:40:49.87ID:ALHJU+Fn >>437
ありがとうございますこれでいけました
ありがとうございますこれでいけました
448デフォルトの名無しさん
2017/03/10(金) 16:29:28.86ID:ALHJU+Fn すいませんまた質問させてください
テトリスを作る動画を見ながらこれを作っているのですが、リソースの画像を一度表示されたんですが、画像のサイズが変だったので訂正したところ表示されなくなりました
どこが悪いのか教えて頂けないでしょうか?
https://ideone.com/i4fQGS
テトリスを作る動画を見ながらこれを作っているのですが、リソースの画像を一度表示されたんですが、画像のサイズが変だったので訂正したところ表示されなくなりました
どこが悪いのか教えて頂けないでしょうか?
https://ideone.com/i4fQGS
449デフォルトの名無しさん
2017/03/10(金) 17:21:39.95ID:wwCDmvkp r.right = 24 * 10;
r.bottom = 24 * 20;
r.bottom = 24 * 20;
450デフォルトの名無しさん
2017/03/12(日) 21:56:50.24ID:EdU52Ynw タスクトレイのShell_NotifyIcon();について質問です。
タスクトレイのアイコンサイズは32x32または16x16が一般的っぽいのですが、
64x32などの長方形サイズなどのカスタムアイコンを設定できるのでしょうか?
icdata.dwInfoFlagsで NIIF_LARGE_ICONっていうパラメーターを設定したのですが、
反映されていないっぽいです。
case WM_CREATE:
{
ZeroMemory(&icdata, sizeof(icdata));
hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1));
icdata.cbSize = sizeof(NOTIFYICONDATA);
icdata.hWnd = hWnd; icdata.uID = 0;
icdata.uFlags = NIF_MESSAGE | NIF_TIP | NIF_SHOWTIP | NIF_ICON;
icdata.dwInfoFlags = NIIF_LARGE_ICON;
icdata.uCallbackMessage = WM_USER;
icdata.uVersion = NOTIFYICON_VERSION_4;
icdata.hIcon = hIcon;
wcscpy_s(icdata.szTip, sizeof(icdata.szTip), L"左クリックで終了");
Shell_NotifyIcon(NIM_ADD, &icdata);
}
タスクトレイのアイコンサイズは32x32または16x16が一般的っぽいのですが、
64x32などの長方形サイズなどのカスタムアイコンを設定できるのでしょうか?
icdata.dwInfoFlagsで NIIF_LARGE_ICONっていうパラメーターを設定したのですが、
反映されていないっぽいです。
case WM_CREATE:
{
ZeroMemory(&icdata, sizeof(icdata));
hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1));
icdata.cbSize = sizeof(NOTIFYICONDATA);
icdata.hWnd = hWnd; icdata.uID = 0;
icdata.uFlags = NIF_MESSAGE | NIF_TIP | NIF_SHOWTIP | NIF_ICON;
icdata.dwInfoFlags = NIIF_LARGE_ICON;
icdata.uCallbackMessage = WM_USER;
icdata.uVersion = NOTIFYICON_VERSION_4;
icdata.hIcon = hIcon;
wcscpy_s(icdata.szTip, sizeof(icdata.szTip), L"左クリックで終了");
Shell_NotifyIcon(NIM_ADD, &icdata);
}
451450
2017/03/12(日) 22:56:10.20ID:EdU52Ynw LoadIconは、LoadIconMetricでした。
HRESULT hr = LoadIconMetric(hInst, MAKEINTRESOURCE(IDI_ICON1), LIM_LARGE, &hIcon);
しかし、変化なし。。
HRESULT hr = LoadIconMetric(hInst, MAKEINTRESOURCE(IDI_ICON1), LIM_LARGE, &hIcon);
しかし、変化なし。。
452デフォルトの名無しさん
2017/03/13(月) 06:26:15.42ID:cVbgmuk1 右クリックとかでよく出るポップアップメニューの
フォントの大きさを変更したい場合どうすればよいですか?
case WM_RBUTTONDOWN:
{
POINT pt;
pt.x = LOWORD(lParam);pt.y = HIWORD(lParam);
ClientToScreen(hWnd, &pt);
TrackPopupMenu(hMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hWnd, NULL);
}
break;
フォントの大きさを変更したい場合どうすればよいですか?
case WM_RBUTTONDOWN:
{
POINT pt;
pt.x = LOWORD(lParam);pt.y = HIWORD(lParam);
ClientToScreen(hWnd, &pt);
TrackPopupMenu(hMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hWnd, NULL);
}
break;
453デフォルトの名無しさん
2017/03/13(月) 06:47:05.65ID:cVbgmuk1 自己解決。。調べたら、メニュー・オーナードローについて詳しいページが出てきました。
454デフォルトの名無しさん
2017/03/13(月) 08:55:13.87ID:hLVIfrQc 紀平さんのか
456デフォルトの名無しさん
2017/03/13(月) 13:43:30.21ID:N3DmujAP >>450
オーナードロー
オーナードロー
457デフォルトの名無しさん
2017/03/13(月) 13:49:46.45ID:wbj+4uLG >>456
それだけじゃ答えから遠い
それだけじゃ答えから遠い
458デフォルトの名無しさん
2017/03/13(月) 17:27:27.81ID:RCZql05q >>449
違うみたいです・・・
違うみたいです・・・
459デフォルトの名無しさん
2017/03/13(月) 20:18:35.18ID:DGoKmeFN https://ideone.com/i4fQGS
VC++で見ているんですが24行目のhBitmapにはちゃんとアドレスが確保されているのになぜか描画されません
どういった原因が考えられるでしょうか?
VC++で見ているんですが24行目のhBitmapにはちゃんとアドレスが確保されているのになぜか描画されません
どういった原因が考えられるでしょうか?
460片山博文MZ ◆T6xkBnTXz7B0
2017/03/13(月) 20:24:18.16ID:VNPYsRzK >>459
SelectObjectは、BeginPaintの後に呼ばないといけない。HDCが違う。
SelectObjectは、BeginPaintの後に呼ばないといけない。HDCが違う。
461デフォルトの名無しさん
2017/03/13(月) 23:00:39.35ID:cCiuixm4 >>459
コンパイルして実行してみたけど表示されたよ。bmpファイルがおかしいんじゃない?
あとWM_DESTROYでhMemDCとhBlockDCをDeleteObjectしてるけどDeleteDCじゃないとダメ
コンパイルして実行してみたけど表示されたよ。bmpファイルがおかしいんじゃない?
あとWM_DESTROYでhMemDCとhBlockDCをDeleteObjectしてるけどDeleteDCじゃないとダメ
462デフォルトの名無しさん
2017/03/14(火) 10:21:04.36ID:vbV/Jpv3463459
2017/03/14(火) 23:58:45.78ID:MclzPbbI 環境も書いたほうがいいですね、Win7 x64でVC++2010 Expressです、rcファイル作って「BLOCKS BITMAP "block.bmp"」と書いてます
ファイル名は間違えていないですし、リンクしてoファイルは作っていないですけど間違っていますか?
最初は自作のbmpファイルでやっていたんですけど、途中から作られたbmpファイルでやろうとして表示されなくなりました
ここにあるblock.bmpというやつです
https://github.com/DQNEO/CppTetris
動画を見てロジックを理解しながら学習したいのですが、なかなか捗らないです
>>460
ごめんなさい、何行目のことかわからないです
>>461
修正しました!
>>462
ありがとうございます
ファイル名は間違えていないですし、リンクしてoファイルは作っていないですけど間違っていますか?
最初は自作のbmpファイルでやっていたんですけど、途中から作られたbmpファイルでやろうとして表示されなくなりました
ここにあるblock.bmpというやつです
https://github.com/DQNEO/CppTetris
動画を見てロジックを理解しながら学習したいのですが、なかなか捗らないです
>>460
ごめんなさい、何行目のことかわからないです
>>461
修正しました!
>>462
ありがとうございます
464デフォルトの名無しさん
2017/03/15(水) 12:08:58.48ID:7YWEdixI 馬鹿には無理
465デフォルトの名無しさん
2017/03/15(水) 12:54:33.61ID:rPK+nkkO 用意されてたbmpでは動く。自作bmpでは動かない。ってことかよ。だとしたら原因ひとつじゃん
466デフォルトの名無しさん
2017/03/15(水) 13:11:54.57ID:h6gBY/+f >>463
imgurにでも自分で作ったbmp上げてみてよ
imgurにでも自分で作ったbmp上げてみてよ
467デフォルトの名無しさん
2017/03/15(水) 13:37:27.01ID:7YWEdixI imgurって内容変わるんじゃね
468デフォルトの名無しさん
2017/03/15(水) 13:42:29.19ID:h6gBY/+f マジかごめん
469デフォルトの名無しさん
2017/03/15(水) 16:58:13.14ID:0QbqsbzH >>463
たぶん表示されてるんだと思う
WM_CREATE内の//debugの下の行を
BitBlt(hMemDC, 0, 0, 24, 24, hBlockDC, 0, 24, SRCCOPY);
にするとどうなる?
たぶん表示されてるんだと思う
WM_CREATE内の//debugの下の行を
BitBlt(hMemDC, 0, 0, 24, 24, hBlockDC, 0, 24, SRCCOPY);
にするとどうなる?
470デフォルトの名無しさん
2017/03/15(水) 18:59:14.47ID:Jw8FgjFy ちょっと見てみたよ
bmpのIDだけど、BLOCKS と "BLOCKS" は別だからね
BLOCKSは数値に置き換えられてるけどLoadBitmapは文字列の"BLOCKS"で読もうとしてる
初心者の頃はやりがちなやつだな
bmpのIDだけど、BLOCKS と "BLOCKS" は別だからね
BLOCKSは数値に置き換えられてるけどLoadBitmapは文字列の"BLOCKS"で読もうとしてる
初心者の頃はやりがちなやつだな
471デフォルトの名無しさん
2017/03/15(水) 20:15:49.77ID:5s+i++Yx >>469
ありがとうございます、これで表示されました
でもhttp://dqn.sakusakutto.jp/2012/11/cpp_tetris.htmlこの動画とは別の画像が表示されます
動画上では灰色ブロックが出てきているのに、自分の環境では赤色のブロックが出てきている状況です
>>470
動画では「"BLOCKS"」と定義されていたので自分は「TEXT("BLOCKS")」と定義したんですが両者は違うものなのでしょうか?
ありがとうございます、これで表示されました
でもhttp://dqn.sakusakutto.jp/2012/11/cpp_tetris.htmlこの動画とは別の画像が表示されます
動画上では灰色ブロックが出てきているのに、自分の環境では赤色のブロックが出てきている状況です
>>470
動画では「"BLOCKS"」と定義されていたので自分は「TEXT("BLOCKS")」と定義したんですが両者は違うものなのでしょうか?
472デフォルトの名無しさん
2017/03/15(水) 20:16:40.91ID:LU+w+iAT rcの方だろ
473デフォルトの名無しさん
2017/03/15(水) 21:50:38.03ID:5BC7GJpQ USBメモリなどUSB機器の接続検知をおこないたいのですが、WM_DEVICECHANGEを使用すると
https://qanda.rakuten.ne.jp/qa5211631.html
のようにUSBメモリによってはDBT_DEVICEARRIVALが何度か来てしまいます。
↑のQ&Aにあるように、正常に認識されたときを検出するにはどうすればよいでしょうか?
https://qanda.rakuten.ne.jp/qa5211631.html
のようにUSBメモリによってはDBT_DEVICEARRIVALが何度か来てしまいます。
↑のQ&Aにあるように、正常に認識されたときを検出するにはどうすればよいでしょうか?
474デフォルトの名無しさん
2017/03/15(水) 23:07:40.31ID:5s+i++Yx475デフォルトの名無しさん
2017/03/16(木) 09:34:05.83ID:fy4K8iiJ こうやって手取り足取りな奴はイライラする
476デフォルトの名無しさん
2017/03/16(木) 11:58:27.68ID:bBZQNLcb >>475
じゃあ来なければいいよ
じゃあ来なければいいよ
477デフォルトの名無しさん
2017/03/16(木) 15:14:09.34ID:Oq2mLnGK お前が手足を完全にもいでトドメを刺せばいい
478デフォルトの名無しさん
2017/03/16(木) 17:17:19.21ID:Xe646fvV モイっ!
479デフォルトの名無しさん
2017/03/16(木) 22:29:13.60ID:xw1bzJ/c >>473
((PDEV_BROADCAST_HDR)lParam)->dbch_devicetype が全部同じなの?
((PDEV_BROADCAST_HDR)lParam)->dbch_devicetype が全部同じなの?
480デフォルトの名無しさん
2017/03/19(日) 01:08:24.24ID:bawtCMkE SHAppBarMessage(ABM_QUERYPOS, &abd);が正しい値を取得できない場合どうすればいいですか?
Windows10の設定:システム:ディスプレイ:ディプレイカスタマイズ画面
テキスト、アプリ、その他の項目サイズを変更する
で100%から175%までいろいろ変化させてみると表示位置のずれが発生します。
Windows10の設定:システム:ディスプレイ:ディプレイカスタマイズ画面
テキスト、アプリ、その他の項目サイズを変更する
で100%から175%までいろいろ変化させてみると表示位置のずれが発生します。
481デフォルトの名無しさん
2017/03/19(日) 04:28:36.19ID:yhAiVzME482デフォルトの名無しさん
2017/03/20(月) 10:38:14.59ID:px9bK4BM タスクトレイの自動的に隠すになっているかを調べる場合どうすればよいですか?
483デフォルトの名無しさん
2017/03/20(月) 11:02:11.90ID:OlmnVrTw レジストリでも見ればわかるんじゃない?
484482
2017/03/20(月) 11:03:48.79ID:px9bK4BM 自己解決・・
APPBARDATA appbardata;
appbardata.cbSize = sizeof(APPBARDATA);
appbardata.hWnd = FindWindow(L"Shell_TrayWnd", 0);
if(SHAppBarMessage(ABM_GETSTATE, &appbardata))
{
// 自動的に隠れている
}
APPBARDATA appbardata;
appbardata.cbSize = sizeof(APPBARDATA);
appbardata.hWnd = FindWindow(L"Shell_TrayWnd", 0);
if(SHAppBarMessage(ABM_GETSTATE, &appbardata))
{
// 自動的に隠れている
}
485デフォルトの名無しさん
2017/03/20(月) 23:28:19.28ID:pgDQQg6b 最近、win32 はいつまで残るんだろうな、とふと不安になる
.net とか妙なものが蔓延ってるけど。
.net とか妙なものが蔓延ってるけど。
486デフォルトの名無しさん
2017/03/21(火) 00:19:55.43ID:3zup+qvo MS32bitOSが居る限りはなくならないだろ
.netだって内部的にWin32API呼び出しているし
.netだって内部的にWin32API呼び出しているし
487デフォルトの名無しさん
2017/03/21(火) 02:42:20.25ID:dRq3wtLU ここまで来て過去の莫大な資産を捨てることなんてあるの?
過去のwindowsアプリが新しいwindowsで動かなくなる日が来たら、それはもうwindowsじゃないと思う
過去のwindowsアプリが新しいwindowsで動かなくなる日が来たら、それはもうwindowsじゃないと思う
488デフォルトの名無しさん
2017/03/21(火) 03:05:14.83ID:RH/+/4vn .NetですらFormsもWPFも放置でUWPに移行させようとしてるし、本音では過去のを全て捨ててUWPに一本化したいんだろう。
現実的には自らの強み(過去の資産)を手放すことになるから、やりたくてもやれないのだろうけど。
現実的には自らの強み(過去の資産)を手放すことになるから、やりたくてもやれないのだろうけど。
489デフォルトの名無しさん
2017/03/21(火) 03:48:34.60ID:5huRZA1V > FormsもWPFも放置でUWPに移行
MSって過去にも色々出しては無かったことにしてきたよな・・・
UWPすらどうなることか
MSって過去にも色々出しては無かったことにしてきたよな・・・
UWPすらどうなることか
490デフォルトの名無しさん
2017/03/21(火) 04:41:12.33ID:ScjZQ1Ox 新しいものを出してきても、古いOSに対応させないから状況的に使えなくて、
使ってもいいかなと思える状況になった頃には古い技術になっているという悪循環
使ってもいいかなと思える状況になった頃には古い技術になっているという悪循環
491デフォルトの名無しさん
2017/03/21(火) 14:27:42.86ID:6WWBsw/3492デフォルトの名無しさん
2017/03/21(火) 14:35:53.84ID:3zup+qvo Win32APIは過去の莫大な資産であり、過去の莫大な負債でもある
493デフォルトの名無しさん
2017/03/21(火) 17:25:00.36ID:ghEa3fZg WindowsRuntimeを使わないといけなくなって
c++でコーディングし始めたけどかなり面倒くさい。
c++/cx使えっていうことだろうけど。
windows runtimeがwin32apiの代わりになるのかな?
c++でコーディングし始めたけどかなり面倒くさい。
c++/cx使えっていうことだろうけど。
windows runtimeがwin32apiの代わりになるのかな?
494デフォルトの名無しさん
2017/03/21(火) 23:26:33.91ID:y88e15JH しっかし、なんで win32 はあんなに作るのが面倒くさいんだろうな・・・
1〜10まで教える感じではなく、1、10、100、1000まで教えてやっと動く感じ。
その分痒い所に手が届くが。。。
だんだん倦厭されているということは、今の納期!納期!の文化とは合わないんだろうな。
1〜10まで教える感じではなく、1、10、100、1000まで教えてやっと動く感じ。
その分痒い所に手が届くが。。。
だんだん倦厭されているということは、今の納期!納期!の文化とは合わないんだろうな。
495デフォルトの名無しさん
2017/03/22(水) 00:22:36.94ID:153gnM05496デフォルトの名無しさん
2017/03/22(水) 00:24:51.70ID:Qoic3+WX 工程の短縮というのもあるけど
「どのアプリケーションでも同じことをしたければ同じ操作をすればいい」と言うのを求めると
同じ操作(同じ動作)をひとつの部品として提供するほうが良い
そういう開発者独自の機能より、一般化された機能や操作性が重要視されるようになったのも一因だと思う
「どのアプリケーションでも同じことをしたければ同じ操作をすればいい」と言うのを求めると
同じ操作(同じ動作)をひとつの部品として提供するほうが良い
そういう開発者独自の機能より、一般化された機能や操作性が重要視されるようになったのも一因だと思う
497デフォルトの名無しさん
2017/03/22(水) 00:30:45.76ID:oXk4FtJ8498デフォルトの名無しさん
2017/03/22(水) 00:48:25.76ID:KP40M7fU https://msdn.microsoft.com/en-us/magazine/mt745094
https://msdn.microsoft.com/en-us/magazine/mt745090
C++/CXを置き換えてくのか平行してくのか知らんけど言語プロジェクションを
純C++のヘッダのみで提供するコンセプトなのかしら
ただ肝心の.winmdからヘッダを生成するコンパイラが(まだ)未提供だから
Win2Dみたいな標準に含まれてないランタイムコンポーネントは使えん感じ
ちょっと試してみた感じ/ZWも不要で既存のC++ライブラリとマージしやすそうだし
VS2017+CUの時点で使い物になってて欲しいなあ
https://msdn.microsoft.com/en-us/magazine/mt745090
C++/CXを置き換えてくのか平行してくのか知らんけど言語プロジェクションを
純C++のヘッダのみで提供するコンセプトなのかしら
ただ肝心の.winmdからヘッダを生成するコンパイラが(まだ)未提供だから
Win2Dみたいな標準に含まれてないランタイムコンポーネントは使えん感じ
ちょっと試してみた感じ/ZWも不要で既存のC++ライブラリとマージしやすそうだし
VS2017+CUの時点で使い物になってて欲しいなあ
499デフォルトの名無しさん
2017/03/23(木) 12:03:55.36ID:39On3zda >>494
APIの粒度の問題を言われてもな
APIの粒度の問題を言われてもな
500デフォルトの名無しさん
2017/03/23(木) 20:22:15.45ID:NUnQTAC3 でも結局どの言語でもAPIインポートするんだよな
意味ないな
意味ないな
501デフォルトの名無しさん
2017/03/26(日) 14:21:34.35ID:bO2o38VX502デフォルトの名無しさん
2017/03/26(日) 15:20:48.57ID:6+wpTDFL 代わりに痒くもないところが腫れあがる
503デフォルトの名無しさん
2017/03/27(月) 08:29:30.36ID:S+/FPMiq そりゃ掻いてる場所が違うんだ
504デフォルトの名無しさん
2017/03/27(月) 08:31:23.68ID:CkZovUeE 痒いところをかくといけないのでかけないようになってます
505デフォルトの名無しさん
2017/03/29(水) 15:32:52.21ID:Si2XZHCG ショートカットの.lnkとかあと特殊なフォルダとかに出る
アイコン右下のやつってなんて名前なんでしょうか?
アイコン右下のやつってなんて名前なんでしょうか?
506片山博文MZ ◆T6xkBnTXz7B0
2017/03/29(水) 15:39:16.42ID:uG+6tdKu overlay icons
507デフォルトの名無しさん
2017/03/29(水) 15:40:33.19ID:F9h34aTY508デフォルトの名無しさん
2017/03/29(水) 15:41:59.56ID:3SDK0DLs 右下ってシールドか?
キャプチャぐらい貼れよ無能
キャプチャぐらい貼れよ無能
509デフォルトの名無しさん
2017/03/29(水) 15:43:11.84ID:F9h34aTY これやろ
←
矢印
←
矢印
510デフォルトの名無しさん
2017/03/29(水) 16:02:42.50ID:3SDK0DLs 矢印は左下だろ
アイコンオーバーレイって名称のことかな。ま、どうでもいいや
アイコンオーバーレイって名称のことかな。ま、どうでもいいや
511デフォルトの名無しさん
2017/04/01(土) 18:40:58.67ID:m+AYjiBS Win32APIサポート終了のお知らせ
513デフォルトの名無しさん
2017/04/01(土) 19:30:55.19ID:WcYopVS3 >>512
今日の日付
今日の日付
514デフォルトの名無しさん
2017/04/03(月) 01:29:34.83ID:BKde4+E+ 嘘をついていいのは午前中なんだが。
515デフォルトの名無しさん
2017/04/03(月) 02:36:19.44ID:EQsFkd4r それもウソだよ
516デフォルトの名無しさん
2017/04/03(月) 20:45:49.66ID:fIAaSCsY ウソだってのがウソなんだよ
517デフォルトの名無しさん
2017/04/03(月) 20:47:03.89ID:DvppQH2R 4/1だけにしとけよ
518デフォルトの名無しさん
2017/04/03(月) 21:39:52.92ID:gWDrFV4S 昭和64年は短命
64も短命?
128移行か
64も短命?
128移行か
519デフォルトの名無しさん
2017/04/03(月) 23:53:31.94ID:qQvnlfYK コンピュータの進歩がかなり鈍化してきているし
物理的な限界に直面しつつあるから
128bitは俺の生きている間に来るかどうか
今の段階では個人用途でそれだけのメモリ空間が必要になる使い道が思い浮かばん
それはPCの性能がまだそこに全然達していないから全く思い浮かばんってことなんだけど
そこへ至るまでに何段階もの紆余曲折あるだろうから今の段階で考えるだけ無駄だけどね
世の中も全然変わってるだろうし
それはともかく256テラバイト以上のメモリともなると
それを処理するCPUも相当速くないと意味ないからね
今の状態ですらどちらかというとメモリは余り気味でCPUがボトルネックになってる感じだし
メモリは余ってるけど、データ積んだところでCPUが現実的な時間で処理しきれないっていう
まぁ1万コアぐらいないと256テラバイト以上のメモリは生かしきれないんじゃないかな
その場合メモリ帯域は足りるのかとか考えると、コアごとにキャッシュを山のように積むか
コヒーレンシとか考えるともはやそれも難しく
PS3のCellみたいなプログラミングを強いられるかもしれないな
生きてないと思うけど
物理的な限界に直面しつつあるから
128bitは俺の生きている間に来るかどうか
今の段階では個人用途でそれだけのメモリ空間が必要になる使い道が思い浮かばん
それはPCの性能がまだそこに全然達していないから全く思い浮かばんってことなんだけど
そこへ至るまでに何段階もの紆余曲折あるだろうから今の段階で考えるだけ無駄だけどね
世の中も全然変わってるだろうし
それはともかく256テラバイト以上のメモリともなると
それを処理するCPUも相当速くないと意味ないからね
今の状態ですらどちらかというとメモリは余り気味でCPUがボトルネックになってる感じだし
メモリは余ってるけど、データ積んだところでCPUが現実的な時間で処理しきれないっていう
まぁ1万コアぐらいないと256テラバイト以上のメモリは生かしきれないんじゃないかな
その場合メモリ帯域は足りるのかとか考えると、コアごとにキャッシュを山のように積むか
コヒーレンシとか考えるともはやそれも難しく
PS3のCellみたいなプログラミングを強いられるかもしれないな
生きてないと思うけど
520デフォルトの名無しさん
2017/04/04(火) 00:09:36.07ID:3+iIkQVP そういうことを考えると128bitはあまり現実味がないというか
ムーアの法則通りに半導体の性能が上がり続けたとしても
あくまで実時間に対して2倍2倍に増えていくってオーダーだけども
bit数の増え方はもっと激しくて、1bit増えるたびに2倍の空間になるのに
そのbit数自体が2倍2倍に増えて行くわけだから、オーダーが全然違う
8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない
どんどん間が長くなっていく
128bitは遠い遠い未来か、もしくは訪れないってことになる
ムーアの法則通りに半導体の性能が上がり続けたとしても
あくまで実時間に対して2倍2倍に増えていくってオーダーだけども
bit数の増え方はもっと激しくて、1bit増えるたびに2倍の空間になるのに
そのbit数自体が2倍2倍に増えて行くわけだから、オーダーが全然違う
8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない
どんどん間が長くなっていく
128bitは遠い遠い未来か、もしくは訪れないってことになる
521デフォルトの名無しさん
2017/04/04(火) 00:18:54.12ID:u5Wjlvjc >>519
そのころはAIがプログラム書くようになるから心配無いよ
そのころはAIがプログラム書くようになるから心配無いよ
522デフォルトの名無しさん
2017/04/04(火) 01:30:54.91ID:BzumqOQh >>520
>8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない
それはマイクロプロセッサしか見てないだろ。
メインフレームの世界だと、トランジスタ機になったときには
32bitや36bitがすでにできていたから、そこから全く進化してない
ともいえる。
>8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない
それはマイクロプロセッサしか見てないだろ。
メインフレームの世界だと、トランジスタ機になったときには
32bitや36bitがすでにできていたから、そこから全く進化してない
ともいえる。
523デフォルトの名無しさん
2017/04/04(火) 05:56:42.50ID:/PIYb7TP >>519
VLIWは?
VLIWは?
524デフォルトの名無しさん
2017/04/04(火) 08:06:05.98ID:Tyt+m4C4 >PS3のCellみたいなプログラミングを強いられるかもしれないな
中国のスパコン1位がそんなアーキティクチャで2位以下にトリプルスコアの圧勝だったな。
この先、性能を追求したらそうならざるを得ないかも。
中国のスパコン1位がそんなアーキティクチャで2位以下にトリプルスコアの圧勝だったな。
この先、性能を追求したらそうならざるを得ないかも。
525デフォルトの名無しさん
2017/04/04(火) 08:19:35.41ID:1dU9a0gl そんな下の層の違いは上には影響しないから俺には関係ないな
526デフォルトの名無しさん
2017/04/04(火) 09:42:55.60ID:mPQmMovw ボトルネックといえばフロントサイドバスとストレージ
527デフォルトの名無しさん
2017/04/04(火) 22:01:11.94ID:73kME/Mz 128ビットも必要なプログラムは人間には書けない
528デフォルトの名無しさん
2017/04/04(火) 22:14:00.40ID:eHZToKh6 書くのは簡単
529デフォルトの名無しさん
2017/04/04(火) 22:23:58.48ID:u5Wjlvjc 一桁二桁の加減乗除なら良いが、128ビットフルに使う計算だと、紙の幅越えないかなw
530デフォルトの名無しさん
2017/04/04(火) 22:31:01.19ID:2+tk3Olf SSE2使ってるとどうやって128bit使おうかばかり考える
531デフォルトの名無しさん
2017/04/05(水) 01:26:41.60ID:XXr1MGA7 っつーかナニを128ビットにするわけよ?
532デフォルトの名無しさん
2017/04/05(水) 02:45:28.37ID:qYLi57Sr 俺のナニは8bitだしorz
533デフォルトの名無しさん
2017/04/05(水) 08:06:40.12ID:Bh5NPBNH なに見栄張ってるんだよ
お前のは a bit (=ちょっと) だろ
お前のは a bit (=ちょっと) だろ
534デフォルトの名無しさん
2017/04/05(水) 08:54:18.24ID:BdqpqknF just bit(1ビットだけ)だろ?
535デフォルトの名無しさん
2017/04/05(水) 09:46:20.77ID:v8qJ9EUo >>531
そりゃcharを16個詰め込んだりするだろ
そりゃcharを16個詰め込んだりするだろ
536デフォルトの名無しさん
2017/04/05(水) 14:24:34.32ID:+eJqUohN ここまで漏れの自演
537デフォルトの名無しさん
2017/04/06(木) 17:46:17.73ID:Wug7VRpa 質問お願いします。
QueryPerformanceFrequency
で得た値は実行ごとに変わったりするから毎回計測しないと駄目ですか?
QueryPerformanceFrequency
で得た値は実行ごとに変わったりするから毎回計測しないと駄目ですか?
538デフォルトの名無しさん
2017/04/06(木) 18:05:42.24ID:lEpGhGGY どんな理由から毎回計測しないようにしたいんだ?それによる
539デフォルトの名無しさん
2017/04/06(木) 18:18:16.44ID:Wug7VRpa QueryPerformanceFrequencyの値がプログラムを終了するまで一定なら
1回しかこれを実行したくないし変わるなら一回時間を計測するごとにこれを実行したいです
1回しかこれを実行したくないし変わるなら一回時間を計測するごとにこれを実行したいです
540デフォルトの名無しさん
2017/04/06(木) 18:30:27.17ID:lEpGhGGY それなら一度だけでよかったはず
541デフォルトの名無しさん
2017/04/07(金) 17:01:14.12ID:3o5iBWIM システム起動中に変わることはないってさ
542デフォルトの名無しさん
2017/04/07(金) 22:21:01.99ID:9JlGmFFU ハイバーネーションみたいなのとかVMとか組み合わさるとどうなるかわかんないけどそういうことになってるね
543デフォルトの名無しさん
2017/04/08(土) 09:03:07.92ID:ptqONvxu 俺は使うたびに毎回読んでるわ
あえてそうしない意味もないから
あえてそうしない意味もないから
544デフォルトの名無しさん
2017/04/08(土) 17:48:41.54ID:C7AQR+Mi すみません、教えてください。
Borland BCC でC/Cppを勉強しているのですが、
CreateWindow( "EDIT", "あああああ", ....
にすると、あああああ の部分が文字化けして ,,,, と表示されてしまいます。
CreateWindow( "STATIC", "あああああ", ...
だと問題なく表示されます。
どうか教えてください、宜しくお願いします。
Borland BCC でC/Cppを勉強しているのですが、
CreateWindow( "EDIT", "あああああ", ....
にすると、あああああ の部分が文字化けして ,,,, と表示されてしまいます。
CreateWindow( "STATIC", "あああああ", ...
だと問題なく表示されます。
どうか教えてください、宜しくお願いします。
545デフォルトの名無しさん
2017/04/08(土) 22:40:07.71ID:42pK0vcr >>544
BCCはよくわかんけど、パラメーターが変とかじゃね?あと考えられるのはUNICODEとか?
このコードは RAD Studio10.1 BerlinとVS2015/2017で動くことは確認済み
HINSTANCE hInst;HWND hEdit,hStatic;
HWND hWnd= Handle; // BCBとか用
hInst=GetModuleHandle(0);
hEdit = CreateWindow(TEXT("EDIT") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT,0 , 0 , 400 , 20 , hWnd , 0 ,hInst , NULL);
hStatic = CreateWindow(TEXT("STATIC") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT ,0 , 20 , 400 , 20 ,hWnd , 0 ,hInst , NULL);
BCCはよくわかんけど、パラメーターが変とかじゃね?あと考えられるのはUNICODEとか?
このコードは RAD Studio10.1 BerlinとVS2015/2017で動くことは確認済み
HINSTANCE hInst;HWND hEdit,hStatic;
HWND hWnd= Handle; // BCBとか用
hInst=GetModuleHandle(0);
hEdit = CreateWindow(TEXT("EDIT") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT,0 , 0 , 400 , 20 , hWnd , 0 ,hInst , NULL);
hStatic = CreateWindow(TEXT("STATIC") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT ,0 , 20 , 400 , 20 ,hWnd , 0 ,hInst , NULL);
547544
2017/04/10(月) 07:47:25.26ID:RoCnetHj すみません、お手数をおかけします。
// あああああ が表示される
CreateWindow( "STATIC",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y, w, h,
hGrp1, (HMENU)ID_TEXT1, hInst, NULL );
// あああああ が表示されず ,,,,, となる
CreateWindow( "EDIT",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y+50, w, h,
hGrp1, (HMENU)ID_TEXT2, hInst, NULL );
hGrp1 はグループボックスです。
// あああああ が表示される
CreateWindow( "STATIC",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y, w, h,
hGrp1, (HMENU)ID_TEXT1, hInst, NULL );
// あああああ が表示されず ,,,,, となる
CreateWindow( "EDIT",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y+50, w, h,
hGrp1, (HMENU)ID_TEXT2, hInst, NULL );
hGrp1 はグループボックスです。
548片山博文MZ ◆T6xkBnTXz7B0
2017/04/10(月) 08:21:28.02ID:73IQobxS "EDIT"にはSS_CENTERは使えないよ。EDITにはES_...スタイルを使う。
549デフォルトの名無しさん
2017/04/10(月) 08:53:21.05ID:ZIRNWk3W >>547
とりあえずコントロール毎に指定フラグが違う事を指摘しておく
とりあえずコントロール毎に指定フラグが違う事を指摘しておく
550デフォルトの名無しさん
2017/04/10(月) 16:45:44.18ID:PH6zMRzh >>547
マルチバイト文字列が上手くいかないなら"AAAA"のようにシングルバイト文字列で試してみればいいじゃないか。
マルチバイト文字列が上手くいかないなら"AAAA"のようにシングルバイト文字列で試してみればいいじゃないか。
551デフォルトの名無しさん
2017/04/10(月) 17:20:37.45ID:vopNHtdq >>547
WM_SETFONTを使って、フォントを関連付けしてみたらどうだい?
WM_SETFONTを使って、フォントを関連付けしてみたらどうだい?
552片山博文MZ ◆T6xkBnTXz7B0
2017/04/10(月) 17:25:49.47ID:73IQobxS SS_CENTERがES_ENDELIPSISとして解釈されたんだろうな。
【今日の教訓】
EDITコントロールには、ES_で始まるスタイルを使え。SS_はEDITには使うな。
【今日の教訓】
EDITコントロールには、ES_で始まるスタイルを使え。SS_はEDITには使うな。
553片山博文MZ ◆T6xkBnTXz7B0
2017/04/10(月) 17:32:00.56ID:73IQobxS ごめん、ES_ENDELIPSISというスタイルはなかった。SS_CENTERの代わりにES_CENTERを指定すればいい。
554デフォルトの名無しさん
2017/04/10(月) 21:33:08.91ID:G1/iiInq なんでESとかSSとか種類が有るの?
555デフォルトの名無しさん
2017/04/10(月) 21:59:23.57ID:PH6zMRzh そりゃ特定のコントロールに対するものだからさ。
あとSS_CENTERもES_CENTERも winuser.h で 0x01L と定義されている。
例えば共通の定義 XX_CENTER 0x01L としていた場合、
EDITコントロールの仕様変更でXX_CENTER 0x02L としたくても
STATICコントロールで同じ意義を使っているため変えることが出来ないだろ。
もし定義を変えた場合、STATICコントロールで0x02L というのは別の意味を持っている(かもしれない)ので動作がおかしくなる。
だから意味は同じでも“値”としては別のものとして扱う(定義する)。
あとSS_CENTERもES_CENTERも winuser.h で 0x01L と定義されている。
例えば共通の定義 XX_CENTER 0x01L としていた場合、
EDITコントロールの仕様変更でXX_CENTER 0x02L としたくても
STATICコントロールで同じ意義を使っているため変えることが出来ないだろ。
もし定義を変えた場合、STATICコントロールで0x02L というのは別の意味を持っている(かもしれない)ので動作がおかしくなる。
だから意味は同じでも“値”としては別のものとして扱う(定義する)。
556デフォルトの名無しさん
2017/04/10(月) 22:00:00.06ID:PH6zMRzh ミス
意義→定義
意義→定義
557デフォルトの名無しさん
2017/04/10(月) 23:44:29.58ID:CESguEkt じゃー将来SS_CENTERが別の値に変更されても安心だね
558デフォルトの名無しさん
2017/04/11(火) 07:55:30.63ID:pJyY6xCH 変えたらひどいことになるけどなw
本音と建前みたいなもんでCの欠点だな。後発言語はそういうとこカバーされてる(のもある)
本音と建前みたいなもんでCの欠点だな。後発言語はそういうとこカバーされてる(のもある)
559デフォルトの名無しさん
2017/04/11(火) 17:52:35.12ID:xC3FSY5Y モーダルダイアログをメインの親とし、その後動的にサブメニューを表示する仕組みがあります。
サブメニュー表示中も親側の操作を可能とするため、サブメニューはモードレスとしていますが、
TABなどのキー入力が効きません。
辛うじて、初期フォーカスがあるボタンのみスペースキーを受け付けます。
マウス操作は問題ありません。
原因としてはサブメニューのキー処理をする IsDialogMessage を含むメッセージループが必要
なんだろうと思いますが、こういう場合の定石というのはあるのでしょうか?
思い付く実装は以下2パターンです。
その1
親もモードレスとし、親のメッセージループ中にサブメニューのメッセージも処理する仕組みを入れる。
その2
サブメニュー表示後に別スレッドを立ち上げ、そこでサブメニューのメッセージループを回す。
普通はこうだよ。とか他の方法などありましたらお願いします。
サブメニュー表示中も親側の操作を可能とするため、サブメニューはモードレスとしていますが、
TABなどのキー入力が効きません。
辛うじて、初期フォーカスがあるボタンのみスペースキーを受け付けます。
マウス操作は問題ありません。
原因としてはサブメニューのキー処理をする IsDialogMessage を含むメッセージループが必要
なんだろうと思いますが、こういう場合の定石というのはあるのでしょうか?
思い付く実装は以下2パターンです。
その1
親もモードレスとし、親のメッセージループ中にサブメニューのメッセージも処理する仕組みを入れる。
その2
サブメニュー表示後に別スレッドを立ち上げ、そこでサブメニューのメッセージループを回す。
普通はこうだよ。とか他の方法などありましたらお願いします。
560デフォルトの名無しさん
2017/04/11(火) 17:55:40.75ID:xC3FSY5Y ちょっと語弊がありましたので訂正です。
ここで言う「サブメニュー」とは、CreateMenu などで作られる一般的に言うメニューではなく、
単なるポップアップスタイルのタイトルなしダイアログのことです。
CreateDialog で画面を作っています。
勝手に言葉を作ってすみません。
ここで言う「サブメニュー」とは、CreateMenu などで作られる一般的に言うメニューではなく、
単なるポップアップスタイルのタイトルなしダイアログのことです。
CreateDialog で画面を作っています。
勝手に言葉を作ってすみません。
561デフォルトの名無しさん
2017/04/11(火) 18:23:36.29ID:9HH9Hffg 2つウインドウがあって、1つはメインウインドウ、もう1つはメニューウインドウ
メインウインドウにキーフォーカスがあるとメニューウインドウでキー操作できず、メニューウインドウにフォーカスがあるとメインウインドウでキー操作できない
メッセージを適宜流せばいいんじゃないか?
メインウインドウにキーフォーカスがあるとメニューウインドウでキー操作できず、メニューウインドウにフォーカスがあるとメインウインドウでキー操作できない
メッセージを適宜流せばいいんじゃないか?
562デフォルトの名無しさん
2017/04/11(火) 22:23:16.04ID:xC3FSY5Y フォーカスはそれがあるウィンドウで処理できるようなUIを考えています。
ユーザーがメインウィンドウにフォーカスを(マウスなどで)移せば、
以降はそのウィンドウでキーボード操作ができればいいです。その逆も然り。
適宜メッセージを流すにしても、結局どこでメッセージループを回すかという
話になるのではと思うのですが、違うのでしょうか?
ユーザーがメインウィンドウにフォーカスを(マウスなどで)移せば、
以降はそのウィンドウでキーボード操作ができればいいです。その逆も然り。
適宜メッセージを流すにしても、結局どこでメッセージループを回すかという
話になるのではと思うのですが、違うのでしょうか?
563デフォルトの名無しさん
2017/04/12(水) 22:43:12.22ID:iYQoJoP4 なにいってんだこいつ
564デフォルトの名無しさん
2017/04/12(水) 23:28:35.38ID:lhjyuLrL 分からないのに無理して答えるなよ
565デフォルトの名無しさん
2017/04/13(木) 02:45:23.01ID:8XBnDqPS 最近よく足がつる
566デフォルトの名無しさん
2017/04/13(木) 11:42:08.71ID:9jlRESvt >>562
フォーカスを移してキーボード操作なんて危険なことを平気でやろうとする人はWin32APIなんて使わない方が良いんじゃね?
普通はフォーカスを移そうとしているオブジェクトにフォーカスを移す移さない関係なく文字列送信するもんじゃないの?
キーボード操作中にユーザーが別のウィンドウをクリックした場合とか考えないの?
フォーカスを移してキーボード操作なんて危険なことを平気でやろうとする人はWin32APIなんて使わない方が良いんじゃね?
普通はフォーカスを移そうとしているオブジェクトにフォーカスを移す移さない関係なく文字列送信するもんじゃないの?
キーボード操作中にユーザーが別のウィンドウをクリックした場合とか考えないの?
567デフォルトの名無しさん
2017/04/13(木) 13:32:39.75ID:OCOdT3+H568デフォルトの名無しさん
2017/04/13(木) 17:59:38.26ID:zh4lU2gJ >>566
なんで何も理解できていないのに無理に話に入ろうとするの?
なんで何も理解できていないのに無理に話に入ろうとするの?
569デフォルトの名無しさん
2017/04/13(木) 18:16:04.36ID:xmE6C1ua spyで見てどこにメッセージ届いてるか見ろ
570デフォルトの名無しさん
2017/04/14(金) 00:20:20.46ID:+RGtmVs/ フォースを使うのじゃ
571デフォルトの名無しさん
2017/04/14(金) 00:39:04.52ID:6ECgJlCU Windows 10 Creators Update入れたら
DrawTextで大きめのフォントの描画が異常に遅くなった。
高DPI未対応のアプリは見捨ててGDIはシンプルに動いてほしい。
DrawTextで大きめのフォントの描画が異常に遅くなった。
高DPI未対応のアプリは見捨ててGDIはシンプルに動いてほしい。
572デフォルトの名無しさん
2017/04/14(金) 05:38:58.24ID:kIyPPZzD >>567
2行目めちゃくちゃだなw
2行目めちゃくちゃだなw
573デフォルトの名無しさん
2017/04/14(金) 10:41:54.49ID:7fCdXhh/574デフォルトの名無しさん
2017/04/14(金) 11:11:32.10ID:LVRPT4/o Win32APIの後継でc++/cliじゃないライブラリってないのかね?
575デフォルトの名無しさん
2017/04/14(金) 11:29:24.19ID:iAr+rl+J576デフォルトの名無しさん
2017/04/14(金) 15:40:59.51ID:Z/bjVn5R しいて言えばQtじゃね?
Qtのアプリって結構あるよね
Qtのアプリって結構あるよね
577デフォルトの名無しさん
2017/04/14(金) 18:23:47.19ID:R7yCPQGT >>574
ライブラリってかAPIはユニバーサルwinのがそれじゃないの?
ライブラリってかAPIはユニバーサルwinのがそれじゃないの?
578デフォルトの名無しさん
2017/04/14(金) 18:31:24.82ID:uRqmXJpf WinRT API
579デフォルトの名無しさん
2017/04/14(金) 22:27:03.58ID:Gjx6wpyy ここでWTLがまさかの大復活を遂げるわけよ
580デフォルトの名無しさん
2017/04/15(土) 06:16:39.59ID:qt9qpnGQ ちょっとしたもんつくるにはwtlが一番いい
581デフォルトの名無しさん
2017/04/15(土) 18:14:11.71ID:JjgxHVsv582デフォルトの名無しさん
2017/05/05(金) 00:01:23.37ID:j+7+fM28 Windows10S では Win32/.net アプリは動かないだと。
UWPに変換すれば行けるらしいが、もうおしまいか?
UWPに変換すれば行けるらしいが、もうおしまいか?
583デフォルトの名無しさん
2017/05/05(金) 00:15:11.42ID:NU+YZp1H Windows10Sが相手にされなくて終わるだけ。
584デフォルトの名無しさん
2017/05/05(金) 00:41:30.18ID:W8ns9+oF 既に相手されていない感
585デフォルトの名無しさん
2017/05/05(金) 03:08:44.86ID:IUUvTOhg お前らが相手にされてないじゃん
おっさんしかいないだろうこのスレ
おっさんしかいないだろうこのスレ
586デフォルトの名無しさん
2017/05/05(金) 08:12:57.54ID:WdEsZnG0 今回のターゲット層はメインストリームじゃないから
既存のアプリが使えなくても不満は少ないと踏んでるんだろう
まあWindowsRTみたいに核爆死はしないんじゃないか
MSもそんなに数を出荷しないだろうから
もう一度WindowsRTをSurfaceやらに載せることを夢見ているのなら
やはりもう一度爆死するだろう
既存のアプリが使えなくても不満は少ないと踏んでるんだろう
まあWindowsRTみたいに核爆死はしないんじゃないか
MSもそんなに数を出荷しないだろうから
もう一度WindowsRTをSurfaceやらに載せることを夢見ているのなら
やはりもう一度爆死するだろう
587デフォルトの名無しさん
2017/05/05(金) 18:13:03.55ID:ERU+CvkU 教育用途だっけ
今時のキッズは学校支給タブレットの制限外してゲームしてるらしいからその点ではいいかもな
今時のキッズは学校支給タブレットの制限外してゲームしてるらしいからその点ではいいかもな
588片山博文MZ ◆T6xkBnTXz7B0
2017/05/06(土) 18:59:21.43ID:0OTJXmRc あるプログラムで使用中のGDIオブジェクトの個数を数える方法はありますか?
589デフォルトの名無しさん
2017/05/06(土) 20:36:55.22ID:TAVkl+y8 タスクマネージャで見れるよ
590デフォルトの名無しさん
2017/05/06(土) 20:50:23.24ID:IA0Dpe0I GetGuiResources(hProcess, GR_GDIOBJECTS)
591デフォルトの名無しさん
2017/05/06(土) 20:53:17.94ID:Mwx5Td89592片山博文MZ ◆T6xkBnTXz7B0
2017/05/06(土) 20:54:47.07ID:NWV3MG9s ありがとー。
593デフォルトの名無しさん
2017/05/06(土) 21:06:22.69ID:HiVS0qll なにするつもりなのさ
594片山博文MZ ◆T6xkBnTXz7B0
2017/05/06(土) 21:08:39.06ID:NWV3MG9s メモリーリーク対策やデバッグやらだよ。
595雪風
2017/05/06(土) 21:54:04.69ID:QwsGrGdx >>593
自演 オナヌーだろ
自演 オナヌーだろ
596デフォルトの名無しさん
2017/05/06(土) 22:06:22.10ID:sQ11ayCM 書いてて恥ずかしくないの?
597デフォルトの名無しさん
2017/05/07(日) 02:01:32.34ID:KMqw+OzL598デフォルトの名無しさん
2017/05/07(日) 07:23:08.46ID:fOF53fEF firefoxとかリーク笑えるよな
599デフォルトの名無しさん
2017/05/09(火) 09:36:37.30ID:PBqzgUoz 特定のアプリケーションがハング状態になってるかを判断する方法ありませんか?
.netではRespondingプロパティで判断できるようですがwin32apiでやりたいので
.netではRespondingプロパティで判断できるようですがwin32apiでやりたいので
600デフォルトの名無しさん
2017/05/09(火) 09:45:13.26ID:XSL1JKA6 そこまで分かってるならソース読めよ
https://github.com/Microsoft/referencesource/blob/master/System/services/monitoring/system/diagnosticts/Process.cs
SendMessageTimeoutでWM_NULLを投げてるだけだな
https://github.com/Microsoft/referencesource/blob/master/System/services/monitoring/system/diagnosticts/Process.cs
SendMessageTimeoutでWM_NULLを投げてるだけだな
601デフォルトの名無しさん
2017/05/09(火) 10:04:41.73ID:4hsRJ4JE その質問コピペだよ
602デフォルトの名無しさん
2017/05/09(火) 10:17:40.46ID:PBqzgUoz ありがとうございました!
603デフォルトの名無しさん
2017/05/09(火) 11:30:51.02ID:fjUlBZmQ >>600
これ使ってDoS攻撃みたいなこと出来るんかな
これ使ってDoS攻撃みたいなこと出来るんかな
604デフォルトの名無しさん
2017/05/09(火) 21:20:50.87ID:2/UhKD8y 最近のアプリに多い、重い処理は別スレッドで実行してGUIが固まらないようにしてる場合は役に立たないかな
605デフォルトの名無しさん
2017/05/09(火) 21:48:08.53ID:LCRfM0F6 >>604
それは「重い処理のときにハングアップしているように見える」というだけの話で、
そういうレベルでの意味ならマルチスレッド化によって役には立たない。
でもそういうマルチスレッド化したソフトウェアでも
画面描画の時の不具合などでハングアップすることもあるわけで役に立たないということはないよ。
それは「重い処理のときにハングアップしているように見える」というだけの話で、
そういうレベルでの意味ならマルチスレッド化によって役には立たない。
でもそういうマルチスレッド化したソフトウェアでも
画面描画の時の不具合などでハングアップすることもあるわけで役に立たないということはないよ。
606デフォルトの名無しさん
2017/05/09(火) 22:06:52.23ID:2/UhKD8y607デフォルトの名無しさん
2017/05/09(火) 23:47:50.15ID:Ephb2XFu ウィンドウがわかるならIsHungAppWindowってのがある
608デフォルトの名無しさん
2017/05/10(水) 02:35:27.31ID:bnhY1qc6 >>606
動画の変換みたいに純粋に時間がかかる場合とか、ユーザーのクリック待ちとかもあるから、判断はできんだろうな
動画の変換みたいに純粋に時間がかかる場合とか、ユーザーのクリック待ちとかもあるから、判断はできんだろうな
609デフォルトの名無しさん
2017/05/10(水) 02:56:46.04ID:SJjrbjyQ 止めようとしても停まらないもの?
WindowsUpdateかな?
WindowsUpdateかな?
610デフォルトの名無しさん
2017/05/10(水) 11:25:51.30ID:Cp7+CNi6 >>609
ネットワーク切れてからのタイムアウトも異常に遅いんだよな
ネットワーク切れてからのタイムアウトも異常に遅いんだよな
611デフォルトの名無しさん
2017/05/14(日) 19:29:07.89ID:QF9yNcvN まだ見放されてないぞ
【IT】マイクロソフト、サポート切れOS「Windows 8、Windows XP、Windows Server 2003」にも修正ソフト提供
asahi.2ch.net
test/read.cgi/newsplus/1494723803
【IT】マイクロソフト、サポート切れOS「Windows 8、Windows XP、Windows Server 2003」にも修正ソフト提供
asahi.2ch.net
test/read.cgi/newsplus/1494723803
612デフォルトの名無しさん
2017/05/19(金) 19:48:39.48ID:7xgwPeWo 質問ささてください
構造体AをGlobalAllocで領域を確保して値を入れた後、構造体BをGlobalAllocで確保すると、構造体Aのメンバであるポインタのアドレスが変わってしまうのですが何が原因なのでしょうか?
構造体AをGlobalAllocで領域を確保して値を入れた後、構造体BをGlobalAllocで確保すると、構造体Aのメンバであるポインタのアドレスが変わってしまうのですが何が原因なのでしょうか?
613デフォルトの名無しさん
2017/05/19(金) 20:35:00.88ID:bDipVMhT あるプロセスのメモリ情報のリージョンサイズや属性を調べるにはどのAPIを使えばいいですか?
614デフォルトの名無しさん
2017/05/19(金) 20:49:42.55ID:McGsnd5l >>612
Windowsは働き者の賢いOSだからなぁ
Windowsは働き者の賢いOSだからなぁ
615デフォルトの名無しさん
2017/05/19(金) 21:09:20.04ID:/MnRfLXT 動かしたくないならLockしてください
616デフォルトの名無しさん
2017/05/19(金) 21:11:02.62ID:vqbyNvRL >>612
GlobalAllocじゃなくて自分で書き換えてるんでしょ
GlobalAllocじゃなくて自分で書き換えてるんでしょ
617デフォルトの名無しさん
2017/05/19(金) 21:22:03.75ID:Q8L1LGu9 >>612
GMEM_FIXEDを指定していないGlobalAllocでロックカウントが0の場合はメモリの再配置が起きる
GlobalLockとGlobalUnlockの間なら
「構造体Aのメンバであるポインタのアドレス」は変わることがないけど
GlobalUnlockを呼び出しロックを解除した場合は再配置される可能性がある
GMEM_FIXEDを指定していないGlobalAllocでロックカウントが0の場合はメモリの再配置が起きる
GlobalLockとGlobalUnlockの間なら
「構造体Aのメンバであるポインタのアドレス」は変わることがないけど
GlobalUnlockを呼び出しロックを解除した場合は再配置される可能性がある
618デフォルトの名無しさん
2017/05/20(土) 18:36:33.10ID:urI3JAo7619デフォルトの名無しさん
2017/05/20(土) 18:43:52.60ID:YAniTqrY 違うんじゃね
620デフォルトの名無しさん
2017/05/20(土) 19:05:41.41ID:rnnQH6fx ソースコードにイージーミスがある可能性の方がクッソ高いと思う
621デフォルトの名無しさん
2017/05/20(土) 19:06:46.68ID:opost44+622デフォルトの名無しさん
2017/05/20(土) 19:08:39.87ID:YAniTqrY 必要最小限の再現ソース晒してからだな
623デフォルトの名無しさん
2017/05/21(日) 02:26:55.08ID:8+aEBKAw 構造体A、もしくはその近くのメモリ確保量が足りていないような気がする
スタック破壊、または、メモリ内容破壊では?
スタック破壊、または、メモリ内容破壊では?
624デフォルトの名無しさん
2017/05/21(日) 10:34:21.57ID:UufpipHO >>613
VirtualQueryEx
VirtualQueryEx
625デフォルトの名無しさん
2017/05/21(日) 10:40:12.71ID:8IHB32RP すみません。自分がC++素人でメモリ周り疎いのでよくあるトラブルかなと思い、動作確認できている部分は抽象的に書きました。イージーミスの可能性はかなりあります。
ソースが手元にないのですが、具体的にはこのような処理をしています。スマホから書いたので文法ミスあるかもしれません。
メイン処理
DWOR count=0;
LPBYTE pStructA = (LPBYTE)GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(pStructA,&count);//自作関数 pStructAに構造体格納
/*ここでブレーク張ってpStructAのpNameのアドレスが正しい文字列指してるのは確認済み*/
PStructB pStructB = (PStructB)GlobalAlloc(GHND,sizeof(StructB)*count);
/*ここで改めてpNameを取得しようとするとpNameのアドレスがpStructBを確保する前と変わっている。元の文字列データは以前として前のアドレス上に存在してることは確認済み。pStructA自体のアドレスは変わっていない
*/
for(i=0 ;i<count;i++){
LPTSTR name= (((PRINTER_INFO_1*)pStructA)+count)->pName;
}
〜〜〜
自作関数 (動作確認済み)
DWORD GetPrinterInfo(LPBYTE pStructA, LPDWORD count){
DWORD result=0;
DWORD pNeeded=0;
//必要サイズ取得
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,pdw
&pNeeded,count);
//必要サイズ再確保
Global ReAlloc(pStructA,pNeeded,GHND);
//ここでPRINTER_INFO_1構造体をpStructAに格納
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,pdw
pNeeded,count);
return result;
}
ソースが手元にないのですが、具体的にはこのような処理をしています。スマホから書いたので文法ミスあるかもしれません。
メイン処理
DWOR count=0;
LPBYTE pStructA = (LPBYTE)GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(pStructA,&count);//自作関数 pStructAに構造体格納
/*ここでブレーク張ってpStructAのpNameのアドレスが正しい文字列指してるのは確認済み*/
PStructB pStructB = (PStructB)GlobalAlloc(GHND,sizeof(StructB)*count);
/*ここで改めてpNameを取得しようとするとpNameのアドレスがpStructBを確保する前と変わっている。元の文字列データは以前として前のアドレス上に存在してることは確認済み。pStructA自体のアドレスは変わっていない
*/
for(i=0 ;i<count;i++){
LPTSTR name= (((PRINTER_INFO_1*)pStructA)+count)->pName;
}
〜〜〜
自作関数 (動作確認済み)
DWORD GetPrinterInfo(LPBYTE pStructA, LPDWORD count){
DWORD result=0;
DWORD pNeeded=0;
//必要サイズ取得
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,pdw
&pNeeded,count);
//必要サイズ再確保
Global ReAlloc(pStructA,pNeeded,GHND);
//ここでPRINTER_INFO_1構造体をpStructAに格納
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,pdw
pNeeded,count);
return result;
}
626デフォルトの名無しさん
2017/05/21(日) 11:10:23.22ID:Bmvuj1qA GlobalAllocの戻り値のハンドルを直接キャストしてポインタに代入したら駄目だろ
ハンドルを引数としてGlobalLockを呼び出して、その戻り値をキャストしてポインタに代入しろ
ハンドルを引数としてGlobalLockを呼び出して、その戻り値をキャストしてポインタに代入しろ
627デフォルトの名無しさん
2017/05/21(日) 11:25:17.73ID:8zMWeNzv 蓋を開けてみればやはりこんなもんだ
p = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
HeapFree(GetProcessHeap(), 0, p);
でうまくやってるよ,GlobalAlloc は win3.1 の仕様を下敷きにしているので使いにくいよ
HeapFree(GetProcessHeap(), 0, p);
でうまくやってるよ,GlobalAlloc は win3.1 の仕様を下敷きにしているので使いにくいよ
629デフォルトの名無しさん
2017/05/21(日) 14:52:03.05ID:2E7Z41P0 オワコンだしな
今はもうmallocでいいよ
今はもうmallocでいいよ
>>629
それはどこにあるのかな?
それはどこにあるのかな?
631デフォルトの名無しさん
2017/05/21(日) 16:25:59.44ID:qIzrXw0L >>625
関数の仕様ぐらい確認しろといいたい
https://msdn.microsoft.com/ja-jp/library/cc430065.aspx
GMEM_FIXEDを指定していないGlobalAllocはメモリハンドルを返す
アドレスではなくハンドルであり、このハンドルをGlobalLockに渡すことでメモリアドレスを取得できる
メイン処理
DWORD count=0;
HGLOBAL gm = GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(gm,&count);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
for(i=0 ;i<count;i++){
LPTSTR name= ((PRINTER_INFO_1*)pStructA)[i].pName;
}
〜〜〜
DWORD GetPrinterInfo(HGLOBAL gm, LPDWORD count){
DWORD dwSize;
DWORD result=0;
DWORD pNeeded=0;
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,0,&pNeeded,count);
Global ReAlloc(gm,pNeeded,GHND);
dwSize = GlobalSize(gm);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,dwSize,&pNeeded,count);
GlobalUnlock(gm);
return result;
}
関数の仕様ぐらい確認しろといいたい
https://msdn.microsoft.com/ja-jp/library/cc430065.aspx
GMEM_FIXEDを指定していないGlobalAllocはメモリハンドルを返す
アドレスではなくハンドルであり、このハンドルをGlobalLockに渡すことでメモリアドレスを取得できる
メイン処理
DWORD count=0;
HGLOBAL gm = GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(gm,&count);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
for(i=0 ;i<count;i++){
LPTSTR name= ((PRINTER_INFO_1*)pStructA)[i].pName;
}
〜〜〜
DWORD GetPrinterInfo(HGLOBAL gm, LPDWORD count){
DWORD dwSize;
DWORD result=0;
DWORD pNeeded=0;
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,0,&pNeeded,count);
Global ReAlloc(gm,pNeeded,GHND);
dwSize = GlobalSize(gm);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,dwSize,&pNeeded,count);
GlobalUnlock(gm);
return result;
}
632デフォルトの名無しさん
2017/05/21(日) 16:40:14.23ID:s+TjotGN GMEM_MOVEABLE
移動可能メモリを割り当てます。Win32 環境では、物理メモリ内でメモリブロックが移動されることは決してありませんが、既定のヒープ内で移動することは可能です。
戻り値は、メモリオブジェクトのハンドルです。このハンドルをポインタへ変換するには、GlobalLock 関数を使います。
この値を GMEM_FIXED フラグと組み合わせることはできません。
Win32では移動することがないあるよって言ってるし、GPTRフラグを使うか、メモリ確保をmallocなりに置き換えたほうが良いね
EnumPrintersに渡すバッファのポインタは別になんでも良いみたいだし
移動可能メモリを割り当てます。Win32 環境では、物理メモリ内でメモリブロックが移動されることは決してありませんが、既定のヒープ内で移動することは可能です。
戻り値は、メモリオブジェクトのハンドルです。このハンドルをポインタへ変換するには、GlobalLock 関数を使います。
この値を GMEM_FIXED フラグと組み合わせることはできません。
Win32では移動することがないあるよって言ってるし、GPTRフラグを使うか、メモリ確保をmallocなりに置き換えたほうが良いね
EnumPrintersに渡すバッファのポインタは別になんでも良いみたいだし
633デフォルトの名無しさん
2017/05/21(日) 16:51:37.43ID:UufpipHO GlobalAllocはクリップボード弄る時くらいでいいよ
634デフォルトの名無しさん
2017/05/21(日) 18:27:54.67ID:8+aEBKAw こうゆう奴がプロジェクトにいると、デバックでは動くがリリースでは動かない
プログラムとか出来上がるんだろうな。。。
(もちろん、リリース+デバック情報埋込なら動く最悪のパターン)
プログラムとか出来上がるんだろうな。。。
(もちろん、リリース+デバック情報埋込なら動く最悪のパターン)
635デフォルトの名無しさん
2017/05/22(月) 03:45:08.81ID:6WP6IGo9 mallocでも、newでも好きなのつかったらいいんじゃね?
636デフォルトの名無しさん
2017/05/22(月) 07:02:35.87ID:1fjxccfj sizeof(0) ...
637デフォルトの名無しさん
2017/05/22(月) 10:58:01.86ID:ZhEHdQZR みなさま本当にありがとうございました。
メモリ確保の方法に関しては古いのはなんとなくわかってるのですが、意見できる程知識がないのが実情です……
ともあれ解決方法の兆しが見えたので頑張ってみます。
>>634
耳が痛いですが自分も本当にそう思います……個人的には勉強になるのでいいんですが……
リリース気をつけておきます
メモリ確保の方法に関しては古いのはなんとなくわかってるのですが、意見できる程知識がないのが実情です……
ともあれ解決方法の兆しが見えたので頑張ってみます。
>>634
耳が痛いですが自分も本当にそう思います……個人的には勉強になるのでいいんですが……
リリース気をつけておきます
638片山博文MZ ◆T6xkBnTXz7B0
2017/05/26(金) 15:19:18.57ID:hi3mNk6y639片山博文MZ ◆T6xkBnTXz7B0
2017/05/27(土) 10:36:14.50ID:je1Ltzc3640デフォルトの名無しさん
2017/05/27(土) 10:39:23.30ID:I7pwMhhb 皆さんは、ダイアログの HWND に対し SetWindowLongPtr, GetWindowLongPtr を使用する場合
GWLP_USERDATA と DWLP_USER をどのように使い分けていますか?
GWLP_USERDATA と DWLP_USER をどのように使い分けていますか?
641デフォルトの名無しさん
2017/05/27(土) 13:16:53.40ID:olQh0zw8 使い分けもなにも
get してから & とか | とかして set してる
get してから & とか | とかして set してる
642デフォルトの名無しさん
2017/06/14(水) 11:22:26.39ID:+7k/9HY0 エディットボックスにES_MULTILINEを付けると
Ctrl+Aですべて選択ができなくなってしまうのだけど、
これはなにか技術的な理由があってのことですか?
それとも、昔から修正されていないだけのバグですか?
Ctrl+Aですべて選択ができなくなってしまうのだけど、
これはなにか技術的な理由があってのことですか?
それとも、昔から修正されていないだけのバグですか?
643デフォルトの名無しさん
2017/06/14(水) 11:39:15.66ID:+7k/9HY0 642の追記ですが、ES_MULTILINEだけでなく、ES_READONLYを付けたときも、
同じようにCtrl+Aが効かなくなるようです。
同じようにCtrl+Aが効かなくなるようです。
644デフォルトの名無しさん
2017/06/14(水) 12:11:52.68ID:Jdv7hZ4r >>643
それはサブクラス化で対応
それはサブクラス化で対応
645デフォルトの名無しさん
2017/06/14(水) 12:19:57.15ID:+7k/9HY0 >>644
つまり、ES_MULTILINEやES_READONLYはCtrl+Aに対応すべき状態ではない
というような技術的な理由があるわけではなく、
単にマイクロソフトが修正していない昔からのバグで、
サブクラス化などで対応しても問題ないものなんですよね?
つまり、ES_MULTILINEやES_READONLYはCtrl+Aに対応すべき状態ではない
というような技術的な理由があるわけではなく、
単にマイクロソフトが修正していない昔からのバグで、
サブクラス化などで対応しても問題ないものなんですよね?
646デフォルトの名無しさん
2017/06/14(水) 13:35:54.11ID:pxuX+RKK ctrl+aが全選択という統一ルールがないとかなんとか
647デフォルトの名無しさん
2017/06/14(水) 19:35:40.93ID:+7k/9HY0648デフォルトの名無しさん
2017/06/15(木) 10:24:59.35ID:0e975zeL >>647
挙動としては認識通り
技術的な問題ではないのでサブクラスなりインスタンスなりのKeyDownイベントでSelectAll()して構わない
普通はついでにCopy()やCut()のショートカットキー処理もつけておく
挙動としては認識通り
技術的な問題ではないのでサブクラスなりインスタンスなりのKeyDownイベントでSelectAll()して構わない
普通はついでにCopy()やCut()のショートカットキー処理もつけておく
649デフォルトの名無しさん
2017/06/15(木) 11:09:41.39ID:pFacwd6b650デフォルトの名無しさん
2017/06/23(金) 01:36:52.51ID:/7Z8Xk53 CLIP STUDIO PAINTのようにツールっぽくする為にウインドウ全体を茶色に統一するようなWin32APIと言うのがありますでしょうか?
SKINかもしれないのですがSKINの仕方が解りません。
それとMediBang Paint Proのようにウインドウ全体でなくメニューとツールウインドウだけを茶色に統一する方法も
解りましたらお願いします。
SKINかもしれないのですがSKINの仕方が解りません。
それとMediBang Paint Proのようにウインドウ全体でなくメニューとツールウインドウだけを茶色に統一する方法も
解りましたらお願いします。
651デフォルトの名無しさん
2017/06/23(金) 03:31:09.37ID:1Ua/Rfq9 >>650
ないです。
ないです。
652デフォルトの名無しさん
2017/06/23(金) 10:30:01.91ID:0OdP20aK 中学生でもランサム作ってるんだから
がんがれ
がんがれ
653デフォルトの名無しさん
2017/06/24(土) 05:45:55.83ID:AiSsJYjg >>652
ランサムだけなら誰でもできる。ランサムウェアと呼ぶから重要なことが抜けて伝わってしまう。
ランサムだけなら誰でもできる。ランサムウェアと呼ぶから重要なことが抜けて伝わってしまう。
654デフォルトの名無しさん
2017/06/24(土) 12:23:00.00ID:29Lhuze+ ただのバッチだったしな
655デフォルトの名無しさん
2017/06/24(土) 12:44:27.58ID:TJcGM6+6 警察は実績が欲しく、子供は有名になりたかったらしいので
両者の思惑が一致した最高の形なんだろう
両者の思惑が一致した最高の形なんだろう
656デフォルトの名無しさん
2017/06/24(土) 18:30:11.33ID:AiSsJYjg >>654
重要なのはWindowsの穴をついてプログラムを実行できたところだからね。
重要なのはWindowsの穴をついてプログラムを実行できたところだからね。
657デフォルトの名無しさん
2017/06/24(土) 18:34:45.55ID:xexj0oOj 穴ついてたのかよw
どうせこのbat実行してね、だろうと思ってたんだが違ったか
どうせこのbat実行してね、だろうと思ってたんだが違ったか
658デフォルトの名無しさん
2017/06/24(土) 18:47:24.91ID:fDMY1AQ8 エッチなビデオ.avi .bat
とかじゃないの?
とかじゃないの?
659デフォルトの名無しさん
2017/06/24(土) 19:05:41.31ID:xexj0oOj 軽くぐぐってみたがどこの穴ついたかわからなかった
660デフォルトの名無しさん
2017/06/24(土) 20:21:25.60ID:sGEalsxM そういえば歴代OSの擬人化
みんな女の子だったよな
穴あって当然だな
みんな女の子だったよな
穴あって当然だな
661デフォルトの名無しさん
2017/06/24(土) 20:22:32.89ID:fDMY1AQ8 男の子にだって穴はあるよ?
662デフォルトの名無しさん
2017/06/24(土) 20:25:44.81ID:sGEalsxM アッー!
663デフォルトの名無しさん
2017/06/24(土) 21:08:00.00ID:eqxuJWIk こないだの WannaCrypt ランサムの話なら SMB の穴だけど
664デフォルトの名無しさん
2017/06/24(土) 21:26:43.99ID:xexj0oOj 中学生WannaCryptt使ってたのかよ・・・
665デフォルトの名無しさん
2017/06/25(日) 16:33:39.46ID:WhQ0StjH バッチファイルを書き換えられると危険が危ないと書いてある
朝日新聞の記事を読んだだけなのでよくわからないけど、
暗号化するプログラムをコピペで作ったんでしょう?
暗号化するバッチをコピペで作っただけなの?
どっちにせよ、穴は使ってない、ただのオナニーだった感じなんだが。
朝日新聞の記事を読んだだけなのでよくわからないけど、
暗号化するプログラムをコピペで作ったんでしょう?
暗号化するバッチをコピペで作っただけなの?
どっちにせよ、穴は使ってない、ただのオナニーだった感じなんだが。
666デフォルトの名無しさん
2017/06/25(日) 17:24:22.61ID:wnVI7vr5 >>665
じゃあどうやってファイルを書き換えたんだよ?
じゃあどうやってファイルを書き換えたんだよ?
667デフォルトの名無しさん
2017/06/25(日) 17:29:15.45ID:ZffRoDi0 バッチファイル実行前にファイル書き換えたのか?
668デフォルトの名無しさん
2017/06/25(日) 17:35:36.22ID:wnVI7vr5 ランサムウェアよりも前に穴をつくマルウェアが出てきて、そのマルウェアを参考にしたのが、今回のランサムウェアだと思うが。
669デフォルトの名無しさん
2017/06/25(日) 18:10:10.89ID:ZffRoDi0 その元になったマルウェアは何なんだ?
670デフォルトの名無しさん
2017/06/25(日) 18:17:51.52ID:gomAIGS/ nimda
671デフォルトの名無しさん
2017/06/25(日) 18:22:48.05ID:WhQ0StjH672デフォルトの名無しさん
2017/06/25(日) 18:43:40.36ID:ZffRoDi0 >>670
nimdaで中学生逮捕って情報見つからん。ソースどっかある?
nimdaで中学生逮捕って情報見つからん。ソースどっかある?
673デフォルトの名無しさん
2017/06/25(日) 22:03:09.80ID:mrQK8XKT いい加減にしろよ
引っ込みつかなくなった奴のマウント取って喜ぶような
小学生並みの神経してんのかお前は
引っ込みつかなくなった奴のマウント取って喜ぶような
小学生並みの神経してんのかお前は
674デフォルトの名無しさん
2017/06/25(日) 22:11:16.11ID:a6wiqT5o そんなキレるような話なのか
675デフォルトの名無しさん
2017/06/25(日) 22:42:25.16ID:x/CHo8JV windows10のGDI描画をXP相当にするAPIは無いものかのう
676デフォルトの名無しさん
2017/06/25(日) 23:05:37.96ID:WhQ0StjH677デフォルトの名無しさん
2017/06/25(日) 23:21:44.20ID:43L7ow5i >>675
visual style、runa style...いわゆる ThemeAPI の話?
なら、いわゆるスキンの類だと思うので API とか GDI とかの階層の話じゃないと思う。
カスタマイズでどうにかって話になるか、
ttps://www.japan-secure.com/entry/how_to_customize_the_windows_10_to_windows_xp.html
XP から theme.dll をぶっこ抜き・・・うーんワスレタ
visual style、runa style...いわゆる ThemeAPI の話?
なら、いわゆるスキンの類だと思うので API とか GDI とかの階層の話じゃないと思う。
カスタマイズでどうにかって話になるか、
ttps://www.japan-secure.com/entry/how_to_customize_the_windows_10_to_windows_xp.html
XP から theme.dll をぶっこ抜き・・・うーんワスレタ
678デフォルトの名無しさん
2017/06/26(月) 05:22:59.28ID:PKYMbkgl >>677
THX もう少し研究してみます
THX もう少し研究してみます
679デフォルトの名無しさん
2017/06/26(月) 12:35:00.28ID:H+izVTcm XP風は好きじゃないので
2000風にしたいな
2000風にしたいな
680デフォルトの名無しさん
2017/06/26(月) 12:42:47.84ID:SXHfurBW >>675
MFCとかを使っていいのなら、そういうライブラリは売ってるけどな。
MFCとかを使っていいのなら、そういうライブラリは売ってるけどな。
681デフォルトの名無しさん
2017/06/27(火) 16:01:04.05ID:SkJ0mgKG682デフォルトの名無しさん
2017/06/27(火) 18:31:38.30ID:5NUjqPYf そういう話じゃないんじゃね
683デフォルトの名無しさん
2017/06/27(火) 18:49:42.58ID:ZZnYACXF 自分のアプリだけならオーナードロー
OS全部なら方法わからん
OS全部なら方法わからん
684デフォルトの名無しさん
2017/06/27(火) 22:00:01.81ID:EYZSSY+5 OS全体ならXP時代によくやってたtheme.dllの差し替えでいける・・・はずなんだが
XP時代でしか通用しない技なのかも知れんね
XP時代でしか通用しない技なのかも知れんね
685デフォルトの名無しさん
2017/06/27(火) 23:05:04.28ID:c8HyVbZT だってそれまんま脆弱性だし
686デフォルトの名無しさん
2017/06/28(水) 01:51:29.20ID:AXq98w3R なあに、グローバルフックすりゃなんとななるやろ(鼻ほじ
687デフォルトの名無しさん
2017/06/28(水) 05:06:05.09ID:7tvQPx7M なんとかなればそれも脆弱性だっていう
688デフォルトの名無しさん
2017/06/28(水) 06:37:49.26ID:RlkwH7vS 脆弱性って意味わかってんのかな・・・
689デフォルトの名無しさん
2017/06/28(水) 07:28:38.92ID:7tvQPx7M お前こそ
690デフォルトの名無しさん
2017/06/28(水) 10:07:49.00ID:bCVBq3sa MSのハンコ入りなら大丈夫
691デフォルトの名無しさん
2017/06/28(水) 10:45:09.51ID:dLzkw9+d どういうつもりでみんなGDI描画という言葉を使ってるのかわけわからんな
692デフォルトの名無しさん
2017/06/28(水) 14:01:52.20ID:MYEGHP5e GDI 描画と言えば FillRect とかの、HDC 用いるグラフィック描画で、
Windows 10 でも Windows 3.1 でも基本的に動作同じだよね。
Windows 10 でも Windows 3.1 でも基本的に動作同じだよね。
693デフォルトの名無しさん
2017/06/28(水) 14:02:36.67ID:MYEGHP5e ↑動作というか出力というか
694デフォルトの名無しさん
2017/06/28(水) 14:03:11.40ID:bCVBq3sa695デフォルトの名無しさん
2017/06/28(水) 14:14:49.61ID:PPOfwgdP そりゃ違うけど同じだよ
696デフォルトの名無しさん
2017/06/28(水) 14:27:13.10ID:NYSM+Urs ウィンドウシステムの動作は GDI では規定されていないだろ。
以上、異論は無視する。
以上、異論は無視する。
697デフォルトの名無しさん
2017/06/28(水) 16:20:30.66ID:DxMay05+ >>692 が考えてる範囲が(以下略)
698デフォルトの名無しさん
2017/06/28(水) 20:15:54.39ID:BLqcsHlp 矩形を塗りつぶすという意味の範囲では同じだな
699デフォルトの名無しさん
2017/06/28(水) 20:21:27.87ID:azrexzpP FillRectはuser32.dll
700デフォルトの名無しさん
2017/06/29(木) 05:23:51.54ID:RYKjplhO dwm.exe というデスクトップマネージャーのプロセスがGUI描画の番人になってるからXP再現は無理でしょ。
701デフォルトの名無しさん
2017/06/29(木) 06:47:05.22ID:LierOJHW xpからファイル持ってきてosにぶちこむのができないからって
>>675ができないというわけじゃない
>>675ができないというわけじゃない
702デフォルトの名無しさん
2017/06/30(金) 09:55:47.80ID:pDIkSJMf VM使えよ
703デフォルトの名無しさん
2017/06/30(金) 10:04:08.61ID:8lmMmyG2 Win10 SDK で作ると Windows 8.1 で動かないんだっけ?
704デフォルトの名無しさん
2017/06/30(金) 10:24:15.07ID:JfivK6eA 動くよ
705デフォルトの名無しさん
2017/07/01(土) 00:02:15.02ID:E7tKWa34 確かにそう書いてあるな
Windows 7 SP1 以降がターゲットなら Win10 SDK でいいのか。
https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk
Windows 7 SP1 以降がターゲットなら Win10 SDK でいいのか。
https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk
706デフォルトの名無しさん
2017/07/01(土) 00:55:09.30ID:SrP9qrPF Win10SDKにまだ手を出していないんだけど、ようするに
Platform SDK、Windows SDK と思っていいんだよね?
Platform SDK、Windows SDK と思っていいんだよね?
707デフォルトの名無しさん
2017/07/01(土) 02:14:37.92ID:3PhSHuZP >>706
Win10SDKは directX SDK が変な統合のされ方しててインクルード警告が沢山でる。実害はない。
Win10SDKは directX SDK が変な統合のされ方しててインクルード警告が沢山でる。実害はない。
708デフォルトの名無しさん
2017/07/03(月) 01:10:58.28ID:u//qTFEB http://fast-uploader.com/file/7054567135089/
ウインドウを表示するだけのC++コードなんですが
ウインドウを消して終了しようとするとアクセス違反の例外が発生します
誰か解決方法を教えてください
ウインドウを表示するだけのC++コードなんですが
ウインドウを消して終了しようとするとアクセス違反の例外が発生します
誰か解決方法を教えてください
709デフォルトの名無しさん
2017/07/03(月) 20:14:34.18ID:pLc9U1QI const WCHAR *className = L"MainWindow";
↓
static const WCHAR *className = L"MainWindow"; 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
↓
static const WCHAR *className = L"MainWindow"; 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
710デフォルトの名無しさん
2017/07/03(月) 22:00:50.05ID:QZMxmlWX >>708
WM_NCDESTROY だか WM_POSTNCDESTORY が来るまで
window のインスタンスを消しちゃいけなかったような
PostQuitMessage の前に DestroyWindow しておけば良かったような
WM_NCDESTROY だか WM_POSTNCDESTORY が来るまで
window のインスタンスを消しちゃいけなかったような
PostQuitMessage の前に DestroyWindow しておけば良かったような
711デフォルトの名無しさん
2017/07/04(火) 00:24:40.83ID:UJlaPfcf VS2017でそのままビルド実行してみたけど例外など発生せずに正常に終了した
何か条件とかあるのかね
何か条件とかあるのかね
712デフォルトの名無しさん
2017/07/04(火) 00:48:55.57ID:vYvTEYNl 708です
原因がわかりました
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/12b5bb0f-d2f1-470b-9b9b-39e3e834aa80/win32api?forum=vcgeneralja
ウイルスバスターが原因でした
許さんぞ
原因がわかりました
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/12b5bb0f-d2f1-470b-9b9b-39e3e834aa80/win32api?forum=vcgeneralja
ウイルスバスターが原因でした
許さんぞ
713デフォルトの名無しさん
2017/07/04(火) 02:04:52.19ID:XS8CaxP/ とはいえ、
「ウイルスバスターを利用されている場合はエラーが出ます」
ってわけにもいかないだろうからこの先面倒だね。
健闘をお祈りします。
「ウイルスバスターを利用されている場合はエラーが出ます」
ってわけにもいかないだろうからこの先面倒だね。
健闘をお祈りします。
714デフォルトの名無しさん
2017/07/04(火) 02:37:05.07ID:48gcNEwZ ウィルスバスター入れてても、その自作プログラム以外のソフトでは
そういう終了時に例外が出る問題は出ないんだよね?
とすると、そのプログラムが何かを踏んでるようにみえるけど
そういう終了時に例外が出る問題は出ないんだよね?
とすると、そのプログラムが何かを踏んでるようにみえるけど
715デフォルトの名無しさん
2017/07/04(火) 02:41:32.21ID:DygcEzqH 原因は >>710 で大方間違いないし
716デフォルトの名無しさん
2017/07/05(水) 10:54:07.33ID:Qpg00Afa717デフォルトの名無しさん
2017/07/05(水) 11:14:56.55ID:K9O/lDO5 GetMessageの戻り値が-1ならbreakもな
718デフォルトの名無しさん
2017/07/06(木) 14:11:37.94ID:eR2pXU0u ウイルスバスター側にしてみれば
DestroyWindow されてないのに SendMessage したら落ちたww
ということだろうな
DestroyWindow されてないのに SendMessage したら落ちたww
ということだろうな
719デフォルトの名無しさん
2017/07/06(木) 19:13:43.60ID:Uj2/753t >>712
static LRESULT CALLBACK proc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
wc.lpfnWndProc = &proc;
これはどういうことかね、くわしく説明してもらおう
static LRESULT CALLBACK proc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
wc.lpfnWndProc = &proc;
これはどういうことかね、くわしく説明してもらおう
720デフォルトの名無しさん
2017/07/09(日) 21:40:21.92ID:u50+Yb/E Windows10タブレットで、画面の右端のメニュー(?)でディスプレイの明るさを変更できるじゃないですか。
あれをプログラムから変更できるようにしたいんですが、Win32APIで可能ですか?
あれをプログラムから変更できるようにしたいんですが、Win32APIで可能ですか?
721デフォルトの名無しさん
2017/07/09(日) 22:21:40.92ID:sO4xRRZ4723デフォルトの名無しさん
2017/07/11(火) 10:34:24.01ID:x+ezuj+Y ソケット通信でUDPでrecv関数でデータ取ってるのですが
これrecvでデータを取る前に何バイト溜まってるか確認するAPIあったら教えてください
これrecvでデータを取る前に何バイト溜まってるか確認するAPIあったら教えてください
724デフォルトの名無しさん
2017/07/11(火) 11:58:32.19ID:EEzJWlBe >>723
.netではioctlsocketでFIONREADを読んでるっぽいのでそれでいんじゃね
.netではioctlsocketでFIONREADを読んでるっぽいのでそれでいんじゃね
725デフォルトの名無しさん
2017/07/11(火) 15:22:08.77ID:x+ezuj+Y >>724
おお、マジでできましたありがとう
おお、マジでできましたありがとう
726デフォルトの名無しさん
2017/07/12(水) 22:50:08.62ID:scyI/W/6 #include <thread>
using namespace std;
・・・
SOCKET Sock = accept( ・・・ );
だとエラーになるんですが、
threadをincludeしない、あるいはusing namespace stdを書かないと、
正常なソケットを返します。
なぜこんなことが起こるのでしょうか??
using namespace std;
・・・
SOCKET Sock = accept( ・・・ );
だとエラーになるんですが、
threadをincludeしない、あるいはusing namespace stdを書かないと、
正常なソケットを返します。
なぜこんなことが起こるのでしょうか??
727デフォルトの名無しさん
2017/07/13(木) 11:47:56.92ID:vFZ8mgsl 名前が衝突してるから
728726
2017/07/13(木) 19:49:38.44ID:NRXck0Ni >>727
でも、エラーもなくコンパイル通りますし、VS上で定義を参照しても、
いずれの場合もWinSockのaccept()が参照されます。
同じWinSockのAPIでbind()がstd::bind()と衝突することはありましたが、
今回のaccept()はそれとは違う感じです。
でも、エラーもなくコンパイル通りますし、VS上で定義を参照しても、
いずれの場合もWinSockのaccept()が参照されます。
同じWinSockのAPIでbind()がstd::bind()と衝突することはありましたが、
今回のaccept()はそれとは違う感じです。
729デフォルトの名無しさん
2017/07/13(木) 19:54:13.72ID:EhXEoqOX エラーになるけどエラーないってことか
730デフォルトの名無しさん
2017/07/13(木) 20:11:37.92ID:WT5N9OT5 >>728
エラーになる最小のコードを晒さんとなんとも言えんわ
エラーになる最小のコードを晒さんとなんとも言えんわ
731726
2017/07/13(木) 20:44:11.52ID:NRXck0Ni >>729
コンパイルエラーはありませんが、
実行時にaccept()がエラーを返します。
>>730
#include <winsock.h>
#pragma comment( lib, "wsock32.lib" )
#include <thread>
using namespace std;
int main()
{
WSADATA WSAData;
WSAStartup( MAKEWORD( 1, 1 ), &WSAData );
SOCKET SockListen = socket( AF_INET, SOCK_STREAM, 0 );
SOCKADDR_IN Addr;
Addr.sin_family = AF_INET;
Addr.sin_addr.s_addr = htonl( INADDR_ANY );
Addr.sin_port = htons( 1234 );
bind( SockListen, ( SOCKADDR* )&Addr, sizeof( SOCKADDR ) );
listen( SockListen, 1 );
SOCKET SockAccept = accept( SockListen, NULL, NULL );
closesocket( SockAccept );
closesocket( SockListen );
WSACleanup();
return 0;
}
これが、accept()がエラーを返すコードです。
#include <thread>かusing namespace std;のいずれか、あるいは両方をコメントアウトすると
正常なソケットを返します。
IDEはVisual Studio Express 2015 for Windows Desktopです。
コンパイルエラーはありませんが、
実行時にaccept()がエラーを返します。
>>730
#include <winsock.h>
#pragma comment( lib, "wsock32.lib" )
#include <thread>
using namespace std;
int main()
{
WSADATA WSAData;
WSAStartup( MAKEWORD( 1, 1 ), &WSAData );
SOCKET SockListen = socket( AF_INET, SOCK_STREAM, 0 );
SOCKADDR_IN Addr;
Addr.sin_family = AF_INET;
Addr.sin_addr.s_addr = htonl( INADDR_ANY );
Addr.sin_port = htons( 1234 );
bind( SockListen, ( SOCKADDR* )&Addr, sizeof( SOCKADDR ) );
listen( SockListen, 1 );
SOCKET SockAccept = accept( SockListen, NULL, NULL );
closesocket( SockAccept );
closesocket( SockListen );
WSACleanup();
return 0;
}
これが、accept()がエラーを返すコードです。
#include <thread>かusing namespace std;のいずれか、あるいは両方をコメントアウトすると
正常なソケットを返します。
IDEはVisual Studio Express 2015 for Windows Desktopです。
732726
2017/07/13(木) 20:49:20.67ID:NRXck0Ni 自己解決しました!
std::bind()とwinsockのbind()が入れ替わってました!
::bind()とすればaccept()もエラーを返さなくなりました。
以前はエラーが出たと思ったのですが、うっかりしてました・・・。
失礼しました!
std::bind()とwinsockのbind()が入れ替わってました!
::bind()とすればaccept()もエラーを返さなくなりました。
以前はエラーが出たと思ったのですが、うっかりしてました・・・。
失礼しました!
733デフォルトの名無しさん
2017/07/13(木) 20:58:52.65ID:WT5N9OT5 ドンマイ
734デフォルトの名無しさん
2017/07/13(木) 21:25:50.23ID:ICDc/LUP bindというマクロが定義されてるライブラリがあって困ったことがあるな
735デフォルトの名無しさん
2017/07/14(金) 10:38:54.13ID:V0t+uF1e736デフォルトの名無しさん
2017/07/14(金) 12:41:08.29ID:g8QLqbc9737デフォルトの名無しさん
2017/07/14(金) 14:56:41.55ID:QI5b+orn738デフォルトの名無しさん
2017/07/14(金) 21:54:21.02ID:rNsHAWgc エンコードした動画データをWinSockを使ってUDPで送信しているんですが、
通信速度が妙に制限されている感じがします。
送信PC → (有線LAN GbE) → Wi-Fiルーター → (無線11ac) → Winタブ
有線の方はGbEなのに、データ量を増やすと8Mbpsあたりで頭打ちになり、
無線の方も11acなのに3Mbpsあたりで受信が頭打ちになります。
(いずれもタスクマネージャーのパフォーマンスタブで確認)
無線の方は最初もっと酷くて、調べたらワイヤレスアダプタが省電力モードになっていたので、
これを解除すると改善はしたのですが、それでも上記の通り3Mbps程度です。
実効帯域は理論値には及ばないとは思いますが、それにしても酷くないですか??
何かリミッターがかかっているのでしょうか?
それともこんなもんでしょうか?
通信速度が妙に制限されている感じがします。
送信PC → (有線LAN GbE) → Wi-Fiルーター → (無線11ac) → Winタブ
有線の方はGbEなのに、データ量を増やすと8Mbpsあたりで頭打ちになり、
無線の方も11acなのに3Mbpsあたりで受信が頭打ちになります。
(いずれもタスクマネージャーのパフォーマンスタブで確認)
無線の方は最初もっと酷くて、調べたらワイヤレスアダプタが省電力モードになっていたので、
これを解除すると改善はしたのですが、それでも上記の通り3Mbps程度です。
実効帯域は理論値には及ばないとは思いますが、それにしても酷くないですか??
何かリミッターがかかっているのでしょうか?
それともこんなもんでしょうか?
739デフォルトの名無しさん
2017/07/15(土) 00:49:20.22ID:9CUWPUhe 受け取り側WinXPにしても速度一緒かね?
DDOS対策されたに一票
DDOS対策されたに一票
740デフォルトの名無しさん
2017/07/15(土) 11:33:44.05ID:UAO9e8fy >>738
jumboフレームにしてないとかいうオチ
jumboフレームにしてないとかいうオチ
741デフォルトの名無しさん
2017/07/15(土) 17:41:49.53ID:9CUWPUhe jumboじゃなくても100MBsecぐらいすぐ出るかと
742デフォルトの名無しさん
2017/07/15(土) 19:33:47.48ID:jhhap/jh 1byte毎にsend()してるとかかも w
743デフォルトの名無しさん
2017/07/15(土) 19:39:10.00ID:GPnBT/AI >>742
+1
+1
744738
2017/07/17(月) 11:59:14.97ID:/eGUIGmm745デフォルトの名無しさん
2017/07/17(月) 15:26:50.32ID:JChZsj9+746デフォルトの名無しさん
2017/07/18(火) 07:29:21.72ID:pxoS8Rlj >>744
ソケットのバッファが溢れているのかもしれない。UDPだからsendしても黙って破棄されうる。これが原因だったらsetsockoptで送信、受信のバッファを大きくすれば良い。
また、UDPではOSが送信速度の調節をしないから、アプリケーション側で一定の速度でsendしないと途中のデバイスや受信側で破棄されることもある。
例えば、5Mbpsで送っているつもりでも、10ms間に500Mbpsで送り、後の990msは何もしていない可能性がある。その場合途中のWi-Fiルータのバッファが溢れるかもしれない。
送信用のスレッドを作り、send毎に経過時間と送信量を調べ、適当にsleepさせれば良い。
ソケットのバッファが溢れているのかもしれない。UDPだからsendしても黙って破棄されうる。これが原因だったらsetsockoptで送信、受信のバッファを大きくすれば良い。
また、UDPではOSが送信速度の調節をしないから、アプリケーション側で一定の速度でsendしないと途中のデバイスや受信側で破棄されることもある。
例えば、5Mbpsで送っているつもりでも、10ms間に500Mbpsで送り、後の990msは何もしていない可能性がある。その場合途中のWi-Fiルータのバッファが溢れるかもしれない。
送信用のスレッドを作り、send毎に経過時間と送信量を調べ、適当にsleepさせれば良い。
747デフォルトの名無しさん
2017/07/18(火) 13:10:40.68ID:Qgn2HB2W LANケーブルの方は10Mbpsでリンクアップしてない?
748デフォルトの名無しさん
2017/07/18(火) 13:18:25.28ID:LIY57LJN パケットキャプチャしないの?
749738
2017/07/18(火) 23:58:54.20ID:wXjNiN5C 本日、色々検証してみまして、分かったことを書きます。
送信側(優先)のPCで、whileループでひたすらsendto()しまくる単純なプログラムを動かしたところ、
何と1Gbps近く出ました!
動画圧縮・送信アプリで送信制限があるかに見えたのは、
単にエンコードのAPIが、一定以上のビットレートではデータサイズが飽和しているだけのようです。
このアプリを複数起動したところ、1プロセス×起動数分の帯域(12Mbps等)をちゃんと消費しました。
しかし、一方の受信側(無線)のタブレットPCでは、whileループでひたすらrecvfrom()しまくっても
5Mbps程度でやはり頭打ちしました。
これらはすべてUDPでの送受信ですが、
試しにTCPではどうか検証してみたところ、
フリーのFTP転送アプリで、送受信ともに、何と200Mbpsくらい出ました!
そんなバカな、と思い、自分でTCP送受信だけをひたすら行う単純なプログラムを書いて実行してみたところ、
200Mbpsには至らなかったものの、26Mbpsくらいまでは送受信ともに出せました。
なお、帯域を大きくすればするほど、送信に失敗する確率が高まる傾向が見られました。
これはTCPで見られる、受信側のバッファ枯渇によるものと思われます。
アプリ側でsetsockopt()で受信バッファを拡張してやると改善し、上記bpsに至りました。
FTP転送アプリがなぜ200Mbpsも叩き出せたかは分かりませんが、
今回の動画送受信アプリでは26Mbpsでも十分な帯域なので、結果的にはUDPからTCPに変更ことで対策が完了しました。
送信側(優先)のPCで、whileループでひたすらsendto()しまくる単純なプログラムを動かしたところ、
何と1Gbps近く出ました!
動画圧縮・送信アプリで送信制限があるかに見えたのは、
単にエンコードのAPIが、一定以上のビットレートではデータサイズが飽和しているだけのようです。
このアプリを複数起動したところ、1プロセス×起動数分の帯域(12Mbps等)をちゃんと消費しました。
しかし、一方の受信側(無線)のタブレットPCでは、whileループでひたすらrecvfrom()しまくっても
5Mbps程度でやはり頭打ちしました。
これらはすべてUDPでの送受信ですが、
試しにTCPではどうか検証してみたところ、
フリーのFTP転送アプリで、送受信ともに、何と200Mbpsくらい出ました!
そんなバカな、と思い、自分でTCP送受信だけをひたすら行う単純なプログラムを書いて実行してみたところ、
200Mbpsには至らなかったものの、26Mbpsくらいまでは送受信ともに出せました。
なお、帯域を大きくすればするほど、送信に失敗する確率が高まる傾向が見られました。
これはTCPで見られる、受信側のバッファ枯渇によるものと思われます。
アプリ側でsetsockopt()で受信バッファを拡張してやると改善し、上記bpsに至りました。
FTP転送アプリがなぜ200Mbpsも叩き出せたかは分かりませんが、
今回の動画送受信アプリでは26Mbpsでも十分な帯域なので、結果的にはUDPからTCPに変更ことで対策が完了しました。
750738
2017/07/19(水) 00:04:16.35ID:eXD5VvDv 今回の検証で、以下のような仮説が立ったのですが、いかがでしょうか?
・11acにまで広帯域化し、TCPの再送制御等のオーバーヘッドが相対的に小さくなった
・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は
増加しているため、UDPには向かなくなっている
こうなると、「大容量のデータを効率的に送受信」というUDPのメリットは失われ、
ブロードキャスティングでデータ共有の利点が残る程度になるのかなぁ、という感じです。
この考察は的を射ているでしょうか?
だとしたら、業界では知られてることなんでしょうかね?
・11acにまで広帯域化し、TCPの再送制御等のオーバーヘッドが相対的に小さくなった
・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は
増加しているため、UDPには向かなくなっている
こうなると、「大容量のデータを効率的に送受信」というUDPのメリットは失われ、
ブロードキャスティングでデータ共有の利点が残る程度になるのかなぁ、という感じです。
この考察は的を射ているでしょうか?
だとしたら、業界では知られてることなんでしょうかね?
751デフォルトの名無しさん
2017/07/19(水) 01:57:20.58ID:Q4K+dCVc >>750
@TCPのオーバーヘッドは送受信の処理が重いことが主で、別にそれほど帯域を浪費する訳ではない。
ヘッダによる消費は、UDPだと1500バイト中28バイト、TCPだと1500バイト中40バイト。TCPだと適宜ACKが返ってくるが、それも各パケット数十バイト。
送受信側の処理速度向上が大きい。
AUDP向きかどうかは当然何をしたいかに依る。
TCPの処理が邪魔になる場合(遅延やパフォーマンス等の理由で)、「何もしない」UDP上に独自の実装をする。TCPで問題ないならTCPで良い。
信頼できるストリーム通信が必要なら、結局UDP上にTCPもどきを作ることになるだけ。
BTCPの欠点に、RTTが大きいと遅くなることがある。海外との大量のファイル転送はUDP上の独自プロトコルで行ったりする。あと、TCPoverTCPはパフォーマンスが劣化するから、VPNやトンネリングはUDP上が良い。
また、コネクションレスであることは、NATやFWを越える時に便利だったりする。
C普通、何もしないUDPは、余計な処理をするTCPより遅くはならない。UDPで5Mbpsしか出ないのは、どこかのバッファが溢れているか、大きすぎるデータをsendしてフラグメンテーションを起こしているかどちらかの可能性が高い。
@TCPのオーバーヘッドは送受信の処理が重いことが主で、別にそれほど帯域を浪費する訳ではない。
ヘッダによる消費は、UDPだと1500バイト中28バイト、TCPだと1500バイト中40バイト。TCPだと適宜ACKが返ってくるが、それも各パケット数十バイト。
送受信側の処理速度向上が大きい。
AUDP向きかどうかは当然何をしたいかに依る。
TCPの処理が邪魔になる場合(遅延やパフォーマンス等の理由で)、「何もしない」UDP上に独自の実装をする。TCPで問題ないならTCPで良い。
信頼できるストリーム通信が必要なら、結局UDP上にTCPもどきを作ることになるだけ。
BTCPの欠点に、RTTが大きいと遅くなることがある。海外との大量のファイル転送はUDP上の独自プロトコルで行ったりする。あと、TCPoverTCPはパフォーマンスが劣化するから、VPNやトンネリングはUDP上が良い。
また、コネクションレスであることは、NATやFWを越える時に便利だったりする。
C普通、何もしないUDPは、余計な処理をするTCPより遅くはならない。UDPで5Mbpsしか出ないのは、どこかのバッファが溢れているか、大きすぎるデータをsendしてフラグメンテーションを起こしているかどちらかの可能性が高い。
752デフォルトの名無しさん
2017/07/19(水) 09:22:44.41ID:q1yo5LZE >>750
>・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は
>増加しているため、UDPには向かなくなっている
そんなにパケットロスしているとtcpも速度出ないですよ。
原理的には、制御して再送する分だけudpより遅くなるでしょう。
udp で速度が出ないのは主として送受信側のバッファ溢れでしょうから、
・送信側は溢れないレートで送信する
例えば帯域1GHz WiFi で 1Gbps で送信したら帯域を食い潰して受信側へ再送出できませんよね。
ケーブルの場合と違って電波は PC->基地局-> 受信側とairを2回経由します。
あまり大量に送ると基地局まで届いてもそこでドロップされます。
・read側はなるべくread I/O を発行しっぱなしにしてあげる
スレッド使うなどカーネルの受信バッファあてにしないで頑張る。
>・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は
>増加しているため、UDPには向かなくなっている
そんなにパケットロスしているとtcpも速度出ないですよ。
原理的には、制御して再送する分だけudpより遅くなるでしょう。
udp で速度が出ないのは主として送受信側のバッファ溢れでしょうから、
・送信側は溢れないレートで送信する
例えば帯域1GHz WiFi で 1Gbps で送信したら帯域を食い潰して受信側へ再送出できませんよね。
ケーブルの場合と違って電波は PC->基地局-> 受信側とairを2回経由します。
あまり大量に送ると基地局まで届いてもそこでドロップされます。
・read側はなるべくread I/O を発行しっぱなしにしてあげる
スレッド使うなどカーネルの受信バッファあてにしないで頑張る。
753デフォルトの名無しさん
2017/07/19(水) 11:44:11.55ID:+fK80sDM >>749
FTPはpasvじゃね
FTPはpasvじゃね
754デフォルトの名無しさん
2017/07/19(水) 22:12:25.78ID:54vs2xq7755738
2017/07/19(水) 23:45:01.11ID:eXD5VvDv 詳細なご助言、ありがとうございます。
ソケットプログラミングを舐めてました・・・。
勉強します。
ソケットプログラミングを舐めてました・・・。
勉強します。
756デフォルトの名無しさん
2017/07/23(日) 21:24:45.77ID:i/1Azv/r Windows10の環境で、ShowCursor(FALSE);、ShowCursor(TRUE);
が何故か動かないですが、原因わかりますか?代用のAPIってありますか?
カーソルの形状を透明に置き換えるしかないかな。。。
が何故か動かないですが、原因わかりますか?代用のAPIってありますか?
カーソルの形状を透明に置き換えるしかないかな。。。
757デフォルトの名無しさん
2017/07/23(日) 21:33:57.11ID:gJMUPJMf >>756
自分のプログラムではWindows10で動いてるよ。
複数回呼んだりしてない?
ShowCursor()は内部の参照カウントみたいなのをインクリメント/デクリメントして、
0以上かどうかで表示/非表示が変わる。
確実にやるならwhile文で戻り値(カウント値)をチェックしてやる。
自分のプログラムではWindows10で動いてるよ。
複数回呼んだりしてない?
ShowCursor()は内部の参照カウントみたいなのをインクリメント/デクリメントして、
0以上かどうかで表示/非表示が変わる。
確実にやるならwhile文で戻り値(カウント値)をチェックしてやる。
758デフォルトの名無しさん
2017/07/24(月) 00:50:38.22ID:Q/sCu+tw 自分のアプリ内だけ消したいとかならWM_SETCURSORでSetCursorにぬるぽ渡してるなあ
759デフォルトの名無しさん
2017/07/24(月) 01:03:43.40ID:ApWJ+3q2 動かない原因がわかりました。。。
自分のWINDOWを表示していない場合、カーソル非表示にならないっぽいです。
ジョイスパッドで操作するマウスを作っていて、マウスを移動した後で、
自動的にマウスカーソルの表示/非表示したかったのですが、
自分のウインドウを表示していないためにうまくいかない;;
カーソルの形状変えて回避を試すか、透過ウインドとかで回避?
自分のWINDOWを表示していない場合、カーソル非表示にならないっぽいです。
ジョイスパッドで操作するマウスを作っていて、マウスを移動した後で、
自動的にマウスカーソルの表示/非表示したかったのですが、
自分のウインドウを表示していないためにうまくいかない;;
カーソルの形状変えて回避を試すか、透過ウインドとかで回避?
760デフォルトの名無しさん
2017/07/24(月) 01:40:41.42ID:ApWJ+3q2 もしかして、フック使わないとだめ?
761デフォルトの名無しさん
2017/07/24(月) 02:06:27.33ID:etlzFZfn どうだったかなぁ
グローバルにマウスカーソルを消す方法はあったかなぁ
相当な迷惑行為だからなぁ
そんな事をしたい奴も居ないだろうしなぁ
グローバルにマウスカーソルを消す方法はあったかなぁ
相当な迷惑行為だからなぁ
そんな事をしたい奴も居ないだろうしなぁ
762デフォルトの名無しさん
2017/07/24(月) 02:58:51.42ID:mnSWSFmQ 透過ウィンドウが王道じゃなかったか
忘れたけど
忘れたけど
763デフォルトの名無しさん
2017/07/24(月) 08:28:59.85ID:axe1Ox+X 透過ウィンドウ最大化でなんとかしてた
764デフォルトの名無しさん
2017/07/24(月) 15:15:22.73ID:BdqEvISL vfd
765デフォルトの名無しさん
2017/07/25(火) 00:03:21.82ID:SY0Mxk4f SetSystemCursorで一応変更できるけど完璧にはできない
766デフォルトの名無しさん
2017/07/26(水) 21:44:38.92ID:dmLhcxPj マウスの件ですが、サイズ1x1のウインドウを作って、WM_TIMERでウインドウを追尾するようにして対処しました。
透過ウインドでアルファ1設定しています。0にしちゃうとダメっぽいです。もっといい方法あるのでしょうか?
hWnd = CreateWindowEx(WS_EX_TOPMOST | WS_EX_LAYERED, szWindowClass, szTitle,WS_POPUP,0, 0, 1, 1, NULL, NULL, hInstance, NULL);
SetLayeredWindowAttributes(hWnd, 0, 1, LWA_ALPHA); // 透明1
int n;do { n = ShowCursor(0); } while (n >= 0); // マウスカーソルを消す
case WM_TIMER: POINT pt;GetCursorPos(&pt);SetWindowPos(hWnd, HWND_TOPMOST, pt.x, pt.y, 0, 0, SWP_NOSIZE);
透過ウインドでアルファ1設定しています。0にしちゃうとダメっぽいです。もっといい方法あるのでしょうか?
hWnd = CreateWindowEx(WS_EX_TOPMOST | WS_EX_LAYERED, szWindowClass, szTitle,WS_POPUP,0, 0, 1, 1, NULL, NULL, hInstance, NULL);
SetLayeredWindowAttributes(hWnd, 0, 1, LWA_ALPHA); // 透明1
int n;do { n = ShowCursor(0); } while (n >= 0); // マウスカーソルを消す
case WM_TIMER: POINT pt;GetCursorPos(&pt);SetWindowPos(hWnd, HWND_TOPMOST, pt.x, pt.y, 0, 0, SWP_NOSIZE);
767片山博文MZ ◆T6xkBnTXz7B0
2017/07/26(水) 21:49:04.00ID:bC5SPfn2 ウィンドウを仮想スクリーンいっぱいにすれば、追尾の必要はない。
768デフォルトの名無しさん
2017/07/26(水) 22:17:49.99ID:dmLhcxPj769片山博文MZ ◆T6xkBnTXz7B0
2017/07/27(木) 01:34:42.30ID:vaTNWP9F >>768
WS_EX_TRANSPARENTを使えば描画が透過になるらしい。
WS_EX_TRANSPARENTを使えば描画が透過になるらしい。
770デフォルトの名無しさん
2017/07/27(木) 16:09:43.62ID:5IXklzdW そのようなことが本当に可能かどうかの確認もせずに書き込むのはなぜなんですか?
実際に昔自分が試したことがあって、完全にわかっているなら良いと思うけど
やったこともないことを、試しもせずに、どうして適当書き込むの?
まずレイヤードウィンドウで、SetLayeredWindowAttributes でアルファ値を0にした場合
完全な透明になるとともに、マウスの当たり判定も何もなくなって
まるでウィンドウが存在していないかのような扱いになるので
マウスカーソルがウィンドウ上に有るよっていう扱いが無くなって
マウスカーソルを非表示にしても、非常時にはならない
で、アルファ値を1とか適当な値にするとマウスの当たり判定が出来るので
めでたくマウスカーソルを非表示にすることが出来る
ここまでは質問者が書いている内容
ここで、ウィンドウサイズを画面いっぱいに広げると
画面全体がアルファ値の「1」の分の影響を受けそうだということもあるが
とりあえず質問者はGPUの負荷を気にしている
そこでアルファ値を0にするとWindows内の最適化でGPUでの合成処理はスキップされるだろうが
しかし先ほども書いた通りマウスの当たり判定も無くなるのでマウスカーソルは消えなくなる
で、この場合WS_EX_TRANSPARENTの何が有効なんだという話
これを指定したからといって、アルファ値が1であればウィンドウは表示されるし
表示されるんなら、GPUに負荷がかかることに変わりなし
だが、ここまでであればまだよい、まだわかる、それはいい、本当の問題は
レイヤードウィンドウにおいてのWS_EX_TRANSPARENTは、「マウスイベントを透過させる」の意だ
つまり、ウィンドウは半透明とかで表示するけども、マウス的には無きものとして扱う
そういう意味であるので、マウスの判定は無くなるし、ウィンドウ上にマウスがあるって扱いも無くなるので
「マウスカーソルは消えない」
だから、レイヤードウィンドウでWS_EX_TRANSPARENTだと
アルファ値が何であろうと、ウィンドウサイズが何であると、関係なく
そもそもマウスカーソルは消えない
つまり言ってることが二重三重にデタラメ
実際に昔自分が試したことがあって、完全にわかっているなら良いと思うけど
やったこともないことを、試しもせずに、どうして適当書き込むの?
まずレイヤードウィンドウで、SetLayeredWindowAttributes でアルファ値を0にした場合
完全な透明になるとともに、マウスの当たり判定も何もなくなって
まるでウィンドウが存在していないかのような扱いになるので
マウスカーソルがウィンドウ上に有るよっていう扱いが無くなって
マウスカーソルを非表示にしても、非常時にはならない
で、アルファ値を1とか適当な値にするとマウスの当たり判定が出来るので
めでたくマウスカーソルを非表示にすることが出来る
ここまでは質問者が書いている内容
ここで、ウィンドウサイズを画面いっぱいに広げると
画面全体がアルファ値の「1」の分の影響を受けそうだということもあるが
とりあえず質問者はGPUの負荷を気にしている
そこでアルファ値を0にするとWindows内の最適化でGPUでの合成処理はスキップされるだろうが
しかし先ほども書いた通りマウスの当たり判定も無くなるのでマウスカーソルは消えなくなる
で、この場合WS_EX_TRANSPARENTの何が有効なんだという話
これを指定したからといって、アルファ値が1であればウィンドウは表示されるし
表示されるんなら、GPUに負荷がかかることに変わりなし
だが、ここまでであればまだよい、まだわかる、それはいい、本当の問題は
レイヤードウィンドウにおいてのWS_EX_TRANSPARENTは、「マウスイベントを透過させる」の意だ
つまり、ウィンドウは半透明とかで表示するけども、マウス的には無きものとして扱う
そういう意味であるので、マウスの判定は無くなるし、ウィンドウ上にマウスがあるって扱いも無くなるので
「マウスカーソルは消えない」
だから、レイヤードウィンドウでWS_EX_TRANSPARENTだと
アルファ値が何であろうと、ウィンドウサイズが何であると、関係なく
そもそもマウスカーソルは消えない
つまり言ってることが二重三重にデタラメ
771デフォルトの名無しさん
2017/07/27(木) 16:26:35.88ID:TSUPQXzA とりあえず全部読んだ
772デフォルトの名無しさん
2017/07/27(木) 16:32:39.41ID:5IXklzdW ちなみにレイヤードウィンドウじゃない普通のウィンドウに
WS_EX_TRANSPARENTを指定しても
今回の件はうまくいかないからな
WS_EX_TRANSPARENTの仕様はその昔のWindowsの描画の仕様に強く依存していて
それ故にかなり複雑な動きをするところもあったかもしれないが
しかしながら今回の件において、それも既に関係が無い
なぜなら今はデスクトップコンポジションだから
ウィンドウは自分のビットマップを持ってるので
かつてのWindowsの再描画の仕様によってもたらされていた
ウィンドウの下のものが透けて見えるように感じる、という現象は起こらない
WS_EX_TRANSPARENTを指定しても
今回の件はうまくいかないからな
WS_EX_TRANSPARENTの仕様はその昔のWindowsの描画の仕様に強く依存していて
それ故にかなり複雑な動きをするところもあったかもしれないが
しかしながら今回の件において、それも既に関係が無い
なぜなら今はデスクトップコンポジションだから
ウィンドウは自分のビットマップを持ってるので
かつてのWindowsの再描画の仕様によってもたらされていた
ウィンドウの下のものが透けて見えるように感じる、という現象は起こらない
773片山博文MZ ◆T6xkBnTXz7B0
2017/07/27(木) 17:02:53.88ID:LWV2Yf86 WM_ERASEBKGNDをつぶせば透過に
774デフォルトの名無しさん
2017/07/27(木) 17:54:30.49ID:5IXklzdW 良くわからないなら少なくとも出来るかどうか確認してから言えといっただろ
775デフォルトの名無しさん
2017/07/27(木) 18:03:15.82ID:DvER6G26 それがにちゃんねるクォリティというもの、コードを貼らない書き込みに期待しないのがいい
776デフォルトの名無しさん
2017/07/27(木) 18:06:42.35ID:46kBibo2 誰に確認してから言えって言ってるの?
回答側に確認義務があるなら、だれも回答したくなくるしヒントも言えんわ。
回答側に確認義務があるなら、だれも回答したくなくるしヒントも言えんわ。
777デフォルトの名無しさん
2017/07/27(木) 18:22:49.05ID:t8Fq16Nl 片山はNGワードでOK
778デフォルトの名無しさん
2017/07/27(木) 18:29:25.65ID:DvER6G26779デフォルトの名無しさん
2017/07/27(木) 19:16:34.98ID:P1js1uXh 責任ある解答が欲しけりゃ金払えよ
払っても責任とってくれるかどうかは知らんけど w
払っても責任とってくれるかどうかは知らんけど w
780デフォルトの名無しさん
2017/07/27(木) 20:24:33.89ID:5IXklzdW スレの運営方針とか、自治的な何かとは、関係ない
2chのスレがグダグダになろうが、嘘であふれかえろうが、知ったことではない
知りもしないことを、調べもしないで、確かめることもせず
知ったかがしたいという唯それだけのために適当なことを書き込む
あなたはいったい何なんだ?そして実際間違ってる
という単なる個人攻撃
そして、また間髪おかず間違ったことを書き込んだから
なぜ同じ過ちを繰り返す?としたまで
拡大解釈して一般化してどうこう言うようなものではないぞ
2chのスレがグダグダになろうが、嘘であふれかえろうが、知ったことではない
知りもしないことを、調べもしないで、確かめることもせず
知ったかがしたいという唯それだけのために適当なことを書き込む
あなたはいったい何なんだ?そして実際間違ってる
という単なる個人攻撃
そして、また間髪おかず間違ったことを書き込んだから
なぜ同じ過ちを繰り返す?としたまで
拡大解釈して一般化してどうこう言うようなものではないぞ
781デフォルトの名無しさん
2017/07/27(木) 20:39:13.38ID:7IEdpfIL >>780
しったかが多いのは何もにちゃんねるに限らない,世間様でもあきれ返るばかりに多いんだよ
しったかが多いのは何もにちゃんねるに限らない,世間様でもあきれ返るばかりに多いんだよ
782デフォルトの名無しさん
2017/07/27(木) 21:17:08.86ID:lePSsggt >>780
無駄な正義感で生きにくそう
無駄な正義感で生きにくそう
783デフォルトの名無しさん
2017/07/27(木) 21:57:41.84ID:P8zzUyc0784デフォルトの名無しさん
2017/07/27(木) 22:02:56.93ID:DDfF3pSC 株式会社メビウス(mob)
http://matsuri.2ch.net/test/read.cgi/infosys/1501121465/
http://matsuri.2ch.net/test/read.cgi/infosys/1501121465/
785デフォルトの名無しさん
2017/07/27(木) 22:40:03.60ID:lBgNNeyr ネットでデタラメ狩りしてもキリがないもんな
大抵は質問する側の方が知識あるから大丈夫
大抵は質問する側の方が知識あるから大丈夫
786デフォルトの名無しさん
2017/07/27(木) 23:21:44.69ID:TSUPQXzA 知識がある質問側が知識のない回答者に訊くのか
787デフォルトの名無しさん
2017/07/28(金) 01:04:49.84ID:/BbkHPYe 質問する人は自分でやってみて上手くいかず答えが難しいから質問するわけで、
やったこともなく難しいということすらわからず当てずっぽうな返答を書く人よりは知識あるでしょ。
やったこともなく難しいということすらわからず当てずっぽうな返答を書く人よりは知識あるでしょ。
788デフォルトの名無しさん
2017/07/28(金) 01:14:51.00ID:/BbkHPYe ところで当てずっぽうで書くけど拡張ウィンドウスタイルで透明にして
erasebkgnd やら ncpaint やらで描画サボっても透明になるんじゃないか
昔のバイナリはそうやって穴あきウィンドウとか実装してたわけで
その辺は今でも互換性あるでしょ
erasebkgnd やら ncpaint やらで描画サボっても透明になるんじゃないか
昔のバイナリはそうやって穴あきウィンドウとか実装してたわけで
その辺は今でも互換性あるでしょ
789デフォルトの名無しさん
2017/07/28(金) 04:15:41.18ID:OlX0v1uA >>787
どこまで頭悪いとそういう理論にたどり着くのか
どこまで頭悪いとそういう理論にたどり着くのか
790デフォルトの名無しさん
2017/07/28(金) 07:47:39.36ID:bTFRT7jO >>786
そういえば、知識のある人に訊いたつもりなのに知識ない人から変な回答が付くってのはよくあるなぁ。
そういえば、知識のある人に訊いたつもりなのに知識ない人から変な回答が付くってのはよくあるなぁ。
791デフォルトの名無しさん
2017/07/28(金) 09:01:08.00ID:QaJRNrxO つもりだからでしょ
つもりしゃなくてそうしなよ
つもりしゃなくてそうしなよ
792デフォルトの名無しさん
2017/07/28(金) 10:41:48.20ID:HR9e4R3v793デフォルトの名無しさん
2017/07/28(金) 20:56:53.43ID:bTFRT7jO 「知識のある人だけ答えてください」とか書いたら余計バカが集まるw
794デフォルトの名無しさん
2017/07/29(土) 00:30:51.84ID:K1UV3B/G >>770
まさにその通りですね。詳しい解説ありがとうございます。WS_EX_TRANSPARENTは、片山さんから助言受ける前に試してました。
画面サイズ最大で作って、erasebkgnd やら ncpaintとかは、リペイントのコストかかるので向いてないかも、ウインドの下でゲームや、動画とか再生されてた時などに不具合出そう。
できるだけシンプルに作りたかったので、今回はサイズ1x1で追尾にしました。(追尾といっても任意の動作後に追尾命令1回なので低コスト)
>>778
最低限のコード張ってないのは、どっかのサイトにでもコード張っておけばよかったかもですね。
大した処理ではないので、>>766で書いたCreateWindowEx、SetLayerdWindowAttributes、ShowCursorなどを張り付けておけばわかる人は分かるだろうと思っていたのですみません。
とりあえず、解決です。皆さま、ありがとうございました。
まさにその通りですね。詳しい解説ありがとうございます。WS_EX_TRANSPARENTは、片山さんから助言受ける前に試してました。
画面サイズ最大で作って、erasebkgnd やら ncpaintとかは、リペイントのコストかかるので向いてないかも、ウインドの下でゲームや、動画とか再生されてた時などに不具合出そう。
できるだけシンプルに作りたかったので、今回はサイズ1x1で追尾にしました。(追尾といっても任意の動作後に追尾命令1回なので低コスト)
>>778
最低限のコード張ってないのは、どっかのサイトにでもコード張っておけばよかったかもですね。
大した処理ではないので、>>766で書いたCreateWindowEx、SetLayerdWindowAttributes、ShowCursorなどを張り付けておけばわかる人は分かるだろうと思っていたのですみません。
とりあえず、解決です。皆さま、ありがとうございました。
795デフォルトの名無しさん
2017/07/29(土) 11:30:19.14ID:Ws5hVYlo >>786
2ちゃんはそんなのばっかだよ
2ちゃんはそんなのばっかだよ
796デフォルトの名無しさん
2017/07/29(土) 11:31:52.72ID:Ws5hVYlo797デフォルトの名無しさん
2017/07/29(土) 15:22:56.00ID:Vfg3EN7i そのレス懐かしい
798デフォルトの名無しさん
2017/07/29(土) 20:59:35.56ID:Y56dLgVa こっちで書けるかな?。あっち
https://mevius.2ch.net/test/read.cgi/tech/1482549747/l50
で、あいこんのきり変えに失敗した、とかいたんだが
ついに成功した。 LoadIcon(ょ
か゜しかし、LoadImage()では成功していない。
https://mevius.2ch.net/test/read.cgi/tech/1482549747/l50
で、あいこんのきり変えに失敗した、とかいたんだが
ついに成功した。 LoadIcon(ょ
か゜しかし、LoadImage()では成功していない。
799デフォルトの名無しさん
2017/07/29(土) 21:08:08.69ID:GuKX0EtE 基本的には自力解決するしかないのが多いからな
長年書いていても遭遇するとは限らない突拍子もない現象が起きたりする
WinApiはカオスだ
質問は気休めにもならない
むしろ面白い現象をここで報告するつもりで質問してほしい
長年書いていても遭遇するとは限らない突拍子もない現象が起きたりする
WinApiはカオスだ
質問は気休めにもならない
むしろ面白い現象をここで報告するつもりで質問してほしい
800デフォルトの名無しさん
2017/07/29(土) 23:32:33.06ID:muGZrUiV ダイアログボックス上に複数のラジオボタンがあり連続で並んでいます。
先頭のラジオボタンのみグループ属性が付加されており、マウスやキーボードで
操作するとどれか一つだけしか選択できない状態です。
プログラムから現在選択しているラジオボタンとは別のラジオボタンを
選択する際、CheckDlgButtonを使って選択するのですが、これ自体は
選択処理は正常に働きますが、以前選んでいたラジオボタンも選ばれた
ままとなります。
これはそういうものでしょうか?
WindowsのデフォルトUI動作で単独のラジオボタンしか選べないように
なっていると思っていたのですが、プログラムコードではそれは自分で
考慮して処理が必要と言うことでしょうか?
先頭のラジオボタンのみグループ属性が付加されており、マウスやキーボードで
操作するとどれか一つだけしか選択できない状態です。
プログラムから現在選択しているラジオボタンとは別のラジオボタンを
選択する際、CheckDlgButtonを使って選択するのですが、これ自体は
選択処理は正常に働きますが、以前選んでいたラジオボタンも選ばれた
ままとなります。
これはそういうものでしょうか?
WindowsのデフォルトUI動作で単独のラジオボタンしか選べないように
なっていると思っていたのですが、プログラムコードではそれは自分で
考慮して処理が必要と言うことでしょうか?
801デフォルトの名無しさん
2017/07/29(土) 23:49:29.00ID:N293m3Oe802デフォルトの名無しさん
2017/07/29(土) 23:58:28.88ID:9HfHoOru ダイアログエディタで作成した場合
タブオーダーだったかリソース IDだったかが
順序どおりになってないとそういう現象になる
タブオーダーだったかリソース IDだったかが
順序どおりになってないとそういう現象になる
803デフォルトの名無しさん
2017/07/30(日) 01:59:49.31ID:pLyoXQEm >>801
そんな関数があったのか。自分で処理するものかと思ってた
そんな関数があったのか。自分で処理するものかと思ってた
804デフォルトの名無しさん
2017/07/30(日) 07:13:09.16ID:m983gJFf805デフォルトの名無しさん
2017/07/30(日) 09:08:42.74ID:xziOu8cb806デフォルトの名無しさん
2017/08/02(水) 01:43:28.46ID:+cEHF0jB WinSockで、クライアント側がconnect()をコールして、
サーバ側がメッセージプロシージャでFD_ACCEPTを受け取るまでの間に、
MessageBox()でダイアログボックスを表示すると、FD_ACCEPTが届かない・・・。
これ、どういう理屈なんだろう?
何とかMessageBox()が挟まらないように改変しようとしてるんだけど、
ちょっとしたことでこの問題を回避できたりしないかな?
サーバ側がメッセージプロシージャでFD_ACCEPTを受け取るまでの間に、
MessageBox()でダイアログボックスを表示すると、FD_ACCEPTが届かない・・・。
これ、どういう理屈なんだろう?
何とかMessageBox()が挟まらないように改変しようとしてるんだけど、
ちょっとしたことでこの問題を回避できたりしないかな?
807デフォルトの名無しさん
2017/08/02(水) 03:41:53.16ID:fdgsCGyr 俺はWinSockの専門家でも何でもないけど
http://eternalwindows.jp/network/winsock/winsock05s.html
のサイトを丸コピペしつつ
MessageBoxを表示したのち
別スレッドでコネクトしたら
普通に接続できたんだが・・・
http://www.geocities.jp/notenop/winsock_demo.cpp
http://eternalwindows.jp/network/winsock/winsock05s.html
のサイトを丸コピペしつつ
MessageBoxを表示したのち
別スレッドでコネクトしたら
普通に接続できたんだが・・・
http://www.geocities.jp/notenop/winsock_demo.cpp
808デフォルトの名無しさん
2017/08/02(水) 07:39:11.06ID:6ap2AYHE >>806
MessageBoxはサーバー側かクライアント側かどっちで表示?
MessageBoxはサーバー側かクライアント側かどっちで表示?
809806
2017/08/02(水) 08:16:03.56ID:+cEHF0jB810デフォルトの名無しさん
2017/08/02(水) 08:24:30.04ID:i5+f8wcz811デフォルトの名無しさん
2017/08/02(水) 09:09:46.19ID:6ap2AYHE812デフォルトの名無しさん
2017/08/02(水) 09:11:05.84ID:6ap2AYHE それかメッセージボックスの親をNULLか
813806
2017/08/02(水) 09:43:58.29ID:7ng0/iaA814806
2017/08/02(水) 09:45:23.67ID:7ng0/iaA ↑すみません、FD_ACCEPTです。
815デフォルトの名無しさん
2017/08/02(水) 09:47:13.93ID:3fh+5Dja もしかしてWSAAsyncSelect で hWnd に NULL 指定してるとか?
816デフォルトの名無しさん
2017/08/02(水) 09:52:12.86ID:3fh+5Dja 正しく処理されればメッセージボックス表示「中」にFD_ACCEPT がくるはずだけど…
817デフォルトの名無しさん
2017/08/19(土) 23:59:27.57ID:3LWi1RRc 直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は70万払ってる) 客:短期延長していい?
5次受けの50万(客は110万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと
これならJIETから3次でいったほうがいいな
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
3次受けの50万(客は70万払ってる) 客:短期延長していい?
5次受けの50万(客は110万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと
これならJIETから3次でいったほうがいいな
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
818デフォルトの名無しさん
2017/08/20(日) 14:00:03.74ID:nY0Q5mUa なんか自分が今まで関係してきた金額に比べて全ての金額が安すぎてビックリ。
これじゃ派遣の方がよっぽどましなんじゃね?
これじゃ派遣の方がよっぽどましなんじゃね?
819デフォルトの名無しさん
2017/08/21(月) 16:30:24.87ID:Fg01UA7s820806
2017/08/21(月) 19:20:15.44ID:eYNo081O821デフォルトの名無しさん
2017/08/23(水) 12:20:49.09ID:6Fed8jeE 江添亮タイホワロスωω
822デフォルトの名無しさん
2017/08/25(金) 18:39:23.90ID:R/niZf6L プロセス名のアイコンを取得するAPIか方法があれば教えてください
823片山博文MZ ◆T6xkBnTXz7B0
2017/08/25(金) 18:53:44.95ID:M7y+0IYN http://blog.goo.ne.jp/masaki_goo_2006/e/9e9f82fe965dda84e8794f1ba7e64718
Extractなんちゃら関数使えば、パス名からアイコンを抽出できるはずだ。
Extractなんちゃら関数使えば、パス名からアイコンを抽出できるはずだ。
824デフォルトの名無しさん
2017/08/25(金) 18:54:59.55ID:Ds4q9hnC プロセス名→exeパス→アイコン取得
825デフォルトの名無しさん
2017/08/25(金) 18:57:58.24ID:R/niZf6L ありゃりゃしたー
826デフォルトの名無しさん
2017/08/29(火) 17:52:01.06ID:ehSPqLug プロセスのハンドルって1回オープンしないと取得できない?
827デフォルトの名無しさん
2017/08/29(火) 19:35:58.35ID:1xpDkX/7 ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10178733385
URL先は知恵袋です。
教えてくださいお願いします。
URL先は知恵袋です。
教えてくださいお願いします。
828デフォルトの名無しさん
2017/08/30(水) 00:20:15.11ID:9+VQiQGO >>827
こういうのあったけど?
pdbファイルが見つからないってやつじゃねーの?
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10103558640
ttps://msdn.microsoft.com/ja-jp/library/yd4f8bd1(v=vs.80).aspx
それ以外で解放関連ミスってるかどうかは全コードをGITとかに上げてみろ。
こういうのあったけど?
pdbファイルが見つからないってやつじゃねーの?
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10103558640
ttps://msdn.microsoft.com/ja-jp/library/yd4f8bd1(v=vs.80).aspx
それ以外で解放関連ミスってるかどうかは全コードをGITとかに上げてみろ。
829デフォルトの名無しさん
2017/08/30(水) 09:21:54.56ID:Lglrs9g0 >>827
> 'rpg.exe' (Win32): 'C:\Windows\SysWOW64\wer.dll' が読み込まれました。
> PDB ファイルを開けないか、ファイルが見つかりません。
というメッセージが出てきたら、
「PDB ファイルを開けないか、ファイルが見つかりません」
でググってみるものだ。それでも解らないことを質問すべきだろう。
その手間を惜しむ人間に教えることなどない。
> 'rpg.exe' (Win32): 'C:\Windows\SysWOW64\wer.dll' が読み込まれました。
> PDB ファイルを開けないか、ファイルが見つかりません。
というメッセージが出てきたら、
「PDB ファイルを開けないか、ファイルが見つかりません」
でググってみるものだ。それでも解らないことを質問すべきだろう。
その手間を惜しむ人間に教えることなどない。
830デフォルトの名無しさん
2017/08/30(水) 09:30:54.88ID:Hx/erJ+v 知恵遅れの相手するなんておまえらやさしいな
831デフォルトの名無しさん
2017/08/30(水) 13:24:52.28ID:7h6sel33 827です。
自己解決しました。
ありがとうございました。
自己解決しました。
ありがとうございました。
832デフォルトの名無しさん
2017/09/02(土) 16:07:42.07ID:uMF7D0UJ 夏休みがまだ終わらない
833デフォルトの名無しさん
2017/09/02(土) 16:41:15.17ID:LVvUpSa+ 僕の夏休み。8/32日バージョンか
834デフォルトの名無しさん
2017/09/04(月) 05:34:56.37ID:5SeLbfqh 今まで使えていたwriteprocessmemory 等を用いてプロセスアタッチを行なっていたのですが急に動作が不安定になり10回中2回ほどしか成功しません。
別PC(ネットカフェ)環境からだと問題なく動作します。
PC自体に負荷をかけるようなことを行なっていたためパーツ側に何か問題があると見ていまして、このような症状をご存知の方教えて下さい。
別PC(ネットカフェ)環境からだと問題なく動作します。
PC自体に負荷をかけるようなことを行なっていたためパーツ側に何か問題があると見ていまして、このような症状をご存知の方教えて下さい。
835デフォルトの名無しさん
2017/09/05(火) 00:20:00.00ID:v8OLWv5g ヒント:プログラムが糞
836デフォルトの名無しさん
2017/09/05(火) 01:08:33.79ID:v1SMPV1x 処理速度差でインジェクトタイミングがずれてとらぶってんだろうな
837デフォルトの名無しさん
2017/09/11(月) 18:49:35.09ID:qZ9UWi9t838デフォルトの名無しさん
2017/09/16(土) 13:40:49.72ID:sYdQKwx0 Windows 7です
callwndproc でグローバルフックを作って
ウインドウを閉じるWM_CLOSEなどのメッセージを検知させたいのですが
動作はしたもののInternet Explorer (IE11)だけうまく行きません。
IE11ではapiを使ったフックはできないんでしょうか?
環境・手法はcpp, DLLでのデータ共有, Visual Studio 2015のコマンドラインコンパイラです。
callwndproc でグローバルフックを作って
ウインドウを閉じるWM_CLOSEなどのメッセージを検知させたいのですが
動作はしたもののInternet Explorer (IE11)だけうまく行きません。
IE11ではapiを使ったフックはできないんでしょうか?
環境・手法はcpp, DLLでのデータ共有, Visual Studio 2015のコマンドラインコンパイラです。
839デフォルトの名無しさん
2017/09/16(土) 16:47:44.09ID:ZCzFTInQ できますよ
840デフォルトの名無しさん
2017/09/17(日) 13:16:45.39ID:9dlPIQ/A 出来るよ
841デフォルトの名無しさん
2017/09/17(日) 19:55:34.73ID:j4nqlc4K CreateWindowEx で WS_EX_COMPOSITED を指定しても、なぜかWS_EX_COMPOSITEDが未定義のシンボル扱いで通りません。
他のスタイル変数だと通ります。
CS_OWNDC、CS_CLASSDC は使っていません。
原因と、解決策を教えてください。それらしいワードでググっても良くわかりませんでした。
お願いします。
OS windows7 32bit
環境 BCC Developer
他のスタイル変数だと通ります。
CS_OWNDC、CS_CLASSDC は使っていません。
原因と、解決策を教えてください。それらしいワードでググっても良くわかりませんでした。
お願いします。
OS windows7 32bit
環境 BCC Developer
842デフォルトの名無しさん
2017/09/17(日) 20:19:20.70ID:5uCVCcKi BCCを捨てろ
843デフォルトの名無しさん
2017/09/17(日) 21:00:05.91ID:53PrWSTF 定義すりゃいい
844片山博文MZ ◆T6xkBnTXz7B0
2017/09/17(日) 22:17:44.95ID:mYmSE/6P #ifndef WS_EX_COMPOSITED
#define WS_EX_COMPOSITED 0x02000000L
#endif
#define WS_EX_COMPOSITED 0x02000000L
#endif
845デフォルトの名無しさん
2017/09/17(日) 23:25:53.44ID:npppe4f/ WinUserヘッダーをインクルードしてないのか?
847デフォルトの名無しさん
2017/09/17(日) 23:47:17.58ID:CQjOt/D7 そもそも今時デメリットしかねえから要らんやろこのスタイル>WS_EX_COMPOSITED
848841
2017/09/18(月) 06:53:54.99ID:7suqbGay849838
2017/09/18(月) 15:12:02.60ID:3H+QkIIH850デフォルトの名無しさん
2017/09/19(火) 05:20:12.63ID:v8M0fO45 ヒント:プログラムが糞
851デフォルトの名無しさん
2017/09/19(火) 08:46:47.66ID:87FEHvFq 知らんけどIEはフックされないようにしてるんじゃないか?
バンドオブジェクトか何かつっこんで中でやった方がいいと思う
バンドオブジェクトか何かつっこんで中でやった方がいいと思う
852デフォルトの名無しさん
2017/09/19(火) 18:11:52.42ID:AsNvJAjE >>850
お前暇なんだな
お前暇なんだな
853デフォルトの名無しさん
2017/09/19(火) 18:23:41.92ID:3zeZgKZU 昔から常駐してる人力スクリプトだよ
毎度これ書いて上から目線でホルホルしてるんだろうけど、何年経っても成長しとらんw
毎度これ書いて上から目線でホルホルしてるんだろうけど、何年経っても成長しとらんw
854デフォルトの名無しさん
2017/09/19(火) 23:36:26.74ID:AsNvJAjE 人力スクリプトw
言えてるわw
言えてるわw
855デフォルトの名無しさん
2017/09/23(土) 23:55:50.86ID:IXBVjbYe856デフォルトの名無しさん
2017/09/24(日) 14:16:10.86ID:xJTY0L3v 使用言語 FreeBasic + FBE
OS Windows 10
症状、1MB, 100 個BASファイル(1MB)、10個位BIファイル(100KB)、を超えたあたりから、
異常停止し、「Debugしますか、停止しますか」の旨の表示を出して終了する。異常停止場所はその日によってバラバラ。
しかし、タスクマネージャーと同時実行では発生しない。
FreeBasic の場合、OS由来で異常停止する場合が多発して、
言語側の障害(仕様)は、*.DLLファイルの不在、配列宣言外の要素を参照した時、に発生する。
両者ともに特定の場所で、異常停止してくれるが、今回は、停止位置が実行中の他のタスク(タスクマネーシャー)の影響を受けている。
したがって、何かの事象を発生させる、等の対応で修正可能と思われる。
ご存知の方いらっしゃいましたらば、お知らせください。
OS Windows 10
症状、1MB, 100 個BASファイル(1MB)、10個位BIファイル(100KB)、を超えたあたりから、
異常停止し、「Debugしますか、停止しますか」の旨の表示を出して終了する。異常停止場所はその日によってバラバラ。
しかし、タスクマネージャーと同時実行では発生しない。
FreeBasic の場合、OS由来で異常停止する場合が多発して、
言語側の障害(仕様)は、*.DLLファイルの不在、配列宣言外の要素を参照した時、に発生する。
両者ともに特定の場所で、異常停止してくれるが、今回は、停止位置が実行中の他のタスク(タスクマネーシャー)の影響を受けている。
したがって、何かの事象を発生させる、等の対応で修正可能と思われる。
ご存知の方いらっしゃいましたらば、お知らせください。
857デフォルトの名無しさん
2017/09/24(日) 14:35:17.40ID:okRUlktS それはFreeBasicのバグなので、FreeBasicに治してもらえ
858デフォルトの名無しさん
2017/09/24(日) 15:05:57.20ID:KcVpSqdX 新興のGoだろうがRustだろうがWindows10でバグったりしないぞ
明らかに言語側の問題
明らかに言語側の問題
859デフォルトの名無しさん
2017/09/24(日) 16:39:30.63ID:xJTY0L3v >>857
>それはFreeBasicのバグなので
フリーソフトなので、ご指摘のように言い切った内容ですと、既にどなたかが発表しているものと思われます。
発表されている内容をお知らせください
>>858
>バグったりしないぞ
処理系が異なります。したがって、一概に言えないのですが。
Rustについては普及しているようです。
https://ja.wikipedia.org/wiki/Rust_%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%29
>2016年8月2日にリリースされたFirefox 48にはRustで書き直されたメディアパーサが組み込まれており、Mozillaが開発しているブラウザのFirefoxにおいてRustで書かれたコードが書き加えられる初例となった
ただ、Firefox で3ウインドー、30タグつぐらい同時に読み取ると異常終了するので、障害発生部位がRustで書かれているのであれば、同様な現象と思われます。
旧osバージョン+対応fIREFOXでは、異常停止が発生しなかったと記憶しています。
>それはFreeBasicのバグなので
フリーソフトなので、ご指摘のように言い切った内容ですと、既にどなたかが発表しているものと思われます。
発表されている内容をお知らせください
>>858
>バグったりしないぞ
処理系が異なります。したがって、一概に言えないのですが。
Rustについては普及しているようです。
https://ja.wikipedia.org/wiki/Rust_%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%29
>2016年8月2日にリリースされたFirefox 48にはRustで書き直されたメディアパーサが組み込まれており、Mozillaが開発しているブラウザのFirefoxにおいてRustで書かれたコードが書き加えられる初例となった
ただ、Firefox で3ウインドー、30タグつぐらい同時に読み取ると異常終了するので、障害発生部位がRustで書かれているのであれば、同様な現象と思われます。
旧osバージョン+対応fIREFOXでは、異常停止が発生しなかったと記憶しています。
860デフォルトの名無しさん
2017/09/24(日) 16:51:45.14ID:J5jaZAG3 ここ、Win32APIのスレなんだけど、Win32APIにバグがあるっていうのが主旨ですか?
861デフォルトの名無しさん
2017/09/24(日) 16:55:14.25ID:okRUlktS >>859
調査費用30万円(税込)申し受けますが、ご用意はよろしいでしょうか。
調査費用30万円(税込)申し受けますが、ご用意はよろしいでしょうか。
862デフォルトの名無しさん
2017/09/24(日) 16:59:28.04ID:KdVNcd4v たった30万で請けてくれるのか。良心的だな
863デフォルトの名無しさん
2017/09/24(日) 17:04:46.71ID:xJTY0L3v864デフォルトの名無しさん
2017/09/24(日) 17:13:08.33ID:7Tzf/3Hr 互いに矛盾する結果を出すAPIを同時に使用する必要があるなんてざらだ
それを吸収しなければならない上位層は必ず矛盾が発生し、複雑化する
とりあえず当座必要な全機能には矛盾のない解には到達するが、それ以上の機能を追加すると矛盾が再発する
APIがしっかりしていればソフトは10分の1ほどのコードで済むだろう
それを吸収しなければならない上位層は必ず矛盾が発生し、複雑化する
とりあえず当座必要な全機能には矛盾のない解には到達するが、それ以上の機能を追加すると矛盾が再発する
APIがしっかりしていればソフトは10分の1ほどのコードで済むだろう
865デフォルトの名無しさん
2017/09/24(日) 17:13:55.12ID:xJTY0L3v >>862
同様な調査を自治会長は500円でやれ、とポケットむに500円ねじ込んだ。
サーチャーに依頼するとして、20年ぐらい前に概略を電話問い合わせした時には、20万もって窓口まで来てくれ、という返事だったので断った。
だけど、自治会長の考え方だと500円でできるという内容。
同様な調査を自治会長は500円でやれ、とポケットむに500円ねじ込んだ。
サーチャーに依頼するとして、20年ぐらい前に概略を電話問い合わせした時には、20万もって窓口まで来てくれ、という返事だったので断った。
だけど、自治会長の考え方だと500円でできるという内容。
866デフォルトの名無しさん
2017/09/24(日) 17:24:23.20ID:okRUlktS867デフォルトの名無しさん
2017/09/24(日) 17:30:18.48ID:6sZgRRai FreeBasicみたいなゴミを使ってるから頭がおかしくなったのか
頭がおかしかったからFreeBasicみたいなゴミに手を出したのか
頭がおかしかったからFreeBasicみたいなゴミに手を出したのか
868デフォルトの名無しさん
2017/09/24(日) 17:35:20.31ID:jWeMnfEt869デフォルトの名無しさん
2017/09/24(日) 17:42:11.62ID:uKYPwFuQ 引き合いに出してる記事とやらもやべえな
ある言語の浮動小数点演算が狂ってるとして、
ユーザーが整数演算で浮動小数点を再実装して回避した場合
言語のバグではなくなるのか
狂ってるだろ
まあこの脳味噌数ミリグラムしかなさそうなアホがうろ覚えしただけか
自分に都合のいいように曲解したか
どちらかだろうけど
バグじゃなくてバクですとか言うなよ
ある言語の浮動小数点演算が狂ってるとして、
ユーザーが整数演算で浮動小数点を再実装して回避した場合
言語のバグではなくなるのか
狂ってるだろ
まあこの脳味噌数ミリグラムしかなさそうなアホがうろ覚えしただけか
自分に都合のいいように曲解したか
どちらかだろうけど
バグじゃなくてバクですとか言うなよ
870デフォルトの名無しさん
2017/09/24(日) 17:46:29.30ID:KdVNcd4v 曲解だろうな
871デフォルトの名無しさん
2017/09/24(日) 17:49:22.16ID:xJTY0L3v >>867
>頭がおかしかったからFreeBasicみたいなゴミに手を出したのか
大正解。
MS の3か月ぐらい無料で使える Visual stuio https://www.microsoft.com/ja-jp/dev/campaign/free-edition.aspx
をDLしたのだが、使い方(操作方法)がさっぱりわからなかった。
>>866
>自分で回避すればいいんだから。
まー、外注に出したり、OSを入れ替えたり、MSやFBで公開しないですむ回避方法があるわ。
で、Freebasicに手を出した。
>>868
タスクマネージャーを同じことをすれば、回避できるから、
タスクマネージャーがやっている手法をしりたいのよ。
おっしゃるとおり、タスクマネージャーを起動することで回避できるから、APIのバグではない。
>頭がおかしかったからFreeBasicみたいなゴミに手を出したのか
大正解。
MS の3か月ぐらい無料で使える Visual stuio https://www.microsoft.com/ja-jp/dev/campaign/free-edition.aspx
をDLしたのだが、使い方(操作方法)がさっぱりわからなかった。
>>866
>自分で回避すればいいんだから。
まー、外注に出したり、OSを入れ替えたり、MSやFBで公開しないですむ回避方法があるわ。
で、Freebasicに手を出した。
>>868
タスクマネージャーを同じことをすれば、回避できるから、
タスクマネージャーがやっている手法をしりたいのよ。
おっしゃるとおり、タスクマネージャーを起動することで回避できるから、APIのバグではない。
872デフォルトの名無しさん
2017/09/24(日) 17:51:14.63ID:KdVNcd4v >>856
起きてる問題は1MBや100KB越えると異常停止するわけでしょ
ということはそのサイズ以下に抑えれば問題が起きない
ユーザー又は末端ユーザーが回避できる障害だからバグでもない
これで無事解決よ。めでたしめでたし
起きてる問題は1MBや100KB越えると異常停止するわけでしょ
ということはそのサイズ以下に抑えれば問題が起きない
ユーザー又は末端ユーザーが回避できる障害だからバグでもない
これで無事解決よ。めでたしめでたし
873デフォルトの名無しさん
2017/09/24(日) 17:59:36.07ID:xJTY0L3v874デフォルトの名無しさん
2017/09/24(日) 18:11:55.34ID:xJTY0L3v >>872
それやったことがある。
最初にソースを適当に作って、
使用しているサブルーチンを拾って、つなげるルーチンを作って実行
という手法。
結局、この拾う作業が膨大になって、自分自身のオーバーレイ化しないと動かなくなってしまった。
同じオーバーレイ化するならば、最初から直接動かした方が単純だ、ということで、もとに戻した。
当時は、サブルーチン別に拾ってlinkするという機能が、Fotran6しか対応していなかった。
1990年頃に発行になった書籍では、「頭の良いコンパイラーは」という条件が付くものの、この機能が存在することが指摘されていた。
なお、Visual Basic 6.0で使っていた自家製Libの内80%位の内容。
FreeBasic になった関係で、旧QuickBasicのLibの一部が復活している。
残る20%はGSL, GMP, MPFR, Sqlite等に切り替えられそうなので、これから、まだ増える予定。
それやったことがある。
最初にソースを適当に作って、
使用しているサブルーチンを拾って、つなげるルーチンを作って実行
という手法。
結局、この拾う作業が膨大になって、自分自身のオーバーレイ化しないと動かなくなってしまった。
同じオーバーレイ化するならば、最初から直接動かした方が単純だ、ということで、もとに戻した。
当時は、サブルーチン別に拾ってlinkするという機能が、Fotran6しか対応していなかった。
1990年頃に発行になった書籍では、「頭の良いコンパイラーは」という条件が付くものの、この機能が存在することが指摘されていた。
なお、Visual Basic 6.0で使っていた自家製Libの内80%位の内容。
FreeBasic になった関係で、旧QuickBasicのLibの一部が復活している。
残る20%はGSL, GMP, MPFR, Sqlite等に切り替えられそうなので、これから、まだ増える予定。
875デフォルトの名無しさん
2017/09/24(日) 18:51:56.99ID:80+QkRIz やはり狂人であったか
876デフォルトの名無しさん
2017/09/24(日) 20:08:47.40ID:TezdVn6/ 知ってる単語並べればマウント取れると思ってるあたり、無能だなコイツ
877デフォルトの名無しさん
2017/09/24(日) 22:14:32.71ID:mcfyXVZ5 どこのスレだか忘れたが無差別に住人を煽りながらDarkBasicを推してたクソコテを思い出した
878デフォルトの名無しさん
2017/09/24(日) 23:27:07.55ID:Bf5PdX/p ざっくりいうと、OSのせいで1MB程度で不具合が起こることはない
RustのはFirefoxのプログラムが悪い
タスクマネージャーを起動してると落ちない理由は思いつく限り
・偶然
・OSの環境が壊れてる(別のPCやOSクリーンインストールでなおる)
・FreeBasicやウイルス対策ソフト、その他(ウイルスとか)がタスクマネージャーが存在するなどを理由に挙動を変える
とかかな
とりあえず別のPCで確認
RustのはFirefoxのプログラムが悪い
タスクマネージャーを起動してると落ちない理由は思いつく限り
・偶然
・OSの環境が壊れてる(別のPCやOSクリーンインストールでなおる)
・FreeBasicやウイルス対策ソフト、その他(ウイルスとか)がタスクマネージャーが存在するなどを理由に挙動を変える
とかかな
とりあえず別のPCで確認
879デフォルトの名無しさん
2017/09/25(月) 10:09:40.59ID:JnK94/2y ちゃんとあるんだからそっちでやれと。なぜここで聞くのか頭おかしいやつの行動は意味わからない
【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1482549747/
【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1482549747/
880片山博文MZ ◆T6xkBnTXz7B0
2017/09/25(月) 19:13:35.73ID:ViN5SaQX リソーエディタ 1.0をリリースしました。
テストを充分行い、多数の修正をしました。
http://katahiromz.web.fc2.com/re/ja/index.html
https://github.com/katahiromz/RisohEditor
リソーエディタのバグ報告に謝礼としてAmazonギフト券5000円分差し上げます。
どしどしご応募下さい。
テストを充分行い、多数の修正をしました。
http://katahiromz.web.fc2.com/re/ja/index.html
https://github.com/katahiromz/RisohEditor
リソーエディタのバグ報告に謝礼としてAmazonギフト券5000円分差し上げます。
どしどしご応募下さい。
881デフォルトの名無しさん
2017/09/26(火) 03:05:32.57ID:OZczKUwr 謝礼渡す基準は?
まぁ誰も触るわけないだろうが
まぁ誰も触るわけないだろうが
882デフォルトの名無しさん
2017/09/26(火) 11:26:08.01ID:7ABpskwx ギフト券を受け取るには10000円分のギフトIDを報告する必要があります
883デフォルトの名無しさん
2017/09/26(火) 12:36:12.89ID:CgqsIdu0 古来からあるリソースエディタと何が違うの?
と思ったら、リソースエディタじゃなくてリソーエディタかよ。
で、なにこれ?
と思ったら、リソースエディタじゃなくてリソーエディタかよ。
で、なにこれ?
884デフォルトの名無しさん
2017/09/26(火) 12:45:40.74ID:dGip1y4C リンク踏む気にもならんな
885デフォルトの名無しさん
2017/09/26(火) 14:38:17.78ID:OZczKUwr ドヤ顔でリリースしましたとか言ってるけど
こんな誰に需要あるのかわからないゴミみたいなオナニーツール触ってくれる奴なんかおるんかね
こんな誰に需要あるのかわからないゴミみたいなオナニーツール触ってくれる奴なんかおるんかね
886デフォルトの名無しさん
2017/09/26(火) 14:42:29.95ID:oJHPfbUh おまいら親切だな
いちいち相手してあげて
いちいち相手してあげて
887片山博文MZ ◆T6xkBnTXz7B0
2017/09/26(火) 16:22:16.43ID:mKY8ED9y888片山博文MZ ◆T6xkBnTXz7B0
2017/09/26(火) 16:24:29.68ID:mKY8ED9y889片山博文MZ ◆T6xkBnTXz7B0
2017/09/26(火) 16:38:39.81ID:mKY8ED9y >>885
ドヤ顔が見えますか? それは幻覚です。病院へ行って下さい。映画を観ない人は、映画評論家になる資格は
ありません。公共の掲示板でお下品な話はやめましょうね。わからないのは、あなたの知能が足りないからです。
ドヤ顔が見えますか? それは幻覚です。病院へ行って下さい。映画を観ない人は、映画評論家になる資格は
ありません。公共の掲示板でお下品な話はやめましょうね。わからないのは、あなたの知能が足りないからです。
892デフォルトの名無しさん
2017/09/26(火) 16:50:48.66ID:CgqsIdu0893デフォルトの名無しさん
2017/09/26(火) 16:58:00.73ID:dGip1y4C XN Resource Editor 最強説
894片山博文MZ ◆T6xkBnTXz7B0
2017/09/26(火) 17:22:42.38ID:mKY8ED9y895デフォルトの名無しさん
2017/09/26(火) 17:27:19.78ID:oJHPfbUh スレチだアホ
896片山博文MZ ◆T6xkBnTXz7B0
2017/09/26(火) 18:01:27.06ID:mKY8ED9y ソース見ればわかると思うけど、C++03とWin32APIだけで作った。
897デフォルトの名無しさん
2017/09/26(火) 18:45:08.23ID:piJXswiP スレチ
898デフォルトの名無しさん
2017/09/27(水) 04:02:55.04ID:f2v5tQrk 客観的に見てバグと思われるものは全部未知のバグなんだけど頭大丈夫か?
片山が未知のバグに対して”仕様です”と言わない保証は?
まともな頭ならこっちが発見したバグは全部未知のバグで1回報告するたびに5千円くれるのか?
まぁ誰も触らんだろうが
片山が未知のバグに対して”仕様です”と言わない保証は?
まともな頭ならこっちが発見したバグは全部未知のバグで1回報告するたびに5千円くれるのか?
まぁ誰も触らんだろうが
899片山博文MZ ◆T6xkBnTXz7B0
2017/09/27(水) 04:42:53.66ID:wqCON9vO >>898
確かに非加算無限個存在するかも知れないが、デパートの試食コーナーみたいに常識的に考えてくれ。
確かに非加算無限個存在するかも知れないが、デパートの試食コーナーみたいに常識的に考えてくれ。
900デフォルトの名無しさん
2017/09/27(水) 05:39:27.71ID:Cy9euBKG 片山の相手をしている奴も正気を疑うが
901デフォルトの名無しさん
2017/09/27(水) 07:54:56.73ID:Ep3hxvTm 非加算無限個www
902デフォルトの名無しさん
2017/09/27(水) 10:38:38.93ID:k2PS2F7X903デフォルトの名無しさん
2017/09/27(水) 11:42:36.33ID:zCHNwx74 誰か助けてください
ゲームのマウスの入力読み取りが、RawInputと DirectInput ありますよね、
昔は設定でオン、オフがあったのに、いつの間にか設定を無くし、RawInputを強要する糞アプリがあります!!
これを、強制的にRawからDirectInputにしたいのですが
なにをどうすればいいのですか?
フックして raw inputをブロックすれば実現できます?
そもそも raw inputのマウスってどのAPIなのか、詳細分かりません
ヘルプ
たのんます
ゲームのマウスの入力読み取りが、RawInputと DirectInput ありますよね、
昔は設定でオン、オフがあったのに、いつの間にか設定を無くし、RawInputを強要する糞アプリがあります!!
これを、強制的にRawからDirectInputにしたいのですが
なにをどうすればいいのですか?
フックして raw inputをブロックすれば実現できます?
そもそも raw inputのマウスってどのAPIなのか、詳細分かりません
ヘルプ
たのんます
904デフォルトの名無しさん
2017/09/27(水) 17:03:40.82ID:7dA/9JOQ 元のアプリからDirectInput用のコードが削除されてたら
何やっても無理じゃね?無いんだから
何やっても無理じゃね?無いんだから
905デフォルトの名無しさん
2017/09/27(水) 18:49:01.07ID:zCHNwx74 はい? raw inputってXP以降しか使えないんですが?
じゃあ2Kで動かしたらどうなる訳、ってraw inputの有無で切り替えてるわけですよね
だからWndProcフックしてraw input関係の該当API?を防げば いいと思ってるわけで、
APIのプロが集うであろう当スレで聞いてるわけですが?
じゃあ2Kで動かしたらどうなる訳、ってraw inputの有無で切り替えてるわけですよね
だからWndProcフックしてraw input関係の該当API?を防げば いいと思ってるわけで、
APIのプロが集うであろう当スレで聞いてるわけですが?
906デフォルトの名無しさん
2017/09/27(水) 18:51:50.24ID:I+WFkDPH アプリ以上に糞な奴だな
907デフォルトの名無しさん
2017/09/27(水) 19:32:45.39ID:CtWRhHzI XPのサポートどころかVistaのサポートも切れてるのに何を言っているのやら。
きっと、設定とともに切り替える機能自体も削除されてるだろ。
きっと、設定とともに切り替える機能自体も削除されてるだろ。
908片山博文MZ ◆T6xkBnTXz7B0
2017/09/27(水) 19:43:59.36ID:wqCON9vO 仮想OS使えば〜?
909デフォルトの名無しさん
2017/09/27(水) 20:00:59.41ID:zCHNwx74 >>907
だから、削除されてるとかそういう勝手な妄想はいらないんですよ
てか、Directinput無かったら2kのマウスは何で動いてるんすか?笑
2kでも動いた、これが事実ですから。
↑に書いたようにraw inputのAPIをファックしてしまえばDirectinputなるんですよ
raw inputマウスだけでキーボードはDirectinputですしね
後から追加にしたに過ぎず、100%UIからON、OFF消し去っただけなんですよ
ってわけで有益なアドバイスをお願いします
だから、削除されてるとかそういう勝手な妄想はいらないんですよ
てか、Directinput無かったら2kのマウスは何で動いてるんすか?笑
2kでも動いた、これが事実ですから。
↑に書いたようにraw inputのAPIをファックしてしまえばDirectinputなるんですよ
raw inputマウスだけでキーボードはDirectinputですしね
後から追加にしたに過ぎず、100%UIからON、OFF消し去っただけなんですよ
ってわけで有益なアドバイスをお願いします
910片山博文MZ ◆T6xkBnTXz7B0
2017/09/27(水) 20:02:58.50ID:wqCON9vO DLLインジェクションでAPI関数を置き換え
911デフォルトの名無しさん
2017/09/27(水) 20:04:21.30ID:zCHNwx74912デフォルトの名無しさん
2017/09/27(水) 20:09:02.92ID:CtWRhHzI913デフォルトの名無しさん
2017/09/27(水) 20:17:19.60ID:ExBmpI99 後出しの説明にレスすんじゃねえよ
>>905の説明に方を付けてもらわないとな
>>905の説明に方を付けてもらわないとな
914デフォルトの名無しさん
2017/09/27(水) 20:24:19.97ID:oG2Zpa4d DirectInputのコードが残ってんなら
俺だったらOllyDbgで調べて、分岐しているところを
WriteProcessMemory()で書き換えるプログラムをつくる
俺だったらOllyDbgで調べて、分岐しているところを
WriteProcessMemory()で書き換えるプログラムをつくる
915デフォルトの名無しさん
2017/09/27(水) 21:55:19.23ID:zCHNwx74 DLLインジェクションでAPI関数を置き換え
↑これをしたいのですが意味が分かりません
今回の置き換えるべき関数名でSetWindowsHookEx を使いサンプルコードを示してください
↑これをしたいのですが意味が分かりません
今回の置き換えるべき関数名でSetWindowsHookEx を使いサンプルコードを示してください
916デフォルトの名無しさん
2017/09/27(水) 22:00:15.91ID:hZX+opcA > てか、Directinput無かったら2kのマウスは何で動いてるんすか?笑
ぶっちゃけFPSとかでもなけりゃWM_MOUSEMOVEで大抵事足りるべな
ぶっちゃけFPSとかでもなけりゃWM_MOUSEMOVEで大抵事足りるべな
917デフォルトの名無しさん
2017/09/27(水) 22:28:55.48ID:Cy9euBKG 頭悪いって大変だよな〜
918片山博文MZ ◆T6xkBnTXz7B0
2017/09/27(水) 22:31:28.31ID:wqCON9vO まずはDLL作って原理を覚えるところから始めないと
919デフォルトの名無しさん
2017/09/28(木) 08:16:32.65ID:H8dM1RkU920デフォルトの名無しさん
2017/09/28(木) 10:29:02.28ID:mxHsq9Is マルチ
921片山博文MZ ◆T6xkBnTXz7B0
2017/09/28(木) 12:57:11.07ID:kdrH0PSi922903
2017/09/28(木) 13:41:17.72ID:te0QQW2V 皆さんありがとうございます。
APIフック関連ページ読み漁ってますが、direct→rawを試みてる人はちらほら居ても、逆はいなくてソース無いので難航してます。
それで現状の知識では、目的のAPIフック完成させれていないので、私がやろうとしてる事は実現可能なのかだけお聞きしたいので、どなたか回答お願いします
>>916を見て、調べなおしたのですが、
2kはDirectinputに切り替わっているといいましたが、これは誤りでした。
単にタイトル画面、設定画面といった画面でのみ、OS関係なく
Directinput、WM_MOUSEMOVE(Windows Input?)どちらかは分かりませんが、とにかくRawinput以外を使っているだけでした
で、お聞きしたいことですが、
DLLインジェクトでRawinputの関数をフックして、DirectinputもしくはWindows Inputの関数に飛ばすわけですよね
コードがあるといっても、メニュー画面だけなわけですが、
上記のようなフックをした場合、メニュー画面以外でもマウス動くのでしょうか?
推測で構わないので教えてください、よろしくお願いします
APIフック関連ページ読み漁ってますが、direct→rawを試みてる人はちらほら居ても、逆はいなくてソース無いので難航してます。
それで現状の知識では、目的のAPIフック完成させれていないので、私がやろうとしてる事は実現可能なのかだけお聞きしたいので、どなたか回答お願いします
>>916を見て、調べなおしたのですが、
2kはDirectinputに切り替わっているといいましたが、これは誤りでした。
単にタイトル画面、設定画面といった画面でのみ、OS関係なく
Directinput、WM_MOUSEMOVE(Windows Input?)どちらかは分かりませんが、とにかくRawinput以外を使っているだけでした
で、お聞きしたいことですが、
DLLインジェクトでRawinputの関数をフックして、DirectinputもしくはWindows Inputの関数に飛ばすわけですよね
コードがあるといっても、メニュー画面だけなわけですが、
上記のようなフックをした場合、メニュー画面以外でもマウス動くのでしょうか?
推測で構わないので教えてください、よろしくお願いします
923デフォルトの名無しさん
2017/09/28(木) 14:35:28.79ID:jImnQ5Gm > 上記のようなフックをした場合、メニュー画面以外でもマウス動くのでしょうか?
アプリの作りによる
> 実現可能なのかだけお聞きしたい
可能
だけどお前に作れるとは思えない。作者に再サポートするように要望出せ。メールに数万分ギフトコード添えれば修正の可能性上がる
アプリの作りによる
> 実現可能なのかだけお聞きしたい
可能
だけどお前に作れるとは思えない。作者に再サポートするように要望出せ。メールに数万分ギフトコード添えれば修正の可能性上がる
924デフォルトの名無しさん
2017/09/28(木) 20:44:32.90ID:te0QQW2V >>923
今回のはAPIフックすれば出来ることでしょ?
raw→direct置き換えで
もし、アプリ側にdirectInputのコードが残ってなかったら、
DLLインジェクションでその処理も追加しないといけなくて、その場合一気に敷居が高くなるってことですよね?
今回は幸いにも、メニュー画面だけとはいえ、directInputで処理されてる部分が残ってるので、
APIフックで飛ばしてしまえば目的動作するわけで、
その手助けをお願いしてるんですよ?
要望出してこたえるような作者だったらとっくにやってますわ
今回のはAPIフックすれば出来ることでしょ?
raw→direct置き換えで
もし、アプリ側にdirectInputのコードが残ってなかったら、
DLLインジェクションでその処理も追加しないといけなくて、その場合一気に敷居が高くなるってことですよね?
今回は幸いにも、メニュー画面だけとはいえ、directInputで処理されてる部分が残ってるので、
APIフックで飛ばしてしまえば目的動作するわけで、
その手助けをお願いしてるんですよ?
要望出してこたえるような作者だったらとっくにやってますわ
925デフォルトの名無しさん
2017/09/28(木) 20:52:04.74ID:te0QQW2V あと、片山博文MZ ◆T6xkBnTXz7B0さんのサンプル見たんですけど、
これIAT書き換えですよね。
アプリOEP書き換えられてるのでこの方法は無理くさいんです
そこで今、MS detoursってフックライブラリを用いてAPIフックしたいんですけど上手くいきません
detour分かる人いませんか?
Cスレで聞いてますが、内容ほぼAPI関係ですしCスレ住人では手に負えないようなので、
APIのプロである皆さんの手助けをお願いします
DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll
これIAT書き換えですよね。
アプリOEP書き換えられてるのでこの方法は無理くさいんです
そこで今、MS detoursってフックライブラリを用いてAPIフックしたいんですけど上手くいきません
detour分かる人いませんか?
Cスレで聞いてますが、内容ほぼAPI関係ですしCスレ住人では手に負えないようなので、
APIのプロである皆さんの手助けをお願いします
DLLの動作原理は理解しました。DLL=アプリ拡張。exeにぶちこんで機能追加、動作変更とやりたい放題出来るのがdll
926デフォルトの名無しさん
2017/09/28(木) 21:02:10.43ID:plgdDRJR う〜ん。
自分は識者とはとても呼べないレベルだけど、DirectInputもraw inputと同じでWM_INPUT読むんじゃないの?
MSでこんなこと書かれてるんだけど。
内部的には、DirectInput によって WM_INPUT データを読み取る 2 つ目のスレッドが作成され、DirectInput API を使用することによって、単に WM_INPUT を直接読み取る場合よりもオーバーヘッドが増加します。
https://msdn.microsoft.com/ja-jp/library/bb206183(v=vs.85).aspx
自分は識者とはとても呼べないレベルだけど、DirectInputもraw inputと同じでWM_INPUT読むんじゃないの?
MSでこんなこと書かれてるんだけど。
内部的には、DirectInput によって WM_INPUT データを読み取る 2 つ目のスレッドが作成され、DirectInput API を使用することによって、単に WM_INPUT を直接読み取る場合よりもオーバーヘッドが増加します。
https://msdn.microsoft.com/ja-jp/library/bb206183(v=vs.85).aspx
927デフォルトの名無しさん
2017/09/28(木) 21:04:11.65ID:9inLL+H4928片山博文MZ ◆T6xkBnTXz7B0
2017/09/28(木) 21:20:53.09ID:Msp1dHAD UPXによるアンパックは試してみたか?
多分、IATの再構築が必要。
多分、IATの再構築が必要。
929デフォルトの名無しさん
2017/09/28(木) 23:15:38.58ID:LqzHR2s+ DirectInput を使うメリットが分からない。
遅延させたいのかね。
遅延させたいのかね。
930デフォルトの名無しさん
2017/09/29(金) 00:28:00.92ID:RPVfxA+q directinputとraw inputは実装方法が異なるからapihookで修正するのはかなり面倒くさいと思うんだが。
あとeasyhookってライブラリがお勧め。
あとeasyhookってライブラリがお勧め。
931デフォルトの名無しさん
2017/09/29(金) 01:23:58.99ID:JdAsAkqo フックするよりバイナリ書き換えたほうが早いんじゃないか?
932デフォルトの名無しさん
2017/09/29(金) 03:50:21.56ID:OKETC/Nl このスレの1にAdvanced Windows読めよって書いてなかったっけ
読んでから質問しろで終わりだろ
なに相手してんだ馬鹿どもが
読んでから質問しろで終わりだろ
なに相手してんだ馬鹿どもが
933デフォルトの名無しさん
2017/09/29(金) 06:20:31.11ID:XCA+sdta >>903-905
この流れでこいつ相手するのはちょっとなってなるんだけど、暇だからなw
この流れでこいつ相手するのはちょっとなってなるんだけど、暇だからなw
934デフォルトの名無しさん
2017/09/29(金) 07:54:38.41ID:zrPER7+W935デフォルトの名無しさん
2017/09/29(金) 08:02:36.27ID:jgex0uNR どこから「万能」とかいう単語が出て来た?
頭おかしい?
頭おかしい?
936デフォルトの名無しさん
2017/09/29(金) 08:19:00.83ID:zrPER7+W >>935
> やりたい放題
> やりたい放題
937デフォルトの名無しさん
2017/09/29(金) 08:26:10.73ID:XCA+sdta 一般的なdllの定義とは違うけど、やりたい放題はできる
938デフォルトの名無しさん
2017/09/29(金) 08:41:13.28ID:zrPER7+W >>937
ぶちこめればって前提つき?
ぶちこめればって前提つき?
939デフォルトの名無しさん
2017/09/29(金) 09:01:43.36ID:tIQyCYwJ やりたい放題を万能と訳してしまう文盲がいると聞いて
940デフォルトの名無しさん
2017/09/29(金) 09:12:29.27ID:XCA+sdta 日本語としてはイコールじゃないが、これはイコールでいいだろ
そういうの読めないほうが…
そういうの読めないほうが…
941デフォルトの名無しさん
2017/09/29(金) 09:23:48.72ID:zrPER7+W942デフォルトの名無しさん
2017/09/29(金) 09:44:33.30ID:Rcj5pIbT スレのテンプレも読めない奴が言うと草
943デフォルトの名無しさん
2017/10/02(月) 15:54:05.43ID:RCSwdawe BYTE型の配列をメモリ上で圧縮展開できないか調べてます。
形式はZIPでもそれ以外でもなんでもいいです。
C#だとDeflateStreamというクラスがあるようなのですが、
Win32APIではどういう方法が考えられますか?
形式はZIPでもそれ以外でもなんでもいいです。
C#だとDeflateStreamというクラスがあるようなのですが、
Win32APIではどういう方法が考えられますか?
944片山博文MZ ◆T6xkBnTXz7B0
2017/10/02(月) 16:04:59.75ID:glCRVK81 lzexpandかexpand.exeなら圧縮ファイルの展開ができる。メモリー上でやりたいなら、Win32APIじゃないけどzlibがスタンダード。
945デフォルトの名無しさん
2017/10/02(月) 16:11:45.58ID:oE42sBRL RLE
946デフォルトの名無しさん
2017/10/02(月) 16:30:11.11ID:L6BLLTIR Cabinet.dll系
947デフォルトの名無しさん
2017/10/03(火) 21:46:20.74ID:njFrOp6b948デフォルトの名無しさん
2017/10/04(水) 22:35:29.05ID:PQrbpt2K >>947 >ここにまで出張してきたのか
というリクエストにお答えして、
https://www.slideshare.net/MoriharuOhzu/ss-14083300
という指摘があって、指摘通り、複数機能を分割してツギハギの算譜を構築していった。
80%位が、VBのライブ(常駐部+非常駐部)の内容に、旧バージョンのQBやGWの内容を継ぎ足していった。
その結果、巨大になりすぎて、発生条件が異なるハングアップが発生した。
常に同じ場所で発生するのであれば、ルーチンの障害が考えられるけど、数行の追加・削除で発生位置が変化するハングアップは、原因特定が困難なメモリーの管理障害と考えられる。
ここでも指摘があった通り、わずか1MB位のソースデータで発生する障害というと、Win32系、つまり、Win-NT系がMS-DOSから引き継いでいる、常駐処理部分の640又は720KBの壁と呼ばれている、メモリーの割り当て部分の内容。
これは、N88, GW-Basic, Q-Basic, Visual Basic とずっと悩まされ続けた内容で、
GQとQBは、オーバーレイ化、VBは、30-60KB位づつ非常駐部(*.FRM)に移動して対応した。
FBでの対応というと、DLL化とGW用語でのチルドレンの使用。
ということで、GWの頃のルーチンの復活、半自動化したチルドレン作成ソフトの復活となった。
ここでは、このあたりの指摘をする人がいないので、探したところ
大学のサイトで、解説があった。
http://pepper.is.sci.toho-u.ac.jp/index.php?plugin=attach&refer=%BB%B3%C6%E2%A4%CE%BC%F8%B6%C8%A4%CE%A5%DA%A1%BC%A5%B8%2F16%BD%A9%2F%A5%AA%A5%DA%A5%EC%A1%BC
%A5%C6%A5%A3%A5%F3%A5%B0%A5%B7%A5%B9%A5%C6%A5%E0&openfile=8-3_%C2%E7%CD%C6%CE%CC%CC%E4%C2%EA%A4%C8%A5%AA%A1%BC%A5%D0%A1%BC%A5%EC%A5%A4.pdf
http://www-higashi.ist.osaka-u.ac.jp/~y-nakamr/lecture/systemsprograming2008/sp20081015.pdf
のが見つかった。
日曜プログラマーなので、障害対応ルーチン、つまり、現在実行中のルーチン名、正常終了以外の場合の終了情報、異常値で参照された場合の自動復旧情報をファイルに出力し続けている。
専門のプログラマーはあまりやらない機能だが、ド素人が行う場合には必須の機能。専門のプログラマーの方でも、ゲームプログラムの実行状況をRS-232Cから垂れ流すという市販ソフトがあった。
これが邪魔して、DLL化ができないでいる。
というリクエストにお答えして、
https://www.slideshare.net/MoriharuOhzu/ss-14083300
という指摘があって、指摘通り、複数機能を分割してツギハギの算譜を構築していった。
80%位が、VBのライブ(常駐部+非常駐部)の内容に、旧バージョンのQBやGWの内容を継ぎ足していった。
その結果、巨大になりすぎて、発生条件が異なるハングアップが発生した。
常に同じ場所で発生するのであれば、ルーチンの障害が考えられるけど、数行の追加・削除で発生位置が変化するハングアップは、原因特定が困難なメモリーの管理障害と考えられる。
ここでも指摘があった通り、わずか1MB位のソースデータで発生する障害というと、Win32系、つまり、Win-NT系がMS-DOSから引き継いでいる、常駐処理部分の640又は720KBの壁と呼ばれている、メモリーの割り当て部分の内容。
これは、N88, GW-Basic, Q-Basic, Visual Basic とずっと悩まされ続けた内容で、
GQとQBは、オーバーレイ化、VBは、30-60KB位づつ非常駐部(*.FRM)に移動して対応した。
FBでの対応というと、DLL化とGW用語でのチルドレンの使用。
ということで、GWの頃のルーチンの復活、半自動化したチルドレン作成ソフトの復活となった。
ここでは、このあたりの指摘をする人がいないので、探したところ
大学のサイトで、解説があった。
http://pepper.is.sci.toho-u.ac.jp/index.php?plugin=attach&refer=%BB%B3%C6%E2%A4%CE%BC%F8%B6%C8%A4%CE%A5%DA%A1%BC%A5%B8%2F16%BD%A9%2F%A5%AA%A5%DA%A5%EC%A1%BC
%A5%C6%A5%A3%A5%F3%A5%B0%A5%B7%A5%B9%A5%C6%A5%E0&openfile=8-3_%C2%E7%CD%C6%CE%CC%CC%E4%C2%EA%A4%C8%A5%AA%A1%BC%A5%D0%A1%BC%A5%EC%A5%A4.pdf
http://www-higashi.ist.osaka-u.ac.jp/~y-nakamr/lecture/systemsprograming2008/sp20081015.pdf
のが見つかった。
日曜プログラマーなので、障害対応ルーチン、つまり、現在実行中のルーチン名、正常終了以外の場合の終了情報、異常値で参照された場合の自動復旧情報をファイルに出力し続けている。
専門のプログラマーはあまりやらない機能だが、ド素人が行う場合には必須の機能。専門のプログラマーの方でも、ゲームプログラムの実行状況をRS-232Cから垂れ流すという市販ソフトがあった。
これが邪魔して、DLL化ができないでいる。
949デフォルトの名無しさん
2017/10/04(水) 22:40:41.59ID:arhAZny/ 病院行っとけよ
950片山博文MZ ◆T6xkBnTXz7B0
2017/10/04(水) 23:02:37.86ID:HMkkIXOi DLL化実現したくば、此、再入可能な算符で新たなる記憶管理法に改める事を強いる。新時代たる基本軟件の見識を理解せずば、現代的に非ず也。
951片山博文MZ ◆T6xkBnTXz7B0
2017/10/04(水) 23:21:47.13ID:HMkkIXOi 日曜博客を名乗る者共、何時迄プロに転身せぬ身の程を哀しむ乎。是、翌檜にも劣る迷い人と見るに、難儀なる人生を案ずる也。
我、所謂ギットハブなるウェッブ居留地にて自分の造成物を多数散布しけり。時代を先取るべき博客が時代に遅れるとは如何に惨めなる乎。
我、所謂ギットハブなるウェッブ居留地にて自分の造成物を多数散布しけり。時代を先取るべき博客が時代に遅れるとは如何に惨めなる乎。
952片山博文MZ ◆T6xkBnTXz7B0
2017/10/04(水) 23:29:27.16ID:HMkkIXOi ここまで古いヤツが居たとは。。。
博物館行き決定!!!
博物館行き決定!!!
953デフォルトの名無しさん
2017/10/05(木) 22:13:32.68ID:NosQ3QuL >>950
高校を4年で卒業した実績を有する吾輩としては、書き下し文を正しく理解する力を能わず。
因りて誤読、誤字、誤文法多数ありなん。人我を天災と呼ぶなん。
人再入可能というなん。なれど具体的例を流れ図で説明するを能わす、Cをもって説明す。
https://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%A8%E3%83%B3%E3%83%88%E3%83%A9%E3%83%B3%E3%83%88
今は昔人Aを診ず、よりてCを持って語る。8080Aを語る我、Cを語ること能わず。
人古き良き伝統を破棄し、新語を創り語る。更なる新語を作るも、これなん、古き伝統なり。
>>952
要は、多重処理が可能な(大型コンピューターでは)一般的なライブルーチンでしょう。
作業領域をサブ内に持たないように、参照側に定義してゆく方法。
外部参照を前提とする大域参照(障害情報の保存)ができないことがDLL化できない理由になっています。
専用の障害処理ルーチンを作れば別ですけど。https://www.slideshare.net/MoriharuOhzu/ss-14083300
な方々が、同じような処理をコピーするなというのです。
高校を4年で卒業した実績を有する吾輩としては、書き下し文を正しく理解する力を能わず。
因りて誤読、誤字、誤文法多数ありなん。人我を天災と呼ぶなん。
人再入可能というなん。なれど具体的例を流れ図で説明するを能わす、Cをもって説明す。
https://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%A8%E3%83%B3%E3%83%88%E3%83%A9%E3%83%B3%E3%83%88
今は昔人Aを診ず、よりてCを持って語る。8080Aを語る我、Cを語ること能わず。
人古き良き伝統を破棄し、新語を創り語る。更なる新語を作るも、これなん、古き伝統なり。
>>952
要は、多重処理が可能な(大型コンピューターでは)一般的なライブルーチンでしょう。
作業領域をサブ内に持たないように、参照側に定義してゆく方法。
外部参照を前提とする大域参照(障害情報の保存)ができないことがDLL化できない理由になっています。
専用の障害処理ルーチンを作れば別ですけど。https://www.slideshare.net/MoriharuOhzu/ss-14083300
な方々が、同じような処理をコピーするなというのです。
954デフォルトの名無しさん
2017/10/05(木) 22:14:41.62ID:NosQ3QuL >>951
友有。遠方に居たり。友センターにて9割を取る博学なり。されど卒業するを能わず。
電算技術を学びたるも9割が中退す。
我5割なり。門にて脚切られたり。電算を学ぶ事能わず、4馬鹿カルテットの門に入る。
電算の夢追いて、野に下る。雅号を探せば文人の末席を汚すを知るなり。
我が電算技術は幼稚なり。人我を踏み越えて新譜を発表す。
時代の先端を征く者、時代には生きられぬ。
>>952
博物館で展示されているような、MS-DOS用ソフトのいくつかは、私が発表した内容の改良品です。
「これこれの機能はありません」と記載されていた「これこれ」は私が発表したものです。
発表から2年ぐらい遅れて申請されて特許になっていた処理方法もあったし、
こんなのやってますよ、って求人に来た某社人事部長に内容を話せば、「おかげで特許取れました」と、お茶菓子を持ってきたし。
「新しい方法を開発した」なんて、販促パンフに書いてあったソフトを買ったらば、電算課の教授陣が「(私のやり方は)無意味な方法だ」と罵倒していた方法だったりした。
同級会の帰りバスの中で「こんなソフトがあったらいいね」「お前描けよ」「英語を読まなきゃなんないからいやだ」と話していたら、だれかわからないですが、真剣に聞いていた人がいました。
この方法は発表されました。大学同窓会での会話から新規に開発されるソフトって結構多いです。
>>869 の指摘、一般教養の講義内容で、
>単精度ではおかしくなる。
倍精度を使って処理する方法があるけど、講義では単精度で対応する方法を教える
という内容があった。何かで大学教授の手記が記載されていて、
32bitでやるようにという課題に対して、大学のシステムには64ビット処理ライブラリーが登録されていないから実行不能である(課題に間違いがある)という回答があったこと
を嘆いていた内容があった。
この手の処理で、64ビット処理を自作してやった同級生(電算課以外)がいたのですが、大型を使っていたら、電算科教授に殴られたのです。
暴行を受けているような声が聞こえたので、電算室に飛び込んだらば、教授が出て行って、痛みをこらえている同級生がいました。
電算科の暴力教授なら、単精度でやらないと殴りつけていたね。今は昔。
友有。遠方に居たり。友センターにて9割を取る博学なり。されど卒業するを能わず。
電算技術を学びたるも9割が中退す。
我5割なり。門にて脚切られたり。電算を学ぶ事能わず、4馬鹿カルテットの門に入る。
電算の夢追いて、野に下る。雅号を探せば文人の末席を汚すを知るなり。
我が電算技術は幼稚なり。人我を踏み越えて新譜を発表す。
時代の先端を征く者、時代には生きられぬ。
>>952
博物館で展示されているような、MS-DOS用ソフトのいくつかは、私が発表した内容の改良品です。
「これこれの機能はありません」と記載されていた「これこれ」は私が発表したものです。
発表から2年ぐらい遅れて申請されて特許になっていた処理方法もあったし、
こんなのやってますよ、って求人に来た某社人事部長に内容を話せば、「おかげで特許取れました」と、お茶菓子を持ってきたし。
「新しい方法を開発した」なんて、販促パンフに書いてあったソフトを買ったらば、電算課の教授陣が「(私のやり方は)無意味な方法だ」と罵倒していた方法だったりした。
同級会の帰りバスの中で「こんなソフトがあったらいいね」「お前描けよ」「英語を読まなきゃなんないからいやだ」と話していたら、だれかわからないですが、真剣に聞いていた人がいました。
この方法は発表されました。大学同窓会での会話から新規に開発されるソフトって結構多いです。
>>869 の指摘、一般教養の講義内容で、
>単精度ではおかしくなる。
倍精度を使って処理する方法があるけど、講義では単精度で対応する方法を教える
という内容があった。何かで大学教授の手記が記載されていて、
32bitでやるようにという課題に対して、大学のシステムには64ビット処理ライブラリーが登録されていないから実行不能である(課題に間違いがある)という回答があったこと
を嘆いていた内容があった。
この手の処理で、64ビット処理を自作してやった同級生(電算課以外)がいたのですが、大型を使っていたら、電算科教授に殴られたのです。
暴行を受けているような声が聞こえたので、電算室に飛び込んだらば、教授が出て行って、痛みをこらえている同級生がいました。
電算科の暴力教授なら、単精度でやらないと殴りつけていたね。今は昔。
956片山博文MZ ◆T6xkBnTXz7B0
2017/10/05(木) 22:43:02.71ID:Xv32D2hU DLLの共有セクションに変数やコードを入れれば、変数やコードを共有できるよ。
MSVCの場合は、
#pragma data_seg(".shared")
...
#pragma data_seg()
の中に変数を入れて
.defファイルに
SECTIONS
".shared" READ WRITE SHARED
と書いて、DLLのプロジェクトに.defファイルを追加する。
MSVCの場合は、
#pragma data_seg(".shared")
...
#pragma data_seg()
の中に変数を入れて
.defファイルに
SECTIONS
".shared" READ WRITE SHARED
と書いて、DLLのプロジェクトに.defファイルを追加する。
957片山博文MZ ◆T6xkBnTXz7B0
2017/10/05(木) 22:57:50.83ID:Xv32D2hU958デフォルトの名無しさん
2017/10/06(金) 00:07:58.97ID:4rQw4n+d959片山博文MZ ◆T6xkBnTXz7B0
2017/10/06(金) 00:17:07.07ID:u49AV52w gcc/g++の場合は、__attribute__((section (".shared"),??shared))を使うんだった。
960デフォルトの名無しさん
2017/10/29(日) 16:13:05.10ID:9AFyIjHV shcreatedirectoryexを無効化するにはどうしたら良いでしょうか?
962デフォルトの名無しさん
2017/11/06(月) 16:32:15.17ID:vBzMORbG PEヘッダについての質問ってどこですればいいですか?
スレチな気がします・・・けどお願いします
スレチな気がします・・・けどお願いします
963デフォルトの名無しさん
2017/11/06(月) 19:45:55.24ID:6JLIEeFJ 聴き給へ
964デフォルトの名無しさん
2017/11/06(月) 21:00:51.96ID:vBzMORbG ありがとうございます
APIフックのための仲介DLL作成ツールを使おうと思ったんですけどkernel32.dllやuser32.dllを引数に与えても動かなくて
エラーの内容見てみたらNumberOfRvaAndSizes=0って出ていて
調べてみるとディレクトリ配列の数を示すパラメータみたいなんでPE INFOをつかって見てみました
そうしたら、Directoriesの情報タブにはExportの内容が表示されていたのですがDirectories Exportのサイズは0でした
ここで疑問なんですが、Directoriesのパラメータ(Rva, Size)がPE Infoに表示されているのにディレクトリ配列の数が0になっているのはなぜでしょうか?
また、ExportディレクトリがSize=0ならエクスポート関数のリストはどこから来たんでしょうか?
そのソフトのソースを見てみると本来はディレクトリ配列の最初の要素からエクスポート関数のリストを得るものだったのですがそのようなメンバはない(というかディレクトリ配列の数が0)みたいです
どなたかわかりましたらよろしくお願いします
APIフックのための仲介DLL作成ツールを使おうと思ったんですけどkernel32.dllやuser32.dllを引数に与えても動かなくて
エラーの内容見てみたらNumberOfRvaAndSizes=0って出ていて
調べてみるとディレクトリ配列の数を示すパラメータみたいなんでPE INFOをつかって見てみました
そうしたら、Directoriesの情報タブにはExportの内容が表示されていたのですがDirectories Exportのサイズは0でした
ここで疑問なんですが、Directoriesのパラメータ(Rva, Size)がPE Infoに表示されているのにディレクトリ配列の数が0になっているのはなぜでしょうか?
また、ExportディレクトリがSize=0ならエクスポート関数のリストはどこから来たんでしょうか?
そのソフトのソースを見てみると本来はディレクトリ配列の最初の要素からエクスポート関数のリストを得るものだったのですがそのようなメンバはない(というかディレクトリ配列の数が0)みたいです
どなたかわかりましたらよろしくお願いします
965デフォルトの名無しさん
2017/11/06(月) 23:03:33.39ID:9FNc82fk 手元にWindows環境がないので当てずっぽうに過ぎないが
dllがx64の奴だからと予想
dllがx64の奴だからと予想
966デフォルトの名無しさん
2017/11/06(月) 23:21:19.33ID:vBzMORbG967デフォルトの名無しさん
2017/11/07(火) 16:30:21.10ID:speVoQlz wow64の中のを入れた?
968デフォルトの名無しさん
2017/11/08(水) 00:50:49.35ID:ZqGpDlPC969デフォルトの名無しさん
2017/11/08(水) 00:59:31.38ID:ZqGpDlPC すみません、ググったら出てきました
System32フォルダに入ってる方のdllが64bit用、wow64の中が32bit用という逆転があるんですね
教えていただいた方々ありがとうございました
System32フォルダに入ってる方のdllが64bit用、wow64の中が32bit用という逆転があるんですね
教えていただいた方々ありがとうございました
970片山博文MZ ◆T6xkBnTXz7B0
2017/11/08(水) 01:01:16.79ID:TZ5JAUzS マイクロソフトは、64ビット環境で動くDLLをsystem32に格納し、32ビットのDLLをwow64に格納することにした。
32ビットと同じ名前なのは、互換性のため。詳しくはWin64APIについて調べるといい。
32ビットと同じ名前なのは、互換性のため。詳しくはWin64APIについて調べるといい。
971デフォルトの名無しさん
2017/11/08(水) 01:01:34.79ID:0mQs8SG2972デフォルトの名無しさん
2017/11/08(水) 01:31:09.47ID:MEe7IGP8 systemのままで良かったよね
973デフォルトの名無しさん
2017/11/08(水) 03:22:35.44ID:pi2d/ZnM 32ビットはブームだったからなあ
そのくせProgram Filesはx86ってなんだよって感じ
そのくせProgram Filesはx86ってなんだよって感じ
974デフォルトの名無しさん
2017/11/08(水) 03:41:30.24ID:R0qhel/o system32はWoW16でsystemを使ってたからねしょうがないね
975デフォルトの名無しさん
2017/11/08(水) 06:10:07.81ID:ZWKv78KM976デフォルトの名無しさん
2017/11/08(水) 18:38:40.88ID:ROkXXR0p win32Windowsアプリって真っ白から作るんだな昔凄い量打ち込んでやっとウィンドウ出したのを思い出したわ・・・
977デフォルトの名無しさん
2017/11/08(水) 18:48:38.98ID:ZM9wnitb main()から手打ちしてたのはwin3.1時代までだなw
978デフォルトの名無しさん
2017/11/08(水) 19:00:03.99ID:ROkXXR0p >>977
今は基礎作ってくれるのか10年前だからな基礎作るだけで学校の午後の授業が半分使ったしw
今は基礎作ってくれるのか10年前だからな基礎作るだけで学校の午後の授業が半分使ったしw
979デフォルトの名無しさん
2017/11/08(水) 19:02:13.24ID:u5hLhTv2 10年前でも、WinMainから書いて無かったか?
980デフォルトの名無しさん
2017/11/08(水) 19:07:13.31ID:ROkXXR0p 書いてなかったねえprint貰って全部手書きで最初からウィンドウの幅構成とかカタカタ打ってたなそれか楽させないために空のファイルで作らされてたか
981片山博文MZ ◆T6xkBnTXz7B0
2017/11/08(水) 19:09:52.22ID:TZ5JAUzS982デフォルトの名無しさん
2017/11/08(水) 20:59:58.61ID:ROkXXR0p 構成の仕方まだわからんから出来ない
983デフォルトの名無しさん
2017/11/08(水) 21:34:54.68ID:R0qhel/o 最後にWTLウィザード使ったのいつだろう?ってぐらいご無沙汰だわ
984デフォルトの名無しさん
2017/11/08(水) 23:59:13.54ID:S5satkVH バッチプログラムから起動するかコマンドラインから起動するかで WinMain() アプリからの戻り方が違うのが困る、いまさらだが。
985デフォルトの名無しさん
2017/11/09(木) 00:24:21.64ID:UmTkKmYx バッチで?
986デフォルトの名無しさん
2017/11/09(木) 03:45:53.03ID:5qwvxsG7 コマンドプロンプトやパワーシェル上から手入力でnotepad.exeと入力してメモ帳を起動すると、すぐに端末に制御が戻ってくる。
一方、以下の内容のように2回メモ帳を起動するbatファイルを作り実行すると一つ目のメモ帳が終わるまで待つことがわかる。
notepad.exe
notepad.exe
なお、windows10の場合、電卓calc.exeがユニバーサルWindowsプラットフォームのアプリなので
以下の内容のbatファイルからの起動でもすぐに制御が戻ってくるので電卓が2つ同時起動された状態になる。
calc.exe
calc.exe
ようするに、コンソールアプリ、Windowアプリ、ユニバーサルWindowsプラットフォームアプリの3種類でそれぞれ挙動が違う。
一方、以下の内容のように2回メモ帳を起動するbatファイルを作り実行すると一つ目のメモ帳が終わるまで待つことがわかる。
notepad.exe
notepad.exe
なお、windows10の場合、電卓calc.exeがユニバーサルWindowsプラットフォームのアプリなので
以下の内容のbatファイルからの起動でもすぐに制御が戻ってくるので電卓が2つ同時起動された状態になる。
calc.exe
calc.exe
ようするに、コンソールアプリ、Windowアプリ、ユニバーサルWindowsプラットフォームアプリの3種類でそれぞれ挙動が違う。
987デフォルトの名無しさん
2017/11/09(木) 04:18:01.90ID:OMOJ5BWv 昔はopenGLを使ってたんだったわ昔のプロジェクト起動したらおまじないがエラー起こしてた
988デフォルトの名無しさん
2017/11/09(木) 05:04:07.82ID:RrHmFgzV コマンドプロンプト上でのバッチファイル実行の挙動はDOSの仕様(MS-DOS)
バッチファイルは順次に作動するように作られてるので、WIN32プロセスの
終了待機が行われる。
ユニバーサルアプリは、DOS窓がEXEの終了待機を処理できないだけ。
WIN32アプリも、作りによっては同じく終了待機できない可能性はある。
バッチファイルは順次に作動するように作られてるので、WIN32プロセスの
終了待機が行われる。
ユニバーサルアプリは、DOS窓がEXEの終了待機を処理できないだけ。
WIN32アプリも、作りによっては同じく終了待機できない可能性はある。
989デフォルトの名無しさん
2017/11/09(木) 05:06:38.10ID:RrHmFgzV 補足すると、exeの戻り値で処理を分けるっていうのはDOS時代よく行うことだったので、
終了待機しないと戻り値が取れなくて困る。
終了待機しないと戻り値が取れなくて困る。
990デフォルトの名無しさん
2017/11/09(木) 10:21:19.15ID:5qwvxsG7 OSの正常なシャットダウンや再起動を妨げるクソなドライバー ZN200pcie.sys が悪名を轟かせている、
SKNET MonsterTV PCIE3 のドライバー追加・削除する時に処理をある程度自動化するため今もバッチ処理使ってる。
ドライバーを追加・削除するためのSKNET謹製アプリがGUIアプリなので終了を待ってくれないといろいろ困る。
set WAIT_EXE="C:\Program Files\Git\usr\bin\sleep.exe"
taskkill /F /IM MonsterTVLivePlayer.exe
taskkill /F /IM MonsterTVPlayer.exe
taskkill /F /IM MonsterTVMenu.exe
sc stop MonsterTVService
%WAIT_EXE% 3
PCIE3_win10_Driver\DriverInstall.exe <-- こいつがGUIアプリ。
sc start MonsterTVService
exit /B
SKNET MonsterTV PCIE3 のドライバー追加・削除する時に処理をある程度自動化するため今もバッチ処理使ってる。
ドライバーを追加・削除するためのSKNET謹製アプリがGUIアプリなので終了を待ってくれないといろいろ困る。
set WAIT_EXE="C:\Program Files\Git\usr\bin\sleep.exe"
taskkill /F /IM MonsterTVLivePlayer.exe
taskkill /F /IM MonsterTVPlayer.exe
taskkill /F /IM MonsterTVMenu.exe
sc stop MonsterTVService
%WAIT_EXE% 3
PCIE3_win10_Driver\DriverInstall.exe <-- こいつがGUIアプリ。
sc start MonsterTVService
exit /B
991デフォルトの名無しさん
2017/11/09(木) 10:33:48.20ID:RrHmFgzV PCIE3_win10_Driver\DriverInstall.exe の終了を待ちたいけど待ってくれないなら、
このスレ的にはそれを起動して終了を待つプログラムを組めばいいんじゃない?
このスレ的にはそれを起動して終了を待つプログラムを組めばいいんじゃない?
992デフォルトの名無しさん
2017/11/09(木) 10:46:19.38ID:5qwvxsG7993デフォルトの名無しさん
2017/11/09(木) 11:23:34.26ID:UInw5/Yz 次スレよろ
994デフォルトの名無しさん
2017/11/09(木) 11:38:29.16ID:9lAepYsb 待ってくれないならループで待つようにすればいいだけの話だな
995デフォルトの名無しさん
2017/11/09(木) 16:34:53.73ID:3Mpnex4d 待っててくれないなら追いかければいいよ
996デフォルトの名無しさん
2017/11/11(土) 19:44:42.77ID:4LNBDgYy Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
997デフォルトの名無しさん
2017/11/12(日) 17:50:54.93ID:k+Q3OR2Q998デフォルトの名無しさん
2017/11/12(日) 17:51:42.96ID:k+Q3OR2Q なるほど新リンク先は 5ch がいいのか 2ch がいいのか
ようわからん
教えてけれ
ようわからん
教えてけれ
1000デフォルトの名無しさん
2017/11/12(日) 18:27:23.43ID:C1sLEmf0 ラスト
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 400日 5時間 54分 21秒
新しいスレッドを立ててください。
life time: 400日 5時間 54分 21秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 映画「ゼルダの伝説」、リンクとゼルダ姫が白人になってしまう。日本のものは日本人だろうが!! [592058334]
- 高市早苗「株やってる奴ザマァwww格差是正のためにも、もっと暴落した方がいいよwww」(´・ω・`)確かに。 [252835186]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- なんかデカいミスしても 「でも明日戦争行くかもしれないしなぁ」 でなんでも乗り切れるよな
