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


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

Win32API質問箱 Build122



1 名前:デフォルトの名無しさん(dion軍) 転載ダメ mailto:ageteoffagete [2016/01/05(火) 19:03:39.12 ID:IesHwkgH.net]
Win32APIについての質問はこちらへどうぞ。

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

■過去スレ
Win32API質問箱 Build121 [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/tech/1438695290/

862 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 14:46:30.83 ID:maY60Dp3.net]
クラシックスタイル対策

#pragma comment(linker,"/manifestdependency:\"type='win32' \
name='Microsoft.Windows.Common-Controls' \
version='6.0.0.0' \
processorArchitecture='x86' \
publicKeyToken='6595b64144ccf1df' \
language='*'\"")

863 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 15:12:59.91 ID:UZZ3Nfx8.net]
#defineでも使ってprocessorArchitectureを変えたら対応できるな
x86 = 32BitのX86系CPU
ia64 = Intel64BitのIA64系CPU
amd64 = AMD64BitのX64系CPU
* = その他のCPU

864 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 22:23:10.28 ID:dDTyJFeK.net]
>>837
その日の書き込みはあなただけなのでそういうことです

865 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 20:23:43.58 ID:epT5qit0.net]
RichEditコントロールにユニコード文字を含んだ文字列をEM_SETTEXTEXで追加したら文字のフォントが変わってしまう
EM_STREAMINでも同じ現象が起こる
これってどうやったらフォントがRichEditに設定したフォント(等幅フォント)のまま追加できる?
追加した文字列(仮にTest ? Test)だけフォントが変わる ?はハートとかね

追加後にフォントを再設定してもハートだけ文字幅が他とは違

866 名前:うし
UNDOにフォント設定も含まれるから今度はそれを防ぐ方法が無くて詰んでる

ここの人ならどうやって解決する?

ちなみにRichEdit内で「Test ? Test」を入力してそれをコピペ(WM_COPY WM_PASTE)した時の動作が理想
[]
[ここ壊れてます]

867 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 23:37:11.23 ID:1b9LKm5P.net]
>>841
馬鹿には無理

868 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 00:31:56.15 ID:pgxpd79F.net]
コピペシミュ

869 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 00:35:10.37 ID:pgxpd79F.net]
入力しみゅ

870 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 08:45:50.92 ID:nr8fG4n4.net]
>>843-844
そういうのしかないんかな
ありがとう



871 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 11:14:17.03 ID:d/dsjAXw.net]
>>841
俺も少し困ってるけど長らく放置してる 多分同じ現象だろう
EM_SETLANGOPTIONS と IMF_DUALFONT を使って直せるらしいんだが
俺のは上手く行かなかった

872 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 11:17:24.74 ID:d/dsjAXw.net]
いや違うのか
最初からその文字を持ってるフォントを選んでおけばそれで済むんじゃないの?

873 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 11:59:01.12 ID:nr8fG4n4.net]
>>847
1, 手入力
2, 同じコントロール内でWM_COPY, WM_PASTE
3, SETTEXTEX, EM_STREAMIN

等幅フォントに一番最初に設定
→ 1, 問題無い (この時点でフォント設定も問題無い)
→ 2, 問題無い
→ 3, フォントがおかしくなる (UNICODE指定もしてある)

同じフォント設定にしたメモ張で同じ文字列を入力してCtrl+C
→RichEditへCtrl+V 3と同じ問題発生

こんな感じ
i.imgur.com/yNV3Vag.jpg

874 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 12:01:55.23 ID:nr8fG4n4.net]
あぁごめん
フォント再指定後ってのは
SETTEXTEX, EM_STREAMINでおかしくなった奴に対して指定したらこうなるって意味ね

875 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 17:04:20.90 ID:zU29XWLW.net]
2、3年前は荒らしも多かったけど、まだまともな回答者も多かった。
今は荒らしもまともな回答者もいなくなって、
>>843,>>846みたいな気色の悪い奴が自己顕示欲を満たすだけの場になってしまった。
どうしてこうなった。

876 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 17:17:06.88 ID:K5hghQdn.net]
>>850
>どうしてこうなった。
自己顕示欲を満たすだけの気色の悪い>>850みたいなのがいるからじゃね

877 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 17:26:33.45 ID:x6oYh1MF.net]
じゃあウザいだけです時代に戻そうか

878 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 17:43:22.23 ID:VrFlYlJN.net]
Win32APIが枯れていて、不具合が発生していない。
使用ユーザーも熟知していて、質問する必要がない。

理想的な状態?

879 名前:デフォルトの名無しさん [2016/09/19(月) 18:57:36.68 ID:4df2MR9Z.net]
倦怠期

880 名前:デフォルトの名無しさん [2016/09/20(火) 01:18:12.66 ID:0Myqw3Nm.net]
>>852
そこだけ戻したところでまともな回答者はもう戻ってこないだろw



881 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 08:34:28.90 ID:KnjyA1F8.net]
>>849
こっちでも再現できたわ
Terminal 14が画像と同じになった
他の等幅フォントでも再現されたけど
MS ゴシック、MS 明朝なら大丈夫みたい

メモ帳では再現されないのは謎だけどな

882 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 18:38:12.75 ID:2/iKekT4.net]
>メモ帳では再現されないのは謎だけどな
メモ帳のソースコードに書いてある

883 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 20:53:42.44 ID:WRzjrZbQ.net]
>>841
c#使い始めたら便利なのでもうwin32でgui作成する気にはなれないんですが今でもwin32使う理由は何?

884 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 21:03:14.46 ID:O8zsEtDk.net]
GetMessageループで小細工をしたい時など
C#でGetMessageループにフック噛ます方法があるなら教えてよ
とても興味深い

885 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 22:56:28.21 ID:SIQDhLUp.net]
>>859
小細工って、ウインドウププロージャの書き換えで

886 名前:はできないこと? []
[ここ壊れてます]

887 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 23:19:35.96 ID:O8zsEtDk.net]
GetMessageじゃなくてPeekMessageにするとか
TranslateMessageの呼び出しを止めるとかはウィンドウプロシージャからでは不可能

888 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 23:43:59.21 ID:VY6IcR6g.net]
>>861
そういうのって、どういう時に使うの。

889 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 23:46:34.12 ID:YZL270gC.net]
メインとループなんて毎回コピペだが、
いざとなったら書き換えられるという安心感がある
そして永遠に書き換えない

890 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 02:22:17.57 ID:BRx1Bv8g.net]
win32でGuiが大変とか言ってる人ってリソースファイル使わずに作ろうとしてるとか?



891 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 02:24:52.16 ID:ds9UeOri.net]
>>864
ばーか

892 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 02:30:08.84 ID:saKRBDTg.net]
>>864
誰が大変なんて言った?
情報が多い分、楽だよな

893 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 02:39:21.74 ID:mitwVgUL.net]
C#が便利でwin32に戻れないって、かつてVBやMFC使いも言ってましたね

894 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 05:33:10.99 ID:gyLxLatL.net]
かつてのVBはおまじない宣言してAPI叩かないと使い物にならなかったわけだが

895 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 06:00:54.98 ID:saKRBDTg.net]
>>867
そうか?
お前さんだけじゃね?

c#の何が便利なの

896 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 09:08:20.92 ID:enqfOrPh.net]
>>858
win32使ってないのにこのスレにいる理由は何?
便利(win32は難しすぎた)だろw

897 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 11:54:27.95 ID:wKjxcHVF.net]
>c#使い始めたら便利なのでも
使い始める前まではWin32API使っていたんだろ

>今でもwin32使う理由は何?
C#を使い始めていないということだ

898 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 12:50:29.63 ID:ad+iWZXx.net]
>>858
Win32でリソーススクリプトを直叩きしてGUIを作るの楽しいよ
あとWin32API使える俺スゲーと思えるとかしょーもないアホな理由

と言いつつ最近はGUIのアプリやツールの制作ではC#ばかり使ってるわ
やっぱ動けばいいものをサクッと手早く作りたいときはC#だな

899 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 13:06:17.33 ID:enqfOrPh.net]
メインとループ毎回コピペって
プロジェクト作成時に最少構成自動で作成するようにしてないんか?
VC++Expressですらできるのに

900 名前:デフォルトの名無しさん [2016/09/22(木) 13:36:00.69 ID:ad+iWZXx.net]
>>873
俺は.NETのFormクラス風のWndクラス作ってあるからそれ使う
そのほかバージョン情報クラスとかいろいろ簡単に使えるクラスを作って置いてる



901 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 14:14:25.34 ID:sh3eyHdy.net]
俺はむしろ反対で
中途半端なラップなぞ要らないという判断

定型文を登録しておいて
いつでもクリップボードに転送できる系のアプリ
とか使うとよいと思うよ

902 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 15:03:14.08 ID:Ob4qBdWH.net]
>プロジェクト作成時に最少構成自動で作成

コピペでも対して手間変わらんし
VS/VC++でGUIからlibpathとかいじるの面倒だし

903 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 15:17:17.17 ID:enqfOrPh.net]
>>876
いやプロジェクト作成時に選択するテンプレート自体を自分で作るから
path変更すらいらん

904 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 16:40:58.43 ID:c0uylKlH.net]
>>871
C#でもクラスライブラリが用意されていない機能で必要ならWin32API使うぞ。
GUI作るだけならほとんど出番はないけど。

905 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 19:59:29.23 ID:jmlT4pdX.net]
カスタムウィザードって作れなかったか?

906 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 08:44:30.83 ID:hdVg5emL.net]
>>879
それはExpressじゃ無理だな
Expressは自分でフォルダ構成してテンプレート保存場所に配置する必要がある
言い換えればExpressでも自分でやれば後はカスタムウィザードみたいな事ができる

907 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 11:49:16.53 ID:Bla+oVr/.net]
>>862
俺の質問に答

908 名前:えたら答えてやるよ
C#でできるのか?できないのか?
[]
[ここ壊れてます]

909 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 11:51:09.00 ID:Bla+oVr/.net]
Pythonスレにも書いたけど、リモートプロセスに侵入してウィンドウをサブクラス化するなんてのも
C#ではやれない芸当でしょうね

910 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 13:08:18.98 ID:rYmTtd8q.net]
>>881
それ(>>861)は出来ないかな。


>>882
出来るけど。

Cross Process Subclassing
www.codeproject.com/Articles/5264/Cross-Process-Subclassing



911 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 13:28:57.30 ID:cTcmD9zg.net]
C#ちゅーかどのGUIフレームワーク使うのかにもよるんじゃね
WinFormsならMFCライクな挙動のApplication.Idleがあるからその中で
PeekMessage呼び出しつつアクティブなゲームループ回したりとか

912 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 14:32:50.11 ID:1AYxo37g.net]
>>883

他人が作ったものをドヤ顔で「出来るけど」ってwwww

913 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 14:39:27.60 ID:laz5P8lZ.net]
Cross Process Subclassing
www.codeproject.com/Articles/5264/Cross-Process-Subclassing

これ見えてるコードはC#に見えないけど、C#のプロジェクトなのか?

914 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 14:50:27.96 ID:e3KOFFwu.net]
>>886
どうしてC#だと思った?

915 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 15:23:09.32 ID:laz5P8lZ.net]
>C#ではやれない芸当でしょうね
と言ってる>>882に対してドヤ顔で
>出来るけど。
ってるじゃん

916 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 18:14:16.83 ID:MUYZ+xZC.net]
なんだ?
Win32板がC#板になってる。

まあいいけど。

917 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 18:14:40.82 ID:MUYZ+xZC.net]
板じゃなくってスレだった、すまん。

918 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 20:00:27.86 ID:laz5P8lZ.net]
ID:rYmTtd8qは逃亡?

919 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 20:03:46.92 ID:GYZZDVTI.net]
>>881
WinFormsのメッセージループはそもそもC#で実装されてるので、同じことを実装すればできるはず
それをやる意味があるかは知らん

>>882
C#だけではおそらくできない(プロセスメモリに直に機械語を書き込むとかならできるかもしれんが・・・)
C++/CLIを経由するか、C言語でDLLを書けばできる

C#は高レイヤー用だから、低レイヤーな部分はC言語が必要になってくる
ただ、低レイヤーを扱うソフトでもGUI部分はC#を使ったほうが楽な場合も多いと思う

920 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:06:06.73 ID:rYmTtd8q.net]
>>886,887
ご指摘通り、それ全部Nativeだった。orz

C#で直接他プロセスをフックするコードは書けないので、Nativeコードを経由する必要があるけど(>>892)、
その部分で上記サンプルコードで作るDLLが使用できるよ。

C#側はこんな感じ。(フックされる側もする側も、32bitじゃないと多分動かない)
ideone.com/I6CQGj



921 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 21:14:04.51 ID:laz5P8lZ.net]
>>893
3行目以降はみんなわかってるから書かないで良いよ

922 名前:デフォルトの名無しさん mailto:sage [2016/09/24(土) 21:52:53.12 ID:M/J9F64h.net]
まあまあ、そこまで書かなくても・・・

923 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 14:31:52.90 ID:OBYZqfWW.net]
IPAddressコントロールのメニューってどうやったら消せる?
サブクラス化してもWM_CONTEXTMENUが来ない

924 名前:デフォルトの名無しさん mailto:sage [2016/09/26(月) 22:48:08.03 ID:TukXLw2X.net]
つDisappearMenu()

925 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 00:13:33.87 ID:/Yg2QTqO.net]
>>896
Spy++

926 名前:デフォルトの名無しさん [2016/09/27(火) 12:46:31.44 ID:uV/py0I0.net]
win32apiはCで使うもの、それともC++でやってる?

猫レベルなので、次が不明でさまよっています。

927 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 12:53:47.21 ID:lZ2V1Ihe.net]
>>899
CでやってるとC++のクラスを使いたくなるけど
レールに沿ってやるより自分がやってみたい事を実現するために必要な事を1つ1つやっていった方がいい気もする

928 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 13:09:24.50 ID:8ZLpHgGV.net]
>>899
C++でやんなきゃCOMでウザい事になるぞ

929 名前:デフォルトの名無しさん [2016/09/27(火) 13:10:17.87 ID:pAYH5Jb4.net]
ならないよ

930 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 13:48:32.20 ID:cO8I5ivP.net]
C++をBetter Cとして使ってりゃそのうち使い分ける



931 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 17:00:00.51 ID:JUhPFI9j.net]
>>902
俺もなると思うが?
生のCはやっちゃダメせいぜい教育用くらい

932 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 17:37:41.25 ID:lPJarC9l.net]
C++なんてウンコ言語はCOM使う時くらいだな
何通りも初期化記法があったり黒魔術が多過ぎる

933 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 17:37:44.77 ID:PAHsg1th.net]
C#のが楽 Win32で十分

くらいの差であって、ウザいかどうかはその人と仕事内容次第

934 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 18:29:05.45 ID:bFdF3zA0.net]
>>906
COM は C# の方が面倒だわ
microsoft.office.interop.* をもっと真面目に作ってくれ

935 名前:デフォルトの名無しさん [2016/09/27(火) 18:30:49.38 ID:uV/py0I0.net]
898です。
独学で猫の本程度、作れるようになりました。

生産性を考え、C#,C++,Java,python,rubyとかを次に考えています。

拡張子がcppで、comも少しやっています。

おすすめ言語ありますか?
ついでに本も。

ソフト屋じゃないのに、やっつけデータ処理が、必要なんです。

936 名前:デフォルトの名無しさん [2016/09/27(火) 18:34:20.96 ID:uV/py0I0.net]
日本語変ですね。

お礼もない。

若くないので、コストを考えました。

937 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 18:41:58.58 ID:w5gpFchP.net]
Win32APIについて聞きたいならこのスレでいいが
やっつけ仕事に適した言語が知りたいならこのスレより
スレ立てるまでもない質問はここで〜
の方が適切

938 名前:デフォルトの名無しさん [2016/09/27(火) 18:48:19.76 ID:uV/py0I0.net]
ホントですね。
失礼しました。

win32apiから、C++なら便利?と考えておるうちにずれていました。

939 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 19:17:10.39 ID:+Hq6Z55/.net]
>>905
バカ

940 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 20:18:13.60 ID:lCQO94l1.net]
Win32は修羅の道
思いとどまれ踏み込むな
迷い込んだら覚悟を決めろ



941 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 21:33:50.34 ID:w5gpFchP.net]
覚悟完了

942 名前:デフォルトの名無しさん mailto:sage [2016/09/27(火) 22:01:03.88 ID:G7SFDpUA.net]
戦略的撤退

943 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 01:56:16.40 ID:JU45VBWv.net]
>>905
GDI+「私を忘れてないかな?」

944 名前:デフォルトの名無しさん [2016/09/29(木) 18:41:10.44 ID:M0rjTDUo.net]
win32apiならC++よりCからの方が使い易い

945 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 19:45:58.02 ID:LDkzfJUX.net]
SkyTelコワイ

946 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 08:23:59.69 ID:LRewiCIS.net]
>>916 ラッパ

947 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 13:09:10.02 ID:4o4y3Pue.net]
のマークの

948 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 13:29:05.78 ID:GxRMdu/c.net]
まさつゆまる

949 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 13:59:01.98 ID:GX41vvMR.net]
虫歯に効くのは木クレオソートが強い防腐作用や殺菌作用があるため
神経に対して初めは少し刺激が起こりますが次第に知覚麻痺して痛みを感じなくなっていきます

950 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 17:17:41.77 ID:2/1u9rrl.net]
隠しAPIのDwmGetDxSharedSurface()ってGetDesktopWindow()のハンドル指定してもテクスチャ取得できないのかな?
例えばIEとかのハンドル指定すれば問題なくテクスチャ取得まで行けるんだが・・・



951 名前:デフォルトの名無しさん mailto:sage [2016/10/02(日) 17:52:00.53 ID:GX41vvMR.net]
DwmGetDxSharedSurface(NULL)

952 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 08:03:39.04 ID:2kYP0kDB.net]
.NETは.NET Frameworkがいる上に起動が遅いのが難点
特に頻繁に起動・終了するツールの開発には向かない

953 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 08:13:43.59 ID:y1wzqO45.net]
20年近く前はそう言われてたな

954 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 08:44:16.97 ID:LW7zvFbD.net]
>>925
よお老害

955 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 09:53:11.69 ID:BiGan9Dw.net]
>>925
Windows Updateをきちんと適用していれば、.Net Frameworkはインストールされてるぞ。
もはや、インストーラーに含める必要もなくなった。
起動時間は、事前コンパイルしとけば大幅に改善される。

956 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 10:01:20.19 ID:BiGan9Dw.net]
>>928の起動時間は1回目のね
元々2回目以降の起動はコンパイル結果がキャッシュされてるからそんなに遅くない。

957 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 10:33:07.96 ID:kdCvlbXg.net]
なんで急にこんな話になったのか分からんが、とりま20年近くも歴史ないわ。
あと、.NETがうんこじゃなくなったのはWin8に搭載された4.5から。
ここ4年の話で、それ以前はクソ&クソ。

958 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 12:27:21.91 ID:LW7zvFbD.net]
>>930
具体的によろしく

959 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 12:53:11.51 ID:+tO9yjwe.net]
.NETの思想って、利用者の端末機に負担をかけない様に
サービス可能なサーバーに情報を渡して、答えを貰うんだった。
回線の高速化や端末機の普及で、ローカルホスト通信で済ませる様になり
現在に至っている。

もう少しマイクロソフトがIISに力を入れてくれれば
ローカルホスト通信を使わなくなるのだろうね。

960 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 19:11:09.40 ID:2kYP0kDB.net]
>>929
ネイティブなら一瞬で起動するようなアプリでも.NETだとNgen使っても体感できるレベルで(数百msec以上)待たされる
起動に数秒かかることが許される規模のアプリであれば.NETでもいいけど
インタプリタでも一瞬で終わるような処理を.NETで実装したら実行時間の無駄
Javaも同じ事が言えるけどね。動き出せば速いけど動くまでが遅い

これは2年ほど前に配布を考慮した気軽に使えるGUIツール開発プラットフォームを探した時に出た結論



961 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 21:06:40.44 ID:JthKKgNo.net]
ふーん
お宅の言う結論ってケツの穴の論理と大差なさそうだね

962 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 04:23:54.50 ID:HwYDbl3n.net]
もう新規案件をWin32ネイティブで開発することは少なくなったな
WTL/ATLを気に入ってよく使ってた

963 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 17:22:23.22 ID:lKepYBPc.net]
#include <ws2tcpip.h>
しても inet_pton が宣言されてねぇと叱られる('兪)

964 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 17:27:35.32 ID:nw13XKq1.net]
ユニコードビルドしてると使えないとか?もしくはInetPton

965 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 17:51:19.48 ID:ah4nbj/y.net]
#include <ws2tcpip>

966 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 19:03:39.31 ID:lKepYBPc.net]
お、反応してくれてありがとう

VC2015 Windows Kit 8.1 デフォルトのままUNICODE使用
#include <winsock2.h>
#include <ws2tcpip>
#include <ws2tcpip.h>
#include <arpa/inet.h>
統合環境のプロジェクトの外部依存関係にある ws2tcpip.h を開くと inet_pton InetPtonW 宣言部分はカラー表示されていて
#if で無効化されてる気配も無い けど
'inet_pton' 識別子が見つかりませんでした
x86 x64 Release Debug 全部
(ってのを最初に書けよって話だな すんません

コンパイラオプション /P でプリプロセス後の状態を見たら inet_pton InetPtonW 宣言部分は無かった

なんでやねんと思ったら

#if 0 //[
#include <windows.h>
  ・・・
#include <ws2tcpip.h> //ここに足してた
#else //][
#include <windows.h>
  ・・・
#endif //]

よそ様のコードの保守は大変ですな
外部依存関係 に表示しないで欲しいのですが

ごめんなさいごめんなさい 吊ってきます

967 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 12:28:41.20 ID:0jaJMPXG.net]
自分の無能をよそ様のせいにすんなボケ

968 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 12:34:16.03 ID:0jaJMPXG.net]
次です

Win32API質問箱 Build123
echo.2ch.net/test/read.cgi/tech/1475897582/

969 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 16:41:23.69 ID:WucPD6lR.net]
縦書きのAPI(CreateFont、GetTextMetrics、GetGlyphOutline)で質問です。

CreateFont第三引数に回転値2700を設定後、
GetGlyphOutlineを使うとき、描画座標位置と、送り幅と送り高さの取得の値はどうなるのでしょうか?
フォントは、"@MS ゴシック"を使っています。

横書き通常だと下記のコードで問題なく値が取得できるのですが、縦書きだとうまく動作しません。
offsetX = gm.gmptGlyphOrigin.x;
offsetY = tm.tmAscent - gm.gmptGlyphOrigin.y;
nextWidth =gm.gmCellIncX;
nextHeight=tm.height;

CreateFont、GetTextMetrics、GetGlyphOutlineを使うコードは次のようにしています。何か設定がおかしいのでしょうか?
hFont = CreateFontW(100,50,2700,0,
FW_REGULAR,FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
PROOF_QUALITY,FIXED_PITCH | FF_MODERN,L"@MS ゴシック");
oFont=(HFONT)SelectObject(hdc,hFont);
GetTextMetrics(hdc, &tm);
CONST MAT2 mat = { { 0,1 },{ 0,0 },{ 0,0 },{ 0,1 } };
GetGlyphOutlineW(hdc, wch, GGO_GRAY4_BITMAP, &gm, 0, NULL, &mat);

970 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 17:16:34.58 ID:QeFd4z39.net]
縦書きだとyが変わるんじゃね



971 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 18:16:44.11 ID:WucPD6lR.net]
フォントサイズ100で"あ"を出力した結果
横0/縦0/縦2700
gmBlackBoxX 90 80 80 *
gmBlackBoxY 80 90 90 *
gmptGlyphOriginX 5 13 -1 *
gmptGlyphOriginY 79 81 -5 *
gmCellIncX 10 100 0 *
gmCellIncY 0 0 100 *
tmHeight 100 100 104 *
tmAscent 86 86 88 *
tmDescent 14 14 16 *
tmInternalLeading 0 0 4 *
tmExternalLeading 0 0 0
tmAveCharWidth 50 50 50
tmMaxCharWidth 197 197 197
tmWeight 400 400 400
tmOverhang 0 0 0
tmDigitizedAspectX 96 96 96
tmDigitizedAspectY 96 96 96
tmItalic 0 0 0
tmUnderlined 0 0 0
tmStruckOut 0 0 0
tmPitchAndFamily 54 54 54
tmCharSet 128 128 128
横0は "MS ゴシック"  CreateFontの第三引数 0  
縦0は "@MS ゴシック" CreateFontの第三引数 0 
縦2700は "@MS ゴシック" CreateFontの第三引数 2700
APIは、ややっこしい出力してますねぇ。。
縦2700でTextOutすると右上が文字の原点に移動するっぽいのでそれ考慮して計算するのかなぁ。

972 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 20:10:04.56 ID:fRcBIrce.net]
>>928
きちんと無駄に.Netは更新しないようにしてるんだよなぁ…

973 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 11:31:26.15 ID:Gd/C/AAX.net]
>>943
縦2700だとtm,gmの概念がわからなかったので、縦0で縦フォント作ってから、画像を270度回転してtm,gm辻褄を合わせて描画したら安定。
XとYの概念が入れ替わって混乱した。

974 名前:デフォルトの名無しさん [2016/10/12(水) 13:51:15.72 ID:MITJcbWv.net]
>>946
無理矢理つじつま合わせすると(例えば縦横の座標入れ替え)うまくいくのは90度単位の回転のみで、
45度とかの場合は破綻するでしょ。
943 の話はベースライン座標をを270度回転させて求めないとうまくいかないと思う。

975 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 14:20:20.43 ID:CGbCriuU.net]
>MSはこんなのまで用意してくれているからな
>https://github.com/Microsoft/vcpkg
>低脳のおもりは大変だ

976 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 17:31:03.60 ID:Gd/C/AAX.net]
>>947
縦読みだけなら90度回転ベースの270度(上下左右入れ替えと、オフセット計算)で仕様は満たされますが、45度とか要求となると別途手間かかりそうですね。
文字列をテクスチャーとかに描画してから回転したほうが簡単そう。

977 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 17:33:12.25 ID:aj5TKozK.net]
ある対象ファイルが他アプリケーションから開かれている否かはどうやって知れますか?

978 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 17:39:22.99 ID:NnJ6rK8J.net]
enumprocess->openprocess->zwqueryobject

979 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 17:44:09.42 ID:aj5TKozK.net]
全プロセス舐めなきゃいけないんですか?

980 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 17:44:16.63 ID:Gd/C/AAX.net]
>>950
この編参考にならない?試してないけどな。

_fsopen(で _SH_DENYRWっていうオプションがあるっぽい
https://msdn.microsoft.com/ja-jp/library/8f30b0db.aspx

「アプリケーションからファイルの排他オープンが可能かどうかを確認する一番確実な方法は、そのファイルをオープンしてみることです」
と書かれてる
https://support.microsoft.com/ja-jp/kb/172240



981 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 17:45:51.04 ID:bqn+ql9d.net]
Win32API質問箱 Build123
echo.2ch.net/test/read.cgi/tech/1475897582/

982 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 17:47:37.52 ID:bqn+ql9d.net]
>>953
>お祝いに参加しましょう

なんだこれω

983 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 18:03:38.18 ID:g+0wIc73.net]
「お誕生日おめでとう」
なんだろうけど、ちょっと恥ずかしい

984 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 22:45:03.69 ID:pWVjxgqB.net]
VK_NUMPAD6とVK_RIGHTなどのキーが同じものとして扱われてしまうのですが
どうすれば使い分けられるのでしょうか

985 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 09:38:05.35 ID:DLzZN/YU.net]
>>957
NumLock ON/OFFは?

986 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 01:01:26.59 ID:qV7dku2N.net]
>>957
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms646280(v=vs.85).aspx
extended keyの説明見てみ

987 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 18:25:43.89 ID:NU1xJ4eI.net]
>>958
やりましたけど、同じでした

>>959
なんかむずかしいすぎてついていけません。
KEYEVENTF_SCANCODEではなく
KEYEVENTF_EXTENDEDKEYを使うとか?
過去ログも検索で見ましたがむずかしいですね

988 名前:デフォルトの名無しさん [2016/10/21(金) 17:44:09.25 ID:KvD6T+Uq.net]
コンソールをリサイズした状態でのバッファ表示についての質問です。

COORD wh = {80, 50};
SMALL_RECT area = {0, 0, 79, 49};
SetConsoleScreenBufferSize(GetStdHandle(-11), wh);
SetConsoleWindowInfo(GetStdHandle(-11), TRUE, &area);

で 80x50 のコンソールになるのですが、その後

CHAR_INFO b[50 * 80];
COORD p = {0, 0};
b[(0-79と0-49で行と列を計算)].Char.AsciiChar = '適当';
b[(上と同じ)].Attributes = 適当;
WriteConsoleOutputA(GetStdHandle(-11), b, wh, p, &area);
を何度か繰り返すと、25行以内(0-79と0-24の範囲)だけに書き込んでいるときは表示が正常なのですが、
26行以

989 名前:(0-79と25-49の範囲)書き換えると訳の分からない表示になります。
()の中は (y*80+x) みたいな計算をしています。

ScrollConsoleScreenBuffer(GetStdHandle(-11), &area, NULL, p, b);
を入れると多少表示は変化するのですが、期待する結果にはなりませんでした。

何か勘違いしているのかも知れませんが、解決のお手伝いください。
[]
[ここ壊れてます]

990 名前:デフォルトの名無しさん [2016/10/21(金) 19:21:16.29 ID:zTYixhM/.net]
>>961
bが自動変数で初期化されていないのでゴミデータが出力されているだけでは?



991 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:46:34.18 ID:O48rD9qT.net]
原因が判りました。
50行目以降のアドレスに書き込んでました。
50+n行目に書くとn行目の不特定な列に書き込まれるようです。

992 名前:デフォルトの名無しさん [2016/10/23(日) 10:31:21.49 ID:CGzeXgZh.net]
馬鹿には無理

993 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 10:36:05.47 ID:B3h+V7cB.net]
>>964
自虐ネタ乙

994 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 13:06:59.50 ID:Qt7KzQsX.net]
>>965
ぐぬぬ

995 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 14:40:22.78 ID:CpFScuJ1.net]
OSのバージョンでビルド番号を調べるAPIはどれですか

996 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 14:50:12.71 ID:Qt7KzQsX.net]
>>967
普通にGetVersionExじゃあかんの?

997 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 14:54:32.90 ID:CGzeXgZh.net]
>>968
最近のOSだと使わない方が良いみたいね

998 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 21:07:47.59 ID:GtfQU5YV.net]
取得はその関数で構造体の変数値を直接比較せず専用関数使えってことでしょ

999 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 09:04:03.53 ID:fQGKWk+u.net]
比較しないでただ取得するだけならそれでいいんじゃね

1000 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 10:32:35.70 ID:9xygNeDa.net]
>>969
manifestを書くと解決するらしいが非推奨



1001 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 10:53:15.41 ID:RAJtJMqi.net]
manifest書いた上でVerifyVersionInfo

1002 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 06:29:16.08 ID:iv1fMup0.net]
今はWin32_OperatingSystem一択

1003 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 20:48:37.18 ID:71rg+6zF.net]
>>974
WMIは初回が遅すぎるんだよなぁ。

1004 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 21:04:02.29 ID:ceXQtcCi.net]
WMIってヘルプが嘘多いのとバージョンアップで変わってるから困る

1005 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 02:06:35.91 ID:stLp85Rp.net]
virtualallocってディスクに予約、確保するの?

1006 名前:デフォルトの名無しさん mailto:sage [2016/11/02(水) 03:29:42.91 ID:ttxNZg5R.net]
足りないときにやってくれるだけで毎回ディスク使う訳じゃない

1007 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 17:15:22.49 ID:M9JiIIXY.net]
このスレでは興味薄そうだけど

https://github.com/Microsoft/cppwinrt
これが最初から欲しかった
https://github.com/Microsoft/cppwinrt/blob/master/Docs/Migrating%20C%2B%2B%20CX%20source%20code%20to%20C%2B%2B%20WinRT.md
CXの言語仕様策定した連中は無能すぎ

1008 名前:デフォルトの名無しさん [2016/11/03(木) 18:06:39.24 ID:KRq5Cur1.net]
うんいらない

1009 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 18:21:49.22 ID:jnPNi8zj.net]
> 978
ご苦労であった
下がってよいぞ

1010 名前:sage [2016/11/03(木) 19:20:32.95 ID:AWrr+PAw.net]
https://www.youtube.com/watch?v=tY-xyCbzdqY

https://www.youtube.com/watch?v=NJYs5GTmdcg



1011 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 19:24:45.18 ID:KRq5Cur1.net]
梅津

1012 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 19:29:23.50 ID:Vul1aP3I.net]
RTってwin32apiの後継?

1013 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 19:29:39.16 ID:KRq5Cur1.net]
全然別物

1014 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 19:31:46.62 ID:KRq5Cur1.net]
Win32
echo.2ch.net/test/read.cgi/tech/1475897582/

WinRT
echo.2ch.net/test/read.cgi/tech/1440150886/

1015 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 19:33:14.02 ID:Vul1aP3I.net]
>>985
じゃあ、なんでここに書き込むの?

1016 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 19:33:50.89 ID:iYejUQc8.net]
IE11 と Edge が同じか?って聞かれたら
ほとんどのひとが違う

1017 名前:ニ答えるだろ
そのくらい違う
[]
[ここ壊れてます]

1018 名前:デフォルトの名無しさん mailto:sage [2016/11/03(木) 19:35:10.91 ID:KRq5Cur1.net]
へ?

1019 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 02:08:02.90 ID:wTo+5XZe.net]
いい加減こっち埋めろよ

1020 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 03:27:27.88 ID:e0uuer+h.net]
ふんわりパンク



1021 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 04:37:04.72 ID:UUBafTaz.net]
うめ

1022 名前:デフォルトの名無しさん [2016/11/04(金) 05:07:13.26 ID:gpXDTSEe.net]
edge ω

1023 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 07:55:58.21 ID:aR9Unpf6.net]


1024 名前:デフォルトの名無しさん [2016/11/04(金) 10:23:48.39 ID:eeUHQUQt.net]
なぜ sprintf はあるのに sgets が無いのですか?

1025 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 10:28:47.54 ID:e0uuer+h.net]
int readnum = sscanf(src, "%*[^\n]", maxnum, dst);
だったかな
うろ覚え

1026 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 11:17:17.84 ID:gpXDTSEe.net]
これか
www.kijineko.co.jp/node/201
もう忘れた

1027 名前:デフォルトの名無しさん [2016/11/04(金) 17:32:12.45 ID:xcPL+uad.net]
フォームタイトル左のアイコンを消すAPI教えて下さい。
ちなみに、タイトル右のアイコン化等のボタンは表示したままでお願いします

1028 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 19:46:41.00 ID:K7hL1M31.net]
うめたて

1029 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 19:59:11.56 ID:22qUZxEG.net]
こんにちは

1030 名前:デフォルトの名無しさん mailto:sage [2016/11/04(金) 19:59:39.65 ID:22qUZxEG.net]
さようなら



1031 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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