[表示 : 全て 最新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/

175 名前:デフォルトの名無しさん [2016/03/25(金) 15:02:32.36 ID:e5iRWphL.net]
makefileの書き方が分からない。(1/2)
Windows7でmingwのgccを使っています。
win32apiを使っての開発の件でリソーススクリプ
トが有る場合と無い場合とではmakefileの中身が
違います。
リソーススクリプトが有る場合のmakefileは、下記です。
SRC=01.c
OBJS=$(SRC:.c=.o)
RC=02.rc
OBJS+=$(RC:.rc=.o)
PROG=01.exe
CC=gcc
MENU=windres
CFLAGS=-Wall -O3 -finput-charset=cp932 --exec-charset=cp932
LDFLAGS=-mwindows
RM=rm
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
%.o: %.rc
$(MENU) $(RC) $*.o
.PHONY : all
all: $(PROG)
$(PROG): $(OBJS)
$(CC) $(OBJS) $(LDFLAGS) -o $@
.PHONY : clean
clean:
$(RM) $(OBJS)

176 名前:デフォルトの名無しさん mailto:sage [2016/03/25(金) 15:04:12.61 ID:e5iRWphL.net]
makefileの書き方が分からない。(2/2)

リソーススクリプトが無い場合のmakefileは、下
記です。
SRC=01.c
OBJS=$(SRC:.c=.o)
PROG=01.exe
CC=gcc
CFLAGS=-Wall -O3
#LDFLAGS=-mwindows
RM=rm
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
.PHONY : all
all: $(PROG)
$(PROG): $(OBJS)
$(CC) $(OBJS) $(LDFLAGS) -o $@
.PHONY : clean
clean:
$(RM) $(OBJS)

上記二つのmakefilleをif文を用いて一つの
makefileに統一をしたいのですが。if文の書き方
が分かりません。

済みません。makefileの提示をお願いします。
宜しく、お願いします。

177 名前:デフォルトの名無しさん mailto:sage [2016/03/25(金) 15:10:54.87 ID:CUZNJgnV.net]
スレ違いにも程があるぞ
本屋行ってオライリーのGNU Make読んでこい

178 名前:デフォルトの名無しさん mailto:sage [2016/03/25(金) 15:18:16.65 ID:CX1q41Ys.net]
mingw/gcc の質問やないか

179 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 08:39:59.70 ID:K1Mny911.net]
すみません質問させてください
SystemParametersInfo関数のようなWindowsのシステムをいじることについて
網羅的に書いてある紙の本ってあるんでしょうか
代表的なものだけでも

180 名前:デフォルトの名無しさん [2016/03/31(木) 10:33:05.53 ID:rf0CgBoT.net]
>>175
っプリンター

181 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 15:16:19.63 ID:3JOhUKfn.net]
つプリンター Ex
https://msdn.microsoft.com/ja-jp/library/cc429371(d=printer).aspx

182 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 16:57:20.40 ID:nkzU0v9F.net]
>>175
もちっと自分のやりたいことがわかるように聞いたほうがいいんじゃね

183 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 17:50:33.83 ID:K1Mny911.net]
>>178
ありがとうございます
Windowsの操作を楽にする便利なツールを色々思い付く限り作りたいと思います
その為には「こういうことができないか」とやりたいことを考えてからそれを実現する関数を調べるという道筋と
すべての関数の一覧を見ていて「こういう関数があるならこういう便利なツールを作れるな」と発想する道筋の2つがあると思いました
それで前者についてはネットで調べるので良いのですが、
後者の着想のきっかけを得るために本に網羅されたリファレンスマニュアルのようなものがほしいのです



184 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 18:33:03.51 ID:I8JOZpbh.net]
ほら網羅つhttps://msdn.microsoft.com/ja-jp/library/
紙がいいならプリンター使えって先輩も親切に教えてくれてるよ

185 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 22:24:02.53 ID:uSuxbU8H.net]
https://channel9.msdn.com/Events/Build/2016/P504

力技か

186 名前:デフォルトの名無しさん [2016/04/01(金) 05:12:57.08 ID:olPRPtsN.net]
オンゲー解析してみたくて今C言語学習中なんですが、いつ頃WINAPI32を学習すればいいですか?
オンラインゲームを解析するにはWINAPI32の学習は避けては通れない道みたいですが、今API32の入門書を読んでもサッパリで

187 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/04/01(金) 05:33:04.14 ID:cbPhNKwQ.net]
>>182
WINAPI32じゃなくてWin32 APIだよ。
Win32は果てしなくでかいので、入門書だけでなくヘルプも読むのが常識だよ。
Win32には独自の型があるので、それらの使い分けを最初に勉強するといいよ。

188 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 05:48:48.38 ID:olPRPtsN.net]
>>183
ありがとうございます。
win32は予備知識などなくても覚えられるものでしょうか?

189 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/04/01(金) 06:17:50.03 ID:cbPhNKwQ.net]
>>184
関数、構造体、ポインタ、関数ポインタ、イベント駆動などの知識が
必要と思われる。

190 名前:デフォルトの名無しさん mailto:sage [2016/04/01(金) 08:37:14.08 ID:TsVr6Gke.net]
>>182
話にならん
自分が人に教えられるレベルになってからそういうのをやるもんだ

191 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/04/08(金) 17:51:35.51 ID:eaIwZ6It.net]
ダウンロードしたインストーラの実行前のSmartScreenの警告を消すためにはDigiCertから
EV証明書を買ってSignToolを使ってコード署名しないといけないんだよね?
証明書がウン万円もするんだが。。。

192 名前:デフォルトの名無しさん mailto:sage [2016/04/08(金) 18:04:06.56 ID:O1PVjDtF.net]
そらそうよ

証明書買ってコード署名した汎用ダウンローダーを作って安く売れば需要あるかな?
インストーラーの顔をしながら、実行すると本体インストーラーをダウンロードして実行する奴。

というか、既にありそう。

193 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/04/08(金) 18:54:22.13 ID:eaIwZ6It.net]
>>188
有り難う。

証明書に有効期限があるということは、ソフトにも賞味期限ができたことになるな。



194 名前:デフォルトの名無しさん mailto:sage [2016/04/08(金) 21:21:33.10 ID:gortvINo.net]
>>188
そういう脱法的なのは、それを使って悪用されたら面倒なことになると思うけど良いのかな。
少なくともその証明書はブラックリストになるはず。

>>189
署名する時にタイムスタンプサーバーを指定して署名日時を入れておけば大丈夫だよ。
これを忘れると証明書の期限切れとともに署名も無効になる。

195 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 01:31:16.52 ID:mjwXlN36.net]
>>187
EVコードサイニング証明書の取得は法人格が必要。
個人だったらコードサイニング証明書まで。EVコードサイニング証明書に比べたらちょっと安いけど、それでも結構するな…。
EVじゃない方だと評価回数が少ないうちはSmartScreenで警告されるみたいだね。

196 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 01:49:05.76 ID:bQbq5y+9.net]
Convert your desktop application to a Universal Windows Platform (UWP) app
https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root

来たよ

197 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 03:43:32.81 ID:A0XmuThL.net]
リッチテキストコントロール(riched20.dll)に、グラフィックを含むRTFファイルを読み込ませて表示することは不可能でしょうか?
実際に試すとグラフィックのみ表示されません。

単純にEM_STREAMINで読み込ませていますが、他の方法では可能なのでしょうか?

198 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 21:21:05.39 ID:ulqJQxxJ.net]
>>192
これVMだと使えない
面倒

199 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 15:16:55.94 ID:8YNH+QmN.net]
ドラッグドロップされたファイルと同じパスにある違う拡張子のファイルを読み込みたいんですが
拡張子を決めうちでケツから3文字消しても問題ないですか?
あとwin32apiではsubstringメソッド的なものはないですか?

200 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 16:08:23.80 ID:4ikocpMD.net]
最後に出てくる「.」以降が拡張子。2文字もあれば6文字もある。

201 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 16:08:31.56 ID:V7gBXlAq.net]
拡張子3文字じゃない場合どうするつもりか知らないけど、好きに作ればいいよ

202 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 16:14:45.73 ID:msF6wRol.net]
読み込みたいって事は拡張子わかってるんじゃないの?

203 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 17:20:58.53 ID:xOnwNmiP.net]
>>196
.で終わってるファイルとか
.を含まないファイル名のときは?



204 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 17:38:18.46 ID:+7c/qlM5.net]
拡張子がないってこと以外に何かある?

205 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 17:42:35.47 ID:YFuTfo2Y.net]
>>199
>.で終わってるファイルとか
Windowsは.で終わってるファイルってのは認めていない
Windows環境下で作成しようとするとピリオド無しでファイルが作られる

>.を含まないファイル名のときは?
.を含まないファイル名は拡張子無し

拡張子を持たないピリオドを含むファイルってのは作れない
ピリオド以降を拡張子として認識してしまう

206 名前:194 mailto:sage [2016/04/22(金) 18:38:44.93 ID:8YNH+QmN.net]
いろいろ調べた結果PathFindExtensionを使うことがわかりましたが
ビルドが通りません
1>main.obj : error LNK2019: 未解決の外部シンボル __imp__PathFindExtensionW@4 が関数 _WinMain@16 で参照されました。
fatal error LNK1120: 外部参照 1 が未解決です。

ideone.com/zU1ml8

何が悪いのでしょうか?教えてください

207 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 19:15:23.54 ID:4ikocpMD.net]
#pragma comment(lib, "Shlwapi.lib")

208 名前:デフォルトの名無しさん mailto:sage [2016/04/22(金) 23:12:03.91 ID:8YNH+QmN.net]
ありがとうございます、ビルドはできました
ですが拡張子を抽出することができません
GetCommandLine関数の返り血にスペースやダブルクォーテーションが含まれているのが問題だと思うんですが
C++のReplaceメソッドで置き換えしようとしてもLPTSTRからString型に変換するほうほうがわかりません
こういう場合どうすればいいんですか?

209 名前:デフォルトの名無しさん [2016/04/22(金) 23:22:20.50 ID:o1lCaFi5.net]
諦めたらいいと思うよ

210 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/04/22(金) 23:38:04.60 ID:ixsqd3SA.net]
C++勉強してCStringのソース読めや。
__argc、__wargv、wcsrchrなんてのも使えるかもしれん。

211 名前:203 mailto:sage [2016/04/23(土) 05:57:01.65 ID:UoCDvxkd.net]
型変換がむずかしすぎます
嫌がらせのように文字列型があってなんで型変換のメソッドが用意されてないんですか?

212 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 07:32:43.16 ID:1OvIZwV0.net]
>>195
ファイル名の長さを調べて
ポインタを最後尾にする
ポインタを1文字すつ前に移動して最初に「.」があれば(略

>>207
asmoのソース参考にすればいい

213 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 07:51:54.45 ID:1OvIZwV0.net]
using std::string;

string get_file_prefix(const std::string& filename) {
string temp(filename);
string::size_type pos = temp.find_last_of(".");
if (pos != string::npos) {
temp = temp.substr(0, pos);
}
pos = temp.find_last_of("/\\");
if (pos != string::npos) {
temp = temp.substr(pos + 1);
}
return temp;
}

ex)
string in_filename(argv[1]);
string prefix = get_file_prefix(in_filename);



214 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 14:36:18.35 ID:Ny1JsAlg.net]
LPTSTRって何だっけ?

215 名前:デフォルトの名無しさん [2016/04/23(土) 14:43:34.37 ID:qkM7UD7C.net]
#ifdef UNICODE
wchar_t *
#else
char *
#endif

216 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 14:45:32.47 ID:43LRl8T1.net]
NULLターミネートするTCHAR配列(TSTR)へのlong pointer(LP)

217 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 15:41:39.82 ID:Ny1JsAlg.net]
ああ、tcharで使うやつか
思い出した
他にも似たやうな名前のがあるよな
LPCTWSTRみたいな。
わけわかめだ

218 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 15:49:55.48 ID:ob/Sewtp.net]
LPTSTR と LPCTSTR のふたつくらい、君のキャパでも憶えられるだろ。
あとは気にしないでいい

219 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 15:55:31.31 ID:Ny1JsAlg.net]
おれはwchat_tしか使わないから。

220 名前:デフォルトの名無しさん [2016/04/23(土) 16:35:07.30 ID:ra5UaJir.net]
>>213
LP=ロング・ポインタ
C=コンスト
T=テンプレート
W=ワイド
STR=ストリング

LPCTWSTR=ロング・ポインタ・コンスト・テンプレート・ワイド・ストリング

俺はこんな感じで覚えてる
ていうかLPCTWSTRなんてあったっけ?、テンプレートとワイドは共存しないとおもうが・・
LPCTSTRだろう

221 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/04/2 ]
[ここ壊れてます]

222 名前:3(土) 16:39:45.15 ID:IdUKJjCp.net mailto: テンプレートじゃなくてテキストじゃねーの? []
[ここ壊れてます]

223 名前:デフォルトの名無しさん [2016/04/23(土) 17:05:51.57 ID:7b5nyUqS.net]
テキストとストリングって、上野クリニック案件になっちゃわない?



224 名前:デフォルトの名無しさん [2016/04/23(土) 17:23:31.69 ID:SujJgXyp.net]
関数はA/W/無印なのに文字、文字列は無印/W/Tで一貫性がないよな

225 名前:デフォルトの名無しさん [2016/04/23(土) 17:35:19.88 ID:SujJgXyp.net]
WinMain関数は無印,w,_tでCRT風だしで更にカオス

猫でも分かるなんかのうんこサイトは使い分けすらしておらず
初心者を陥れる為にわざとやってるのかと思うほどだわ

226 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 18:19:36.74 ID:lEfknhOE.net]
あれは本題部分のみ参考にするとこだろ

227 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 18:43:01.46 ID:QugQUSQO.net]
気にしたことなかったけど、確かにそうだな。
まともにソース読む気が起こらないし、読んだこともない。

228 名前:デフォルトの名無しさん [2016/04/23(土) 18:50:54.27 ID:ra5UaJir.net]
>>217
え、そうなの?

なんかのサイトでテンプレートだと書いてあって、CP932でもUnicodeでも対応できる
ということで鋳型という意味のテンプレートだという説明だったので納得してたんだが

229 名前:デフォルトの名無しさん [2016/04/23(土) 18:56:18.55 ID:e6EoTGG4.net]
>>213
TとWが同時に付くことはないはず

230 名前:デフォルトの名無しさん [2016/04/23(土) 18:58:15.98 ID:e6EoTGG4.net]
>>215
これから作るのは全部それで良いよね

231 名前:デフォルトの名無しさん [2016/04/23(土) 19:00:48.56 ID:e6EoTGG4.net]
>>216-217
TCHAR *fuga = _T("fuga");
wchar_t *hoge = L"hoge";
だっけ
_T は TEXT だよなー

232 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/04/23(土) 19:01:10.72 ID:IdUKJjCp.net]
>>223
あっしは汎用テキストのTだと理解してたが。

233 名前:デフォルトの名無しさん [2016/04/23(土) 20:55:00.69 ID:ra5UaJir.net]
>>226
うん。_TのTはText、TCHARのTはテンプレートだと思ってる

>>227
UNICODEの定義によってCP932またはUNICODEにはめ込むことができるので
テンプレート(鋳型)という説明が一番しっくりくると思う



234 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 21:42:13.74 ID:8PouUri8.net]
普通に Type の T じゃね?

235 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 22:44:03.32 ID:X/qVSAL9.net]
>>208
ありがとうございます
一応LPTSTR→char *型への変換もできるようにがんばってみます

236 名前:203 mailto:sage [2016/04/23(土) 22:44:43.88 ID:X/qVSAL9.net]
LPWSTR→char *型への変換でした・・・

237 名前:デフォルトの名無しさん mailto:sage [2016/04/23(土) 22:53:53.23 ID:K7zZdQrl.net]
>>226
_Tは_TEXTの省略形。

238 名前:デフォルトの名無しさん [2016/04/23(土) 23:41:57.72 ID:ra5UaJir.net]
>>229
wchar_tの最後のtはtypeのtだそうだけどね

TCHARのTがTYPEだとUNICODEの定義の有無によってCP932またはUNICODEにという
情報が名前に反映されてないことになるのでおかしいのではないかな

239 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 00:36:28.24 ID:5jPfs9BP.net]
https://msdn.microsoft.com/library/windows/desktop/dd374131
type を抑えてtemplate を推したくなるような記述は見当たらないような

240 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 01:00:59.35 ID:jZ3tR2YK.net]
>>234
"generic type"が鍵になりそうだな

1)generic typeでT(つまりtypeのT。但し、ただtypeでなくgeneric typeを表すT)
2)generic typeなので、その性質を一言で表すtemplateのT

この2種類が考えられそうだ

241 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 01:01:33.13 ID:PmTKsIVl.net]
あるサービス(hoge.exe)の起動を待機したいのですが可能でしょうか?

242 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 01:25:39.75 ID:WUvyiW4J.net]
タスクスケジューラでも使えば?

243 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 03:37:41.55 ID:PmTKsIVl.net]
そんなの使わなくてもできました



244 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 07:43:52.20 ID:fu8W/E1c.net]
>>233
templete って枠のことでしょ
TCHAR とか LPCTSTR 全体を言うならまだわかるけど T を templete って言うのは無理があるような気がする

245 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 09:22:15.37 ID:TYncJpKd.net]
wchar_t の

246 名前:t が text の t だとしたら size_t の t は何だろ?
同じ種類のものではないの?
何の略かはわからんけど…
[]
[ここ壊れてます]

247 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 09:27:07.20 ID:TYncJpKd.net]
ごめん、よく読んでなかった
type の t が一番納得できるな

248 名前:デフォルトの名無しさん [2016/04/24(日) 11:39:52.17 ID:zKXhuchC.net]
int64_t

249 名前:デフォルトの名無しさん [2016/04/24(日) 16:31:23.37 ID:8sLUoClv.net]
>>241
faithandbrave.hateblo.jp/entry/20071212/1197450584

俺はまったくもって納得できん
wcharを予約語にしてwchar_tはtypedefで残せばよかったのになー
WinSDKにしてもaffixはどうでもいいけどどれかに統一して
AMessageBox(=MessageBox)/WMessageBox/TMessageBox
ACHAR(=CHAR)/WCHAR/TCHAR
とでもしときゃよかったのになーと心底思うよ
そういうものだと割りきるしかないんだけど

250 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 16:50:26.02 ID:zKXhuchC.net]
localeのUTF-8化を頑なに拒んでる時点で

251 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 16:55:02.71 ID:TYncJpKd.net]
wchar_tは、C++03の予約語(言語仕様)だろ
基本型をtypedefすることはない
C++11では、char32_t とか char64_t とかも追加されてる

252 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 16:56:04.06 ID:TYncJpKd.net]
間違えた
char16_t と char32_t だった

253 名前:デフォルトの名無しさん [2016/04/24(日) 21:06:36.67 ID:8sLUoClv.net]
>>244
でもその糞さのお陰で雇用も生みだしてるんだろうしね
正直U8,U32は欲しいところ

>>245
> wchar_tは、C++03の予約語(言語仕様)だろ
だからそれが納得できないって言ってるのだが…
予約語なら_tいらんだろと。
_t付けたいならtypedefでいいだろと。
ついでに言えばs16,u16でいいだろと。



254 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 21:19:50.47 ID:CBUFfK5a.net]
言語の予約語に_tとかついてるのは嫌で仕方ない
size_tとかwchar_tとか
予約語はシンプルであるべきだ

255 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 21:26:38.72 ID:TYncJpKd.net]
static_cast、const_cast、dynamic_cast、reinterpret_cast とか
thread_local とか static_aseart なんてのもあるな

256 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 21:28:31.96 ID:TYncJpKd.net]
static_assert

257 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 22:08:20.08 ID:k3Kd32U9.net]
>>248
駄々こねるのもいい加減にして下さい
size_tじゃなくてsizeに出来たらさぞかし素晴らしかったでしょうねw

258 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 22:12:22.95 ID:HGS+mIYq.net]
全世界のソースコード修正祭りが開催されて何億円という損失だな素晴らしい

259 名前:デフォルトの名無しさん mailto:sage [2016/04/24(日) 22:56:43.97 ID:GQXrb8zO.net]
予約語の追加はかなりでかい破壊的変更になるからね
C#とか新しい順C++では文脈キーワードで対処してるけどさすがに型名は追加できんだろう

260 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 06:11:32.16 ID:IJUNQlfS.net]
>>248
それ以前に言語仕様で規定されてる sizeof の戻り値の型が typedef って言うのに違和感がある

261 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 13:56:35.15 ID:HSarKqaj.net]
そもそも、size_tは予約語か?
size_tはtypdedefで定義されていて、32bitアプリと64bitアプリで切り替わるようになっているんだぞ
wchar_tとは事情が違うだろ
だから>>247>>248の流れはおかしい
主に>>248がおかしい

262 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 19:23:57.38 ID:Frw0Qt8a.net]
本来ならwcharだけで予約されるべきところということか

263 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 19:38:55.15 ID:jv7QqRvk.net]
wchar を予約語にしておいてCとの互換性にはtypedef wchar wchar_t のようにしておけばよかったのにと思うけど
wchar を予約語に出来ない理由ってなんかあったっけ?



264 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 22:50:55.52 ID:R+Ez/oiI.net]
>>255
予約語のwchar_tとそうでないsize_tが同じ形式というのがそもそもおかしい

265 名前:デフォルトの名無しさん mailto:sage [2016/04/25(月) 23:03:21.85 ID:jv7QqRvk.net]
size_tはおかしくないんだからsize_tを引き合いに出すのはおかしい

266 名前:デフォルトの名無しさん [2016/04/26(火) 01:37:24.15 ID:MYWP6CaR.net]
>>234
"T"=????=generic type
"W"=Wide=Unicode type("W"がWideなのは他のドキュメントからわかる)

で、そのドキュメントには"W"がWideとは書いていないと同時に"T"が何なのかも
書いていないので、"T"がtemplateの可能性は排除できないだろうと思うがどうだろうな

template推しのサイト↓
vllv.us/Junk/_T/
「TemplateとはC++のテンプレートから来ており、『型の変化に適応する』という意味が入っています。」
(『マルチバイトとユニコード両方で通用する書き方』項目の最後の文)

LPCTSTR=Long Pointer to Constant null-terminated Template STRingの略です。
と言い切っているのは興味深い

267 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 02:48:18.10 ID:GOCkX5ww.net]
Lサフィックスをマクロなんて書いてる個人サイト持ち出されてもな

268 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 02:48:44.74 ID:GOCkX5ww.net]
プレだった

269 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 03:18:04.61 ID:R8utnF8M.net]
www.wdic.org/w/TECH/wchar_t
によると、Cでは(勝手にしてない限り)予約語ではない
c++はその名残、が妥当かと

270 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 03:30:36.17 ID:R8utnF8M.net]
ごめん、>>263 はなんか書いてること変だった
無視してくれ

271 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:16:03.38 ID:zelw3Bet.net]
ビットマップファイルを読み込む時に使うのはLoadBitmap
では、書き込む時に使うのは?

272 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:28:33.59 ID:MYWP6CaR.net]
>>261
Lプレフィックスをマクロなんてどこに書いてあるの?
どこにも見当たらなかったが・・

273 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:30:13.15 ID:gGelNJu8.net]
それはファイルI/Oとは違うから対となる書き込み機能は無いよ



274 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:33:30.69 ID:p/TmI1mb.net]
CImage::Save

275 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:40:17.40 ID:zelw3Bet.net]
>>267-268
windows.hの中にはないんですね。
対になる機能がないのが不思議。

276 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:46:48.74 ID:gGelNJu8.net]
いや、LoadBitmapはファイルじゃなくて”リソース”から読み込むのであってな。
書き込みはあってもいいかも知れんけど、バイナリ変形するし元に戻せなくなったら詰む。

ビットマップファイルのI/OはLoadBitmapじゃなくて、ファイルI/Oでやって下さい。

277 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 14:52:10.27 ID:KUbgmjPe.net]
気の利いたライブラリを探せば jpeg, png 使えるから
bmp なんか捨てたほうがいい

278 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 15:48:01.84 ID:hodGhGMX.net]
>>266
> 一番上のL

279 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 15:48:57.83 ID:hodGhGMX.net]
>>266
> 一番上のL"文字列"はユニコード限定の文字列ですよ、という
> 意味を表すマクロなので設定をマルチバイトに変更するとエラーになります。
一般的なブラウザを使っているなら
Ctrl-F 押すとページ内が検索できるようになるから
それで マクロ を検索してごらん

てかそのサイトは信用しないほうがいいと思うよ
> ちなみにLはLiteral(リテラル)の略で文字通りのとかいう意味です。
と断言してるとこは説得力なくて笑っちゃったよ
""だってナローリテラルだし他のu8"",u"",U""もリテラルなのに変じゃないか
引用元もないしで本人が思い込んでるだけじゃね?と不安になる

280 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 16:11:13.64 ID:xq7hrZNz.net]
>>265
読み込みも含

281 名前:めてWICでやるのが一番いい []
[ここ壊れてます]

282 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 16:12:58.34 ID:MYWP6CaR.net]
>>273
ほんとだ、初っ端にちゃんと書いてあったわ、すまんすまん

> ちなみにLはLiteral(リテラル)の略で文字通りのとかいう意味です。
これは俺も違和感あったわ、確かにその通り変だ

ちょっといまいちなサイトだったな
MSDNからの引用があればよかったんだが・・

283 名前:デフォルトの名無しさん [2016/04/26(火) 18:58:17.94 ID:Tx8NMol0.net]
MSDNも変なところ多いけどなあ。



284 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 19:04:37.78 ID:lzHK63LG.net]
大昔全FFを非同期リセットにしてた。
ASICの規模が大きくなってタイミングエラーの嵐になってきて、
99%以上のFFは同期リセット、
外部IO周りとか発振始まるまで不定じゃ困る部分のみ非同期リセットに変えた。
そのことでベンダーに何か注意されたこともないし、
特に困ったことも起こっていないな。

285 名前:デフォルトの名無しさん mailto:sage [2016/04/26(火) 20:23:40.01 ID:ScpOGrIY.net]
LプリフィックスのLをロング(Long)の略としているサイトもあるけど
何のロングだろうかと思ったり
というかああいうサイトはなんで何かの略であることを書かずにはいられないんだろうか
たぶんどっかで聞いた(気がする)とか見た(気がする)ということから
知らんうちにそれが正しいと記憶違いをしてしまっているんだろうね

286 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 00:29:45.56 ID:qLaue6Dh.net]
何の出典も示さずにLプリフィックスを"Long"だの"Literal"だのの略だと
自分のサイトに書けるのがすごいわ

俺みたいな小心者には無理だわ

287 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 05:34:41.17 ID:0VkfCe8A.net]
Largeに決まってんだろ馬鹿どもが

288 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 21:11:48.41 ID:qrup6c3l.net]
服のサイズの "F"は Freeの略ではありません

289 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 21:47:51.66 ID:ZNHkK8eC.net]
LOVEこそ全て

290 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 16:13:55.93 ID:FuZy8SxD.net]
SysWOW64に32bit用のDLL入れて
System32に64bit用のDLL入れさせる習慣はどうにかならんかのぅ

291 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 16:25:37.58 ID:x5p19SCW.net]
どうにもならんよ by ロイエンタール

292 名前:デフォルトの名無しさん [2016/05/01(日) 09:25:12.44 ID:tKi6j9CT.net]
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分

293 名前:散され、特定のサーバーに依存しません
[]
[ここ壊れてます]



294 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 09:48:44.26 ID:AqctS693.net]
>>283
ジャンクション張ってもっとマシな別名割り当てればいい

295 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 12:04:07.52 ID:jr+NTyfn.net]
>>285
死ね

296 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 12:16:34.83 ID:1jzF+/1T.net]
GetCommandLine()から拡張子のみを取り出したいのでPathFindExtension()を使ったのですが
そのまま投げても拡張子を返さず、GetCommandLine()の返り値を整形(ダブルクオーテーションを削除、一番後ろのスペースを削除)
しないとダメだったんですが、これは仕方ないことなのでしょうか?もっとスマートにやる方法ってないですか?

297 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 12:22:48.21 ID:CY4SDQIv.net]
どうせだし
"Path" Arg ...を分解するメソッドでも作っちゃえば

298 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 14:17:14.95 ID:AqctS693.net]
そのレベルを求めるなら API そのものじゃなくて何かライブラリを使うべきやろ
MFCまじおすすめ

299 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 14:54:23.63 ID:OlEFIntC.net]
WinMainの引数からsplitpath使えば

300 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 21:27:48.03 ID:UCEkFn3w.net]
CreateThread (Win32) についての質問なんですが
<---
C言語のランタイム ライブラリから関数を使っているスレッドは、 スレッドの管理用に、 CreateThreadおよびExitThreadよりは、 C言語のランタイム関数の_beginthreadと_endthreadを使ってください。
そうしないと、 ExitThread呼び出しでメモリを少し損失することになります。
--->
「C言語のランタイム ライブラリから関数を使っているスレッド」というのはどういうものを指すのでしょうか。
どういうときに CreateThreadでも良く、どういうときでは_beginthreadが良いのかがよくわかりません。

301 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 21:31:38.12 ID:JP6hgmB0.net]
>>292
>C言語のランタイム ライブラリから関数を使っている
stdio.h とか stdlib.h とかの関数を使うのなら _biginthread() ,ランタイムの関数をつかわないのなら CreateThread()
でも,win32api では普通Cランタイムは使わないようにするものだと思うのだが

302 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 21:42:39.45 ID:bCr+8i5t.net]
たいてい混ぜて使う
MFC
Win32Api
stdio
のでどのスレッド使えばいいかわからないww

303 名前:デフォルトの名無しさん [2016/05/01(日) 21:49:22.42 ID:ofEkM4aN.net]
>>292
cpplover.blogspot.jp/2010/10/msvc.html
ここが分かりやすいかも



304 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 23:28:44.34 ID:UCEkFn3w.net]
>>293-295
なるほど
事情は良くわかりました
注意してCreateThread()のほうを使うようにします
ありがとうございました

305 名前:デフォルトの名無しさん [2016/05/02(月) 15:15:28.11 ID:aR8AOrvI.net]
アフィ誘導乙

306 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 20:01:52.48 ID:V/Rz0lGL.net]
誘導されて来ました。
動的リンクされた.dllを.exeがあるディレクトリの1つ下のディレクトリにまとめたいと思っています。
.exeのショートカットを作成してショートカットのプロパティから、作業フォルダーの変更をすれば上手くいくのですが、これをプログラムでやる方法を探しています。
しかし、どうやら難しいようなので、変わる方法でもあれば教えて頂きたいです。
よろしくお願いします。

307 名前:デフォルトの名無しさん [2016/05/02(月) 20:06:40.83 ID:6+YY3Wwg.net]
exeのフルパスを取得する GetModuleHandle, GetModuleFileName
dll検索パスを追加するAddDllDirectory

308 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 20:13:55.77 ID:GdZkeqis.net]
echo.2ch.net/test/read.cgi/tech/1459610544/362-384

309 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 20:17:45.26 ID:V/Rz0lGL.net]
>>299
ありがとうこざいます。
adddlldirectoryですが、先ほど、main関数にたどり着いた段階でdllの読み込みは終わっていると教えてもらったので、mainの前に書いてみたところ、この宣言にはストレージクラスまたは型指定

310 名前:子がありませんと言われました。
この関数はどこで使うべきなのですか?
調べても、サンプルが少なすぎて分かりませんでした。
[]
[ここ壊れてます]

311 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/02(月) 20:38:33.46 ID:GdZkeqis.net]
よくわからんが、DLLを遅延読み込みにしてAddDllDirectory使うんとちゃう?

//遅延読み込み
#pragma comment(lib,"delayimp")
#pragma comment(lib,"mydll")

//以下はmain内部に記述
WCHAR szPath[MAX_PATH];
GetModuleFileNameW(NULL,szPath,MAX_PATH);
LPWSTR pch = wcsrchr(szPath,L'\\');
lstrcpyW(pch,L"\\test2");
AddDllDirectory(szPath);

312 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 20:43:40.23 ID:btgv3pKW.net]
>>301
>動的リンクされた.dllを.exeがあるディレクトリの1つ下のディレクトリにまとめたい
なにをやりたいのかやっと分かったたよw
自分でLoadLibraryするんじゃなくてmain以前にdllをロードするやりかたならmain以降じゃ当然どうしようもないわな

313 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 20:45:09.22 ID:btgv3pKW.net]
ああ遅延読み込みという手があったか。試したことないけど
試してみて結果を教えて



314 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 20:46:24.19 ID:6+YY3Wwg.net]
LoadLibraryするんじゃないのか
なら、起動専用exeでPATHにdllのパスを追加してから、本体のexeをCreateProcess

315 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/02(月) 20:55:15.69 ID:GdZkeqis.net]
本体のexeと起動専用exeを分けるなら、本体のexeをDLLと同じフォルダーに入れて、
起動専用が本体をShellExecuteすればいいんじゃないか?

316 名前:デフォルトの名無しさん [2016/05/02(月) 20:56:45.34 ID:y5l6KIx0.net]
なんかセキュリテイ的に弱点な気が
任意のexeで遅延させて自分のdll読ませれば何でも出来そう

317 名前:300 mailto:sage [2016/05/02(月) 21:03:38.21 ID:eom7L+e5.net]
自分の説明不足のせいか、大事になっている気が…
やりたかったのは、よくネットで公開されているフリーソフトのような、
zipを解凍したら.exeとreadmeとフォルダdataか出てきて
dataの中にアイコンのjpgやらdllが纏まってるみたいな簡素なものを作りたかっただけなのですが…
素人なのでセキュリティの脆弱性とかも全く分からないですが
とりあえず、教えてもらったことはありがたく全て試してみますので、回答ありがとうございます。

318 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 21:09:21.34 ID:ahm7i7ng.net]
回答者がエスパーすぎだろと思ったわw

319 名前:300 mailto:sage [2016/05/02(月) 21:30:39.06 ID:EphQW+li.net]
>>308
ちなみに、この聞き方であれば違う答えが返ってきたりしますか?
先ほどのやり方では、
セキュリティが危険とのことなので、素人が考えなしにやるのを躊躇しております。

320 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 22:16:40.26 ID:ahm7i7ng.net]
セキュリティは気にするな。
306がアホな子なだけ。

321 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 22:20:39.12 ID:btgv3pKW.net]
セキュリティは気にしなくても良いと思うけどね。
ニセのDLLを読み込ませたかったらDLLすげ替えてしまえば何でもできるし
DLLロードパスの優先順位はMSDNによると
1.実行中のプロセスの実行形式モジュールがあるフォルダー。
2.現在のフォルダー。
3.Windows システム フォルダー。このフォルダーへのパスは、GetSystemDirectory 関数が取得します。
4.Windows ディレクトリ。このフォルダーへのパスは、GetWindowsDirectory 関数が取得します。
5.環境変数 PATH 内に記述されたフォルダー。

322 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/02(月) 22:28:28.76 ID:GdZkeqis.net]
そもそもexeに高いセキュリティを要求するなら、exeはインストール時に
Program Filesなどのフォルダーに入れて、管理者権限がなければ書き込み不可にしないとあかん(ウイルス感染対策)。
さらにはインストーラーに有料の署名を付けんといけんのじゃ。

323 名前:デフォルトの名無しさん [2016/05/02(月) 23:10:44.85 ID:9Uaok0YL.net]
>>305-306
バッチファイルでいいじゃん



324 名前:デフォルトの名無しさん mailto:sage [2016/05/02(月) 23:44:54.35 ID:6+YY3Wwg.net]
>>314
黒いウインドウがダサい

325 名前:デフォルトの名無しさん [2016/05/02(月) 23:59:57.71 ID:9Uaok0YL.net]
ならVBSで

326 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 01:17:07.20 ID:ruihBwIa.net]
GetModuleFileName + "data"フォルダ
を LoadLibrary でダメな理由はあるの?

327 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 02:05:10.66 ID:Fq/Xo6LF.net]
> 自作のプログラムから、エクスプローラの右クリックで表示されるコンテキストメニューを表示しようとしています。
>
> IShellFolder *pShellFolder;
> IContextMenu *pContextMenu;
> pShellFolder->GetUIObjectOf(NULL, pItemListLen, &pItemList, IID_IContextMenu, NULL, (void **)&pContextMenu);
> HMENU hmenu = CreatePopupMenu();
> pContextMenu->QueryContextMenu(hmenu, 0, 0x001, 0x7fff, CMF_NORMAL);
>
> とコンテキストメニューを作成しています。
> pItemListにはILFindLastID()で取得した対象のファイルのIDが、
> pShellFolderには親ディレクトリを格納しています。
>
> 同一フォルダ内のファイルであれば、複数のファイルのコンテキストメニューを作れるのですが、
> 異なるフォルダにある複数のファイルだと作成できません。
> エクスプローラだと検索結果などから異なるフォルダにあるファイルから
> コンテキストメニューを出してるみたいなのですが、どうやったら出来るのでしょうか?

過去ログから拾ってきたコピペですが、これと同じとこで躓いてます

> pShellFolderにデスクトップを格納し、pItemListには絶対PIDLを入れろ

このようなレスもありましたがこれでは上手く行かないです

328 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 09:16:56.28 ID:kYqXiDhL.net]
>>317
キミ、周回遅れ

329 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 12:12:00.81 ID:aV7QMFwi.net]
>>318
members.jcom.home.ne.jp/toya.hiroshi/shell/namespace.html

>完全 PIDL はデスクトップで始まっていて、経路内にある間のフォルダの項目 ID がすべて入っています。
>完全 PIDL の最後は、そのオブジェクトの項目 ID と 2 バイトの NULL です。
>完全 PIDL は完全経路同様に、シェルの名前空間内でそのオブジェクトを一意に識別できます。

同一フォルダから得たものは相対 PIDL
要するにデスクトップ(pShellFolderにデスクトップを格納)からその項目までの経路、最後に項目のIDと2 バイトの NULL を入れろって意味じゃないかな

>このようなレスもありましたがこれでは上手く行かないです
ここが具体的にどういうことをしたのかわからんのですでに試したのかも知れんけど

330 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 12:43:23.64 ID:Fr8Hxrb9.net]
C言語でwin32apiを使ってnotepadにpostmessageでcontrol a を送りたい
がその方法が分からない。

一つの文字だけを送る場合は下記で上手く動きます。

#include <windows.h>

int main(void){
HWND hWnd;
hWnd = FindWindow("Notepad", NULL);
hWnd = FindWindowEx(hWnd, NULL, "Edit", NULL);
PostMessage(hWnd, WM_CHAR, 'a', 0);
return 0;
}

然し、ここでcontrol aを送るには、PostMessageのWM_CHAR

の次の引数をどの様に記述をすれば良いのでしょうか。
その時のコードの例示をお願いします。

宜しく、お願いします。

331 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:09:23.35 ID:PQ3d4MP7.net]
PostMessageでは不可

332 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:15:44.31 ID:cK/moF+D.net]
SendMessage(hWnd, WM_KEYDOWN, VK_CONTROL, 0);
SendMessage(hWnd, WM_KEYDOWN, 0x41, 0);
SendMessage(hWnd, WM_KEYUP, 0x41, 0);
SendMessage(hWnd, WM_KEYUP, VK_CONTROL, 0);

333 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:18:08.22 ID:Fq/Xo6LF.net]
>>320
どうも、レスありがとうございます ノシ

PIDLに関しては、必要に応じて手前で分割や結合が出来る程度には理解できてますので、完全か相対であるかは把握できています
親フォルダのIShellFolderとファイルの相対PIDLでは問題なく正常なメニューを取得できますが
デスクトップのIShellFolderと完全PIDL の組み合わせで正常なメニューが出るようには思えません…

たとえ単独ファイルであっても
デスクトップと完全PIDLでは正常なメニューは出ませんね

間違いが起こらないよう



334 名前:以下のような簡単な方法でメニューを取得してもやはりだめなんです...orz

LPSHELLFOLDER ptrDesktop;
LPITEMIDLIST ptrIDL;
LPCONTEXTMENU ptrContextMenu;
SHGetDesktopFolder(&ptrDesktop);
ptrDesktop->ParseDisplayName(NULL,NULL,L"C:\\CONFIG.SYS",NULL,&ptrIDL,NULL);
ptrDesktop->GetUIObjectOf(NULL,1,(LPCITEMIDLIST *)&ptrIDL,IID_IContextMenu,0,(LPVOID *)&ptrContextMenu);
[]
[ここ壊れてます]

335 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:20:17.04 ID:Fr8Hxrb9.net]
>>322
ここでは例としてnotepadを挙げていますが。
notepad固定と言うのでは無くて汎用性のある
キーの送信を考えています。

postmessageでは駄目だとしたら、ほかに何が
有るのでしょうか。

宜しくお願いします。

336 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:21:37.30 ID:kYqXiDhL.net]
メッセージをspyしてみるくらいの知恵は働かないのか?

337 名前:デフォルトの名無しさん [2016/05/03(火) 15:05:34.26 ID:Fr8Hxrb9.net]
有難う御座います。

今手元に有るのは、gccのコンパイラーだけです。
windows7を使っています。

spyツールを使えば何が分かるのでしょうか。
メッセージの流れが分かればその通りに
sendmessageを流せば良いのでしょうか。

済みません。教えて下さい。

338 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 15:19:30.82 ID:cK/moF+D.net]
無視されたオレ、涙目

339 名前:317 mailto:sage [2016/05/03(火) 15:34:20.80 ID:Fq/Xo6LF.net]
少し進展
C:ドライブのIShellFolderから、C:より下の階層の相対PIDLを渡せばディレクトリが違っていても正常なメニューを出す事が出来るようです

340 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 21:36:56.84 ID:WxW7Sfac.net]
>>328
透明人間の能力を手に入れたなんて羨ましいぜ

341 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 23:36:11.59 ID:Fr8Hxrb9.net]
>323
済みません、返事が遅くなりました。

実行した所、何も変化は有りませんでした。
直ぐに終了して何が起きたのか不明です。

何が考えられるのでしょうか。

342 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 23:52:34.46 ID:PQ3d4MP7.net]
SendMessageだとTranslateMessageとDispatchMessageを介してないんだから当たり前じゃん

343 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 23:55:40.99 ID:PQ3d4MP7.net]
PostMessageは順序保証ができないので不可
SendMessageはTranslateMessageとDispatchMessageを通過しないので不可
keybd_eventやSendInputを使うしかないが、これらはウィンドウを指定が不可

お前の望む動作は不可



344 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 00:04:01.21 ID:kVGM/VsN.net]
HANDLE h = Create...(

CloseHandle()を呼び出さずにアプリケーションが終了した場合
メモリ内にまだ、ハンドルがさしていたオブジェクトは存在し続けるのでしょうか?

345 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 00:07:45.41 ID:c7vIrIvG.net]
SendMessageやPostMessageだと
GetKeyboardStateを使ってるようなプログラムはまともに操作できないのも難点
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms646299(v=vs.85).aspx

The status does not change as keyboard messages are posted to the thread's message queue,
nor does it change as keyboard messages are posted to or retrieved from message queues of other threads.

346 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 00:10:28.68 ID:1kR93ddo.net]
>>334
Windowsならプロセスの終了時に使用していたリソースも開放される

347 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 01:02:19.46 ID:kVGM/VsN.net]
>>336
ありがとう

348 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 01:50:54.23 ID:VS80lwnU.net]
そういや異常終了した後でファイルがロックされて削除できない
なんて事が昔はよくあったな

349 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 12:52:46.02 ID:kVGM/VsN.net]
アクセス違反で強制終了させられた場合にDumpを出力させた場合に
struct Foo
{
int i;;
};

Foo foo;

foo.iの値をDumpから知ることは可能ですか?

350 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 13:27:30.06 ID:woHhfZt1.net]
出来るはずがない

351 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 00:05:15.38 ID:zUa6NWoE.net]
struct Foo {
DWORD magic;
int i;
};
Foo foo;
foo.magic=0x07214545;

とかやってダンプから07214545を検索すればいいんでないの

352 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 00:21:23.15 ID:M58BonNM.net]
小さなプログラムしか作ったことないんだろうな
普通は構造体が1個しかないようなプログラムってありえないんだよ

353 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 01:05:24.34 ID:zv5LYT8+.net]
ダンプとWinDbgとソースコードとpdbがあって最適化とかで消えてなくて、
スタック上にあるなら表示できる気がする。やってみてないけど。



354 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 01:34:44.98 ID:zUa6NWoE.net]
>>342
んなの>>339からはこのFooのインスタンスが1つなんだかいくつもあるんだか
それとも別にFooに限らず不特定の構造体のメンバの値を知りたいんだか
分からんのだからその中で一つの案を出している
初期化が面倒なら初期値に書けばいいし、複数の構造体ならtype_info::hash_codeでも
メンバに持たせたテンプレートの基底クラスを作ればいい

355 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 11:19:01.99 ID:/qWvSKFr.net]
>>344
君は質問の本質が分かっていないな
みなまで言わないと分からないのか

356 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 11:47:05.71 ID:aR3QcHwL.net]
エスパーきた

357 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 12:09:33.89 ID:UdftsNeY.net]
質問の本質というけど
>>339の質問からは「特定の構造体」なのか「すべての構造体」かは分からないよね
もしかしたら自作の構造体ではなく既存の構造体かも知れないし
エスパーして勝手にすべての構造体だとして回答するのは自由だけど
それで別の可能性の回答にいちゃもんつけるのは違うと思う
それこそ本質を見誤っているのだと思います

>>342は小さなプログラムなら「構造体が1個しかないようなプログラム」もありえることを示唆しています
また小さなプログラムなら>>341は有用だとも取れる
>>339の作っているのが小さなプログラムではないとなぜ言えるのでしょうか?

358 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 12:15:35.09 ID:l/2+Jb+M.net]
帯域の無駄とはまさにこのこと

359 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 12:26:56.96 ID:ET8VI+4U.net]
スレタイ読んで寝ろ

360 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 19:47:08.86 ID:gQ1eUeNa.net]
Windows8の画面の自動回転で縦長になっている画面を横長に切り替えるAPIがあったらお教えください。
デスクトップアプリ(MFC使用のダイアログアプリ)です。

なるべく横長に表示したいダイアログのため、OnInitDialog()内でShowWindow(SW_MAXIMIZE)した後に
ダイアログ内のコントロールをダイアログの幅に合わせて再配置しています。
SetDisplayAutoRotationPreferences(ORIENTATION_PREFERENCE_LANDSCAPE)を使えば横長には切り替
わるのですが、OnInitDialog()ではまだ縦長のままのようで、再配置が正しく行えませんでした。
で、可能ならアプリ起動時、DoModal()前に画面を切り替えたいのです。

よろしくお願いいたします。

361 名前:デフォルトの名無しさん [2016/05/07(土) 10:41:22.46 ID:Kik6brAm.net]
sendkey
Alt+F4 かなんか

362 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 17:01:24.81 ID:FRLfg3Ln.net]
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = NULL;

CreateEvent(&sa, FALSE, FALSE, NULL); で作ったハンドルは子プロセスに継承されている
子プロセスのDuplicateHandleは成功し親プロセスとの同期は取れている

CreateFile("sample.txt", GENERIC_WRITE | GENERIC_READ, 0 , &sa, OPEN_ALWAYS, FILE

363 名前:_ATTRIBUTE_NORMAL, NULL);
で作ったハンドルは子プロセス側でのDuplicateHandle自体は成功しているのに ReadFile、WriteFileでプロセスが落ちる

何が原因なんだろう?
[]
[ここ壊れてます]



364 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 17:23:33.70 ID:FRLfg3Ln.net]
すみません間違えてました

試していたのはfprintf(...)でその場合は落ちるんですが
>>352を書いてからWriteFileを試したら成功しました

そうなると今度はfprintf(...)でなぜ落ちるんだろうかって疑問になるんですが・・・

365 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 17:31:53.27 ID:KgU8/FJ+.net]
stdin,stdout,stderr以外は子プロセスには引き継げないって分かってる?

366 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 17:34:03.64 ID:KgU8/FJ+.net]
つーか、子プロセスは0,1,2をstdin,stdout,stderrとしてfdopenすると考えて良い

367 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 17:49:42.38 ID:7sMMCfTe.net]
ファイルポインタとファイルハンドル

368 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 18:04:18.24 ID:5sx0uiPg.net]
win32api の世界に C ランタイムの世界を混ぜるのは,混乱するから止めておいたほうが
messagebox で頑張ってくれ

369 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 18:12:34.31 ID:FRLfg3Ln.net]
>>356
理解しました
ありがとうございます

370 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 18:41:23.13 ID:9/SiGFfq.net]
>>353
vsprintf でバッファに出力してそれを WriteFile

371 名前:デフォルトの名無しさん [2016/05/07(土) 20:13:10.03 ID:SVmAxHAH.net]
おれはWM_CHARでなくWM_ペーストでやってるが

372 名前:349 mailto:sage [2016/05/08(日) 07:33:07.24 ID:uPD0V3Q6.net]
349です。
自己解決。
ShowWindow(WM_MIAXIMIZED)をやめ、デスクトップのサイズでMoveWindowするように
することで、正常に動作。

BOOL CSD_WinDlg::OnInitDialog()
{
    : 前略
  CRect rectDT ;
  GetDesktopWindow()->GetWindowRect( &rectDT ) ;
  int nWidth = rectDT.Width() ;
  int nHeight = rectDT.Height() ;
  do { // Windows8なら画面を横長に
    HMODULE hDll = LoadLibrary( "User32.dll" ) ;
    if ( !hDll ) break ;
    typedef BOOL WINAPI SetRotation( ORIENTATION_PREFERENCE orientation ) ;
    SetRotation* pfSetRotation = (SetRotation*)
      GetProcAddress( hDll, "SetDisplayAutoRotationPreferences" ) ;
    if ( !pfSetRotation ) break ;
    (*pfSetRotation)( ORIENTATION_PREFERENCE_LANDSCAPE ) ;
    FreeLibrary( hDll ) ;
    if ( nWidth < nHeight ) {
      int nTmp = nWidth ;
      nWidth = nHeight ;
      nHeight = nWidth ;
    }
  } while ( FALSE ) ;
  MoveWindow( 0, 0, nWidth, nHeight) ;
  CRect rectCli ;
  GetClientRect( &rectCli ) ;
    : 以下、クライアントのサイズに基づいてコントロールを再配置

373 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 11:39:33.12 ID:pwQcqOb7.net]
迷惑なアプリの見本とか



374 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 12:14:30.17 ID:1yuVEopA.net]
うむ。ウィルスと同種

375 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/08(日) 17:02:20.87 ID:Urq1EQRP.net]
IME内部で呼び出したGetTextExtentPoint32WがERROR_ALREADY_EXISTSで失敗する。
助けて下さい。

376 名前:デフォルトの名無しさん [2016/05/08(日) 17:43:25.16 ID:Urq1EQRP.net]
助けて

377 名前:デフォルトの名無しさん [2016/05/08(日) 18:18:07.81 ID:8pUDf3MI.net]
既に存在しますって。

378 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 21:31:28.06 ID:H4GlBiCg.net]
>>356
ファイルディスクリプタ

379 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 10:20:11.80 ID:/WWMvIkB.net]
>>367
Win32の話題なのにバカなの? 死ねば良いのに。

380 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 14:09:57.34 ID:pzKdLl0R.net]
片山先生にも分からない事が有るのか。

381 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 15:00:58.21 ID:YBKaLZ+x.net]
ハードディスクのクローンを行いたんですが、どのような関数でやるの?

382 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 15:06:09.73 ID:2UQDwNbB.net]
まず服を脱ぎます

383 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 15:07:23.57 ID:noyNIse2.net]
>>370
つCloneDisk(dst,src) API



384 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/09(月) 15:31:05.83 ID:12nCphG6.net]
>>370
CreateFileを使うらしい。アクセス権限が必要。
stackoverflow.com/questions/27063419/windows-opening-a-raw-disk

385 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 17:27:43.94 ID:ihh7VJo/.net]
>>373
できないから、質問してるのでは?
そんなのドヤ顔で紹介されても・・・

386 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 17:59:52.23 ID:mwKhqul2.net]
>>374
その論法では、どんな質問に対してどんな回答をしても同じことが言えるね。

387 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 18:21:28.96 ID:ihh7VJo/.net]
>>375
そうではない
紹介されてるのは、できないか人の質問を紹介してるだけ。
別のできない人の質問を見ても何にもならないだろう

388 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 18:54:03.51 ID:mwKhqul2.net]
>>376
ああ、「できないから質問」はリンク先の話ね。すなまない。

389 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 19:46:49.69 ID:WSElaHek.net]
クローンと九龍って似てるよね
九龍って聞くと3×3EYES思い出すわ

390 名前:デフォルトの名無しさん [2016/05/09(月) 19:52:27.27 ID:kFMtfNT1.net]
clone

cron
は発音が違う

391 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 20:37:02.59 ID:M3iPLLj4.net]
>>376
質問の回答を読めば答えがあるんじゃないの?読んでないけど

392 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 22:37:05.87 ID:jCCSCwvz.net]
/etc/crontab

393 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 23:35:52.42 ID:noyNIse2.net]
あるんじゃないの?って・・・
回答する側はちゃらんぽらんでもいいんですねw



394 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 23:46:31.04 ID:YBKaLZ+x.net]
クラッシュダンプの中からある変数の値
をしりたい
たとえば、下記のような
CDocumentクラスのint型のメンバm_dataの値です。

不可能ですか?

395 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/09(月) 23:51:44.12 ID:12nCphG6.net]
>>383
あらかじめSetUnhandledExceptionFilterに変数の内容を出力する関数を設定せよ。

396 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 23:59:03.23 ID:M3iPLLj4.net]
>>382
俺は回答者じゃないぞ
ただ>>376が質問のトピックだけ見てそれに対する回答にまで目を通していない可能性を示唆しただけ
本当にあのリンク先が質問投げられてるだけで解決してないだけのトピックならそれを貼るのは意味分からんけど
解決してるんちゃうの?って話

397 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 00:04:44.38 ID:5J1aLd4L.net]
>>384
それだと、クラッシュダンプを取っている意味がなくね?

398 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 01:10:03.16 ID:95ydQ9Nw.net]
>>383
シンボルファイルがあれば見れるでしょ。

399 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 01:21:14.99 ID:5J1aLd4L.net]
>>387
みれました。

400 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 13:08:37.18 ID:2ogGQYkn.net]
カスタムドローとオーナードローの違いが分からん

401 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 14:05:48.41 ID:Jb8df6a5.net]
毎ターンの最初にドローするのがオーナードロー
カードの特殊効果でドローするのかカスタムドロー

402 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 15:01:34.24 ID:HhVOss0K.net]
細かいところまで全部自分で描画するのがオーナードロー
OSがある程度描画してくれて、ステップごとに自分で描画したければ描画できるのがカスタムドロー

403 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 15:42:05.83 ID:ZuNavWCV.net]
オーナードローは全て自分で
カスタムドローは割り込んで差し替え



404 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 18:15:28.39 ID:5J1aLd4L.net]
たとえば、ダイアログにeditでもおいた場合
editのオーナーはダイアログですよね

ってことはeditをダイアログがおこなわなきゃいけないってこと?

それともオーナーをドローする?

405 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 22:10:15.17 ID:vVT3Tded.net]
MultiByteToWideChar関数とWideCharToMultiByte関数の変換結果ってNULL文字入ってますか?

406 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 22:12:24.86 ID:wov2Q3bj.net]
入ってるけど先っちょだけなのでセーフ ノーカン

407 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/10(火) 22:16:55.19 ID:CPTIUhXJ.net]
>>394
長さに-1を指定するとNUL文字が入るよ

408 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 22:37:50.04 ID:vVT3Tded.net]
>>396
ありがとう

409 名前:ございます
CommandLineToArgvW関数を使ってGetCommandLine関数から受け取ったものを解析しようとしているのですがうまくいきません
ソースはこれなんですがヒントがほしいです
https://ideone.com/blqCFb
あとMessageBox関数ってどうしてconstしか受け付けてくれないんですか?
[]
[ここ壊れてます]

410 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 23:45:17.67 ID:ee1FUJs8.net]
>.396
エラーが出たらメッセージをよく見ましょう。
エラーが起こった場合にキャストして無理矢理エラーを消しても動く可能性はほとんどありません。

411 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 23:49:50.96 ID:y6IvleFL.net]
文字列をキャストして変換したツモリナールは罠
ちゃんと変換しよう

412 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 00:23:03.54 ID:rUu5NPeL.net]
うまくいきました!
あとはCommandLineToArgvW関数がちょっとわからないところありますが試行錯誤してみます
どうしてもダメだったらまたきます

413 名前:デフォルトの名無しさん [2016/05/11(水) 15:39:15.62 ID:qkI+/TV/.net]
馬鹿には無理



414 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 16:33:16.52 ID:l/Aku55r.net]
>>397
const なし → const ありは暗黙変換の範囲
無駄なキャストするな

どうしてconst*無し*しか受け付けてくれないんですか?
なら許す

415 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 22:07:09.71 ID:AfFgGj2Z.net]
グローバル変数を持つDLLを遅延読み込みやLoadLibraryした場合に、そのグローバル変数に
アクセスする方法ってないんでしょうか?GetProcAddressのような。
遅延読み込みを使わなければ__declspec(dllimport)でいけるんですが、遅延読み込みにすると
LNK1194エラーになってしまいます。

416 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 22:12:17.37 ID:9I+RCTR4.net]
安全な方法はないんじゃないですかね
DllにGetGlobalVar()とか適当な関数を追加してグローバル変数へのポインタを取得してください

417 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 22:19:35.79 ID:zhYWy9+O.net]
GetProcAddressは関数だけじゃなくて、変数のアドレスも取得できる
(exportされていれば)

418 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 22:31:25.37 ID:AfFgGj2Z.net]
>>405
ありがとうございます。GetProcAddressでいけました。
それにしても、これは盲点でした。

419 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 18:36:08.65 ID:GSvBVZn8.net]
Cランタイムのmemcmpに対応するWin32APIってないのでしょうか?
上の方でWin32APIではCランタイムを使うな的なレスがありますが、何かしらのAPIに置き換え可能なのでしょうか?
それとも自作すべき?

420 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/13(金) 18:47:38.06 ID:Q4+gmma8.net]
>>364
自己解決しました。COMPOSITIONSTRING構造体のサイズ情報の不整合が原因でした。

421 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/05/13(金) 18:51:36.20 ID:Q4+gmma8.net]
>>407
Cランタイムの方が高性能で合理的。気にせず使いたまへ。

422 名前:デフォルトの名無しさん mailto:sage [2016/05/13(金) 18:54:16.38 ID:GSvBVZn8.net]
>>409
あろがとうございました。気にしないでおきます。

423 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 22:54:45.77 ID:vRpxoSsR.net]
Spinコントロールを使用している(Editコントロールに関連付けずUDN_DELTAPOS
を処理している)アプリで、マウスでは長押しすればUDN_DELTAPOSが連続して送られ、
さらに長押しでアクセラレーションが働く(増分が増える)のですが、(タブレット
の)パネルへの指での長押しでは、UDN_DELTAPOSが1回しか送られて来ません。

指での長押しでもマウスと同じように動作させるには、どうすれば良いでしょうか?



424 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 23:04:18.19 ID:E3fn5B/n.net]
高橋名人になる

425 名前:デフォルトの名無しさん mailto:sage [2016/05/16(月) 16:27:41.62 ID:IBGTyv6p.net]
タッチパネルには向いてない(非推奨と宣言されている)から諦めて他の部品を探す

426 名前:デフォルトの名無しさん mailto:sage [2016/05/16(月) 18:56:25.57 ID:P91hC5sf.net]
>>413
コメント、ありがとうございます。
最初はSliderコントロールで作っていたのですが、タッチでは非常に操作しづ
らいため(大きなボタンの)Spin

427 名前:に変えてみたのに前記のような次第です。

動きを見てみると・・・
マウスの場合はボタンを押したときにWM_LBUTTONDOWN・離した時にWM_LBUTTONUP
が来るのが、パネルだと押したときにWM_LBUTTONDOWNは来ず、離した時にDOWNと
UPが続けて来るようです。(レピートもアクセラレーションも働かないのは当然)

数値の範囲が広い(5〜5000等)ため、DropDownList等にはできず。

WM_TOUCHメッセージを受けてどうにかできないかトライ中。
[]
[ここ壊れてます]

428 名前:デフォルトの名無しさん mailto:sage [2016/05/16(月) 22:03:35.57 ID:89EWpk6s.net]
タッチするとスライダーが出るっていうのもあり

429 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 02:26:17.08 ID:x4vKVRRs.net]
ダブルクリックメッセージの後の、WM_LBUTTONUPが地味にうっとうしい
こんなの誤作動の元だろ・・・

430 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 02:32:42.88 ID:x4vKVRRs.net]
MS的にはダブルクリックしたままドラッグするような操作も想定していたのかもしれないが
そんなオペレーションが必要なアプリに出会ったことがない
ダブルクリック自体オプション的な扱いなんだから
ダブルクリックの後のWM_LBUTTONUPもオプションにしてほしかった
いちいちキャンセル処理するのが面倒

431 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 03:35:11.85 ID:CHotlqdd.net]
Firefox,Chrome,サクラエディタではダブルクリックのままのドラッグサポートしてるよ
単語単位選択のまま範囲が拡張される

432 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 03:42:10.00 ID:CHotlqdd.net]
というかメモ帳もVisual Studioでも同じだった
メモ帳は日本語だと1文字づつになるけど

433 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 09:09:35.53 ID:IdraLXZT.net]
>>417
ダブルクリック
→あ、ミスったからそのまま範囲外に持っていってからWM_LBUTTONUP
とかない?



434 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:01:41.03 ID:x4vKVRRs.net]
>>419
必須の動作ではないでしょ
その意味で
そんなぺレーションが必要なアプリに出会ったことがない

そもそも、普通のクリックの後とダブルクリックの後とで
BUTTONUPのメッセージが共通なのがいやらしい
普通のクリックとダブルクリックでは、アプリは別の動作をするのが普通なのだから
そのあとのBUTTONUPのメッセージも分けてほしかった
WM_LBUTTONDBLCLKDOWN→WM_LBUTTONDBLCLKUP
とかね

普通に考えて、LボタンとRボタンで、UPのメッセージはそれそれ別になってて
それぞれWM_LBUTTONUP、WM_RBUTTONUPでしょう?
これがどの場合でもWM_BUTTONUP一つに共通になってたら嫌でしょう
これと同じことだと思うんですけどねー 何でメッセージを共通にしたんだろうかね

別のメッセージを共通に扱うのは簡単だけど
共通のメッセージを別に扱うのは面倒

435 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:18:48.93 ID:BbHX4Eo2.net]
>>421
> これがどの場合でもWM_BUTTONUP一つに共通になってたら嫌でしょう
嫌とか言う以前に左右ボタンを同時押しされたら区別できないだろ
頭の構造がプログラマに向いてないんじゃね?

436 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:34:56.44 ID:Xj6YQxJ5.net]
>>421
何がしたいの?
そうだねすごいねって言って欲しいのか?
あ?ボケが

437 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:41:01.24 ID:x4vKVRRs.net]
ダブルクリックの後のUPのメッセージが
普通のクリックの時と別になっていたほうが良いと思いません?

438 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:47:25.72 ID:Xj6YQxJ5.net]
同意してくれないと暴れるよって付け加えろ
同意が欲しいだけのくせに否定されると嫌だからって
質問の体を取らせようとする女の腐ったような奴は見苦しいんだよ

439 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:52:30.88 ID:x4vKVRRs.net]
どうして同意してくれないんですか?

440 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:54:08.47 ID:x4vKVRRs.net]
逆に何か理由があって
ダブルクリックと普通のクリックの後のUPのメッセージが同じになってるんですかね
同じになっていたほうが便利なことって、ちょっと思い浮かばないんですけど

441 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 20:55:24.82 ID:6EggAem/.net]
>>424
思いません。
理由は述べません。
議論もしません。
ですが思いません。
こちらからは以上です。

442 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 22:37:23.51 ID:WWhEKyeV.net]
トリプルクリックとか4thクリックの実装が汚くて一々気にしたら負け
という結論を20年以上前に得たことを思い出した

443 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 09:04:44.12 ID:QP0+R2rv.net]
グローバル変数だろうが、ローカル変数だろうが、コンパイル時にそのアドレスは決定してますよね。実行することなく、その変数のアドレスを知りたいのですがどうすればしれますか?



444 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 09:40:20.34 ID:vJm9AXBO.net]
最適化で消えたりレジスタのみで処理されてるかもしれねーじゃん
出直せ

445 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 10:09:09.07 ID:6KAnMnB/.net]
>>430
リンカーにマップを出力させる

446 名前:デフォルトの名無しさん [2016/05/26(木) 13:38:43.82 ID:PPtVZd97.net]
>>430
ローカルは実行時まで決定しないんじゃね

447 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 13:50:59.72 ID:M2X0d2Pu.net]
>>430
グローバルと静的変数はコンパイル時に決まる
それはビルド時にシンボルマップファイルを生成させれば見られる

ローカルとヒープは実行時じゃないと無理
レジスタにのってる奴は実行時でも無理

448 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 14:07:29.18 ID:qDP8EFHX.net]
ローカルちゃん。メインスレッドのスタックそのものののアドレスはASLRでないなら固定じゃなかったっけ
関数呼び出しのツリーが固定ならアドレスは計算可能かと思ったけど
プログラムの引数とかallocaとか使うとアドレスずれるんだっけか?

449 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 15:03:48.00 ID:iU2f12RA.net]
お前は囀らなくていい

450 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 18:18:53.68 ID:YS/YHZQs.net]
シフトキーを押しながらダブルクリックとかあった

451 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 18:48:05.78 ID:ZS10B00B.net]
>>436
フリガナ付けてくれ

452 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:19:26.84 ID:Z+cHO4t2.net]
>>435
こんなのはどうなるの?
#include <stdio.h>
int a = 0;
void Func1(void) {
int b;
static int c;
printf("a:%p b:%p c:%p\n",&a,&b,&c);
if (++a<4) Func1();
else a = 0;
}
void Func2(void) {
int x;
printf("x:%p\n",&x);
Func1();
}
int main(void) {
Func1(); printf("\n");
Func1(); printf("\n");
Func2(); printf("\n");
return 0;
}

453 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:42:30.72 ID:tEodBnd+.net]
サエズ
囀 る



454 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:49:06.51 ID:e4t247TT.net]
何の価値も感じない問答だ
まともでない手段が出てくるときは9割9分9厘方針が間違ってるか
横着するつもりでドツボに嵌まる選択をしている

455 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 21:09:18.72 ID:kT3OAx5i.net]
Unicode形式:  お前は囀さえずらなくていい
青空文庫形式: お前は|囀《さえず》らなくていい

まともに表示できるブラウザがあるかは知らん

456 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:01:12.53 ID:2D2ULHTm.net]
vbs から Win32API を呼ぶ方法はありますか?
無い場合、OS にランタイム等をインストールせずに実行できる実行ファイルを作れて
API を呼べるお勧めの言語はありますか?

457 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:54:47.72 ID:dsq6ciRV.net]
c

458 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 07:09:12.05 ID:Q6hYp8jt.net]
vbs から Win32API を呼ぶ方法

でそのままググれ

459 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/06/04(土) 01:14:28.88 ID:9azu721e.net]
CPUが64-bitで、かつOSが32-bitである環境がアリエールとは驚きだ。

460 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/06/04(土) 01:19:03.37 ID:9azu721e.net]
こうした「ねじれ環境」では最新のInkscapeなどのプログラムが動かないことがあるらしい。

461 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:00:41.62 ID:n7k60ruZ.net]
>>446
普通にあるだろ 少し時代遅れなだけだ

462 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 11:20:52.39 ID:wpgdhQ4H.net]
>>446
Windows7の時代はそんなのが当たり前だったが。Windows8の時代でも普通にあった。
64bitのOSが標準になったのはここ数年だ。
OSが64bitになると32bitのドライバーは完全に使えなくなるし、搭載メモリーが4G以下だと
64bitにするメリットがあまりなかったからな。

463 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:12:51.41 ID:5CTJmFcd.net]
>>430
そんなアドレス取得して何をしたい?



464 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:31:26.44 ID:4pXfFBXo.net]
>>450
そこは本題ではない

465 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 14:16:02.61 ID:MNddmiLP.net]
初心者なんて手段と目的と発想がとっちらかってるから
本人が本題だと思ってることは本題ではない可能性のが高い
岡目八目

466 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 14:26:35.95 ID:wpgdhQ4H.net]
ゲームか何かのデータをオンラインで覗き見や改竄したかったんじゃないの。

467 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 15:06:46.74 ID:4pXfFBXo.net]
>>452
>>430の情報だけでは何をしたいかは関係無い

468 名前:デフォルトの名無しさん [2016/06/05(日) 15:14:10.27 ID:ALg55j00.net]
みんなひどいな、ちゃんと教えてやれよ。

>>430
>グローバル変数だろうが、ローカル変数だろうが、コンパイル時にそのアドレスは決定してますよね

いいえ。

469 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 16:18:47.98 ID:b0qHmmcL.net]
>>454
別解ができるできるかもしれないから本来の目的を聞いてんだろ
頭悪いんじゃねーの?

470 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 16:43:38.72 ID:4pXfFBXo.net]
>>456
実行することなくアドレス知った後に何をしたいか知っても
アドレス知らなければできないだろバカ?

471 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 17:05:53.27 ID:m3XTKDYl.net]
>>456
別解は訊かれてないからそれは余計なお世話
お節介おばさん

472 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 21:34:41.29 ID:iq7db8Ia.net]
>>455
「言語とか環境によるからそれだけでは答えられない」が正解だろ。
懐かしの *.com タイプの実行ファイルなら、アドレスが決まってると言えなくもない。
実行時にセグメントアドレスが変わるだけでプログラム内で意識すべきアドレスは変わらないからな。

473 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 21:46:16.77 ID:mNRbI/bE.net]
>>459
ローカル変数はスタック上にあるんだろう?具体的にアドレスを出すのは難しいんじゃないかな



474 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 22:26:30.18 ID:iq7db8Ia.net]
>>460
comタイプだと開始時の SP も確定できる。
だから main() のローカル変数のアドレスは確定できるという意味だったけど、
そこから呼び出される関数内のローカル変数のアドレスはそこに至るまでの
スタックの使用状態に依存するからそういう意味では確定ではないな。
関数ごとに確定したら再帰呼出できない。

475 名前:デフォルトの名無しさん [2016/06/06(月) 00:29:06.57 ID:KlmLRyc2.net]
だから、まとめると、
Q:決まってますね?
A:いいえ、決まってません
だろ。

476 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 01:10:07.28 ID:b3wiPZEu.net]
A.
決まってないことがほとんどだけど、条件によっては決まってる事もあります。
自分で SP を操作して決めることも場合によっては可能です。

かな。

477 名前:デフォルトの名無しさん [2016/06/06(月) 01:47:32.02 ID:KlmLRyc2.net]
>条件によっては

そういうのは「決まってない」って言うんだよ。
だって条件明示できないだろう?

478 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 03:02:28.37 ID:f8xfohh0.net]
ランダム化されたベースアドレス
とか
固定ベースアドレス
とか

479 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 08:18:46.91 ID:l5dDSXNJ.net]
エミュでベースアドレスが固定なのはどうやってんの?

480 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 08:32:20.01 ID:ltcrYsll.net]
エミュレータは所詮エミュレータ
完全に実物を再現することは出来ない
ベースアドレスが固定されているのであれば、ホストマシンの速度や容量の関係でゲストマシンのメモリマッピングの
エミュレーションを放棄して処理の簡素化を図っているだけ

481 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 20:24:45.16 ID:QosaUsgl.net]
宇宙開闢の瞬間からアドレスは決まっているかもな
それを知ることができるかは別だが

482 名前:デフォルトの名無しさん [2016/06/06(月) 21:29:21.12 ID:XWFkF7NO.net]
標準 Windows APIというサイトより

キーボードイベントはアプリケーションがそれを処理するよりも速い速度でタイプすることができます
しかし、基本的にキーボードイベントはアクティブなウィンドウに対して送られますが
キューのメッセージの途中で、アクティブなウィンドウが切りかえられた場合
その後のキーイベントは切り替わったウィンドウに送られるべきです


これの具体例がわかりません。キーボードを連打してウインドウがたくさん開いてる状態
なんてPC操作しててありますか?

483 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 21:33:07.14 ID:okPwaxJe.net]
あるよ
WM_LBUTTONDOWNでウィンドウを閉じたら
WM_LBUTTONUPは別のウィンドウに届く
怖いね



484 名前:デフォルトの名無しさん [2016/06/06(月) 22:30:16.23 ID:XWFkF7NO.net]
>>470
切り替わったウインドウに送られるってことですか???
それを防ぐための機能はあるんでしょうか?

485 名前:デフォルトの名無しさん [2016/06/06(月) 22:35:42.16 ID:XWFkF7NO.net]
防げるわけないか

486 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 23:20:33.76 ID:okPwaxJe.net]
一応そういう機能は用意されているよ
ただし、切り替わったことを検出する機能だが

DOWNとUPは必ず対で同じウィンドウに送られるとは限らないから
そのつもりで書かないと変なことになるよ
LBUTTONDOWNでフラグを立ててドラッグ処理してLBUTTONUPでフラグを戻すという
ありふれた処理ですらバグる可能性があるよ
マウスをキャプチャしていたとしても、途中でAlt+TABなどでウィンドウを切り替えたりしたら
勝手にキャプチャが解除されてLBUTTONUPは飛んでこないよ
キャプチャが解除されたことを検出してフラグを元に戻すなど、後処理をしないとダメ
怖いね

487 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 00:13:54.68 ID:41OqMrsx.net]
たまにWin10の起動処理で、マウスが張り付いて動かないことがあり、
再起動しているのだが、アプリがそういう事を想定していないからか

Windowsは恐ろしい

488 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 08:05:48.66 ID:GLc24ffb.net]
ウィンドウプロシージャで描画するときのはじめと終わりは
hdc = GetDC(hwnd);

ReleaseDC(hwnd , hdc);
のパターンもしくは
hdc = BeginPaint(hwnd , &ps);

EndPaint(hwnd , &ps);

だと思いますが、後者はデバイスコンテキストをデバイスコンテキストを
解放してないと思うんですがこれでいいんでしょうか?
後、文字やグラフィックの描画に関しては、絶対に後者のほうがいいそうですが
前者使う時は?

489 名前:デフォルトの名無しさん [2016/06/07(火) 08:06:51.30 ID:GLc24ffb.net]
すいません
×「デバイスコンテキストをデバイスコンテキストを」で
正しくは「デバイスコンテキストを」です。

490 名前:デフォルトの名無しさん [2016/06/07(火) 08:07:46.67 ID:GLc24ffb.net]
デバイスコンテキストを解放してないと描画機能に影響を及ぼすみたいな
事書いてありますし、後者で大丈夫ですか?

491 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 09:54:05.47 ID:L0Kpz/xt.net]
 PAINTSTRUCT構造体のメンバを見ればデバイスコンテキストハンドルがあるのがわかる。
実際のところBeginPaint()の戻り値は冗長。

492 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 09:56:09.48 ID:4sqWtxYj.net]
まったく変態APIだよな

493 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 10:01:23.12 ID:L0Kpz/xt.net]
それからGetDC()とBeginPaint()の使い分けは処理の内容じゃない。

BeginPaint()は無効領域に書き込みを開始する関数なので無効領域が発生したときに来る
WM_PAINTメッセージのときしか使わないし、無効領域の描画が完了したらそのことをEndPaint()
で知らせなければならない。何かの理由で(クラスのメンバとして保持するとか)HDCを持ちっぱなし
にするならGetDC()を使う。

逆にWM_PAINTが来てるときにGetDC()を使うと無効領域が無効領域のままなのでメッセージが
来続けることになる。自分でInvalidateRect()で無効領域を発生させまくってるなら大差ないけど



494 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 11:02:25.45 ID:L0Kpz/xt.net]
あぁそれからBeginPaint()は無効領域の外への描画は反映されないようになってるから
WM_PAINT以外で使っても無効領域がないので各種描画関数自体は成功するけど画面には
反映されない。

WM_PAINTを呼ぶのにSendMessage()じゃなくてInvalidateRect()を使うのも同じ理由。

495 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 11:17:37 ]
[ここ壊れてます]

496 名前:.48 ID:L0Kpz/xt.net mailto: ちょい訂正

WM_PAINTでGetDC()使うとWM_PAINTしか来なくなってタイマーメッセージとかのほかの
メッセージが一部機能しなくなる。今試して確認した。理由は上のとおり。
[]
[ここ壊れてます]

497 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 16:41:36.62 ID:DjDItv96.net]
>>478
ありがとうございます。
つまりpsというオブジェクトがデバイスコンテキストハンドルを開放する
メソッドなりがEndpaint中に実行されてるってことですね。

>>481
なるほど、BeginPaint()使っても描画されない時があるのはWM_PAINTとセット
じゃないからですね…なるほど

498 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 16:44:32.25 ID:DjDItv96.net]
ただ無効領域っていうのはプログラム開始時はどうなってるんですか?
LPTSTR lptStr = TEXT("Kitty on your lap");

switch(msg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_PAINT:
hdc = BeginPaint(hwnd , &ps);
TextOut(hdc , 10 , 10 , lptStr , lstrlen(lptStr));
EndPaint(hwnd , &ps);
return 0;
}

この場合だと文字が実行時に描かれていますが、プログラムの最初は
そもそも無効領域なんてないはずだからBeginPaintが反応しないはずだと思いますけど
実際文字列表示されますし。

499 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 16:53:42.50 ID:w2gqx7DJ.net]
>>484
UpdateWindow()

500 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 17:02:56.06 ID:RY15Skw4.net]
>プログラムの最初はそもそも無効領域なんてないはず

いやいや

501 名前:デフォルトの名無しさん [2016/06/07(火) 17:24:17.39 ID:DjDItv96.net]
あれ理解してないかな俺
無効領域ってのは一端描画されて、他のアプリで消された領域っていう
理解ですけど…

502 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 19:25:51.81 ID:NYG4EICE.net]
それは勝手なお前の思い込みだから知らない

503 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 21:36:26.14 ID:L0Kpz/xt.net]
>>486

無効領域は「描画の必要がある領域」だからそういう場合「にも」無効領域は発生する。

後はInvalidateRect()が無効領域を発生させる関数だし、CreateWindow()の後は画面全体が
無効領域になってるからその旨をUpdateWindow()で知らせてやることで1回目のWM_PAINTがよばれる。

>>484には書いてないけどCreateWindow()の後メッセージループに入る前に使ってるでしょ?



504 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 07:27:04.52 ID:ZY4F9/6a.net]
別に UpdateWindow() を呼んだりしないけどね

505 名前:デフォルトの名無しさん [2016/06/08(水) 10:25:31.59 ID:AssKLBZs.net]
>>489
>>無効領域は「描画の必要がある領域」だからそういう場合「にも」無効領域は発生する。
なるほどそうですよね。すいません僕がバカでこのような考えできませんでした。

506 名前:デフォルトの名無しさん [2016/06/08(水) 11:25:15.46 ID:AssKLBZs.net]
やっぱりわからないw
描画の必要がある領域っていうのは
プロシージャ呼ばれる前にはわからないんじゃ?
だってプロシージャ内でどう描くか記述してるんだから。
それなのに再描画必要っていってプログラム起動してしょっぱなに
WM_PAINTが発行されるのは何故なんですか?

507 名前:デフォルトの名無しさん [2016/06/08(水) 11:25:39.49 ID:AssKLBZs.net]
と思ってしまいます。

508 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 11:33:32.92 ID:WRRf0iRn.net]
(再)描画管理はOS(とウインドウマネージャ)の仕事
ウインドウが非表示から表示になったとか裏から表に出たとか
いろんなケースで
WM_PAINT が送られる

509 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 11:35:39.56 ID:WRRf0iRn.net]
"再"描画 とかリフレッシュとかいう言葉に勘違いするのはよくある罠かな
無効化というより未処理化というのがわかりやすい
描く内容が変わったから画面更新(の指示)するのはアプリケーションの仕事
ウインドウ全体もしくはその一部を塗り直し箇所としてマーキングする
そこから先は上の再描画と同じ流れ

510 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 11:36:07.17 ID:lMpdbKpY.net]
>プロシージャ呼ばれる前にはわからないんじゃ?
何故そう思ってしまうのかが逆に全然わからない
CreateWindow直後はウインドウ全体が「描画の必要がある領域」だっていうのはシステムは当然わかってるよ

511 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 11:44:43.23 ID:XFtKz/Go.net]
どう言ったら理解できるのかがもはやわからないんだけど
真っ白な紙を渡されたら、何も書かれてない、つまり無効領域だから
何か書かなければならないのは分かるよね
もはや何のたとえ話かも

512 名前:からないけど
普通の人はそんなところでつまずかないから相当気合い入れたほうが良い
[]
[ここ壊れてます]

513 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 16:07:34.37 ID:ZLPAH2q/.net]
>>492
簡単に言うとシステムがウィンドウの状態を見てる

そんで、被さってたウィンドウがどいたとか裏に隠れてたけど表に出てきたとか
最小化から元のサイズに戻ったとか最大化されたとかの時に無効になった(再描画が必要になった)として
WM_PAINTを送ってくれる



514 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 16:17:29.92 ID:ZLPAH2q/.net]
あ、プログラム起動してしょっぱなか

プログラムを起動してウィンドウが表示されるとクライアント領域の内容も
描画しないといけないということで、クライアント領域は無効な描画領域状態(描画が必要な状態)
なのでWM_PAINTを送ってくれる

515 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:07:11.76 ID:enLYes+t.net]
文字が切れて描画の必要があるときはWM_PAINTが呼ばれる事は理解しました。
ただプロシージャ自体は再描画する必要があるというイベントしか受け取って
ないわけですよね。実際TextOutで文字全体を表示しなければならないし。
では例えば具体的に今何ピクセルの情報が欠損してるかなど、
欠損してる位置などを記憶してるオブジェクトは何にあたるんでしょうか?
これはWM_PAINTが呼び出される時ではなく、切れた時点で発動するオブジェクトだと思うんですけど。

516 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:20:40.17 ID:dIu2vu4F.net]
ここまでの話で何度も出てるだろ…

517 名前:デフォルトの名無しさん [2016/06/09(木) 09:34:06.31 ID:enLYes+t.net]
BeginPaint(hwnd , &ps); ですか?

hwnd→単なるウインドウのハンドル
ps→PAINTSTRUCT ps;でプロシージャで定義してるからこれではない

518 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 10:01:48.91 ID:vUW3kMHA.net]
これまでの話で、デバイスコンテキストが無効領域を管理してるんだな

と、思いつかないのは、思考方法に欠陥がある。
BeginPaintをしっかり調べりゃ、
必ずしも文字全体を再描画する必要がないことだってわかるはずだ

519 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 10:08:05.78 ID:Sr66m38T.net]
PAINTSTRUCTのフィールド確認した?
BeginPaintを呼んだ後、何が格納されるか確認した?

520 名前:デフォルトの名無しさん [2016/06/09(木) 10:10:14.15 ID:enLYes+t.net]
いやいやデバイスコンテキストが無効領域を管理してるか
もしくは参照してるかはBeginPaint見ないと分からないですね。
参照していることを管理してると意味付けしたら別ですが。

521 名前:デフォルトの名無しさん [2016/06/09(木) 10:11:28.60 ID:enLYes+t.net]
>>504
怠っていました。
つまりTextOut(文字列)としなくても良いってことがわかったので
そんなコード書いてみますね。

522 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 10:23:16.19 ID:CDrC/h56.net]
PAINTSTRUCT構造体
https://msdn.microsoft.com/ja-jp/library/y11315ch.aspx

RECT rcPaint が 無効領域の情報を保持しているメンバ
デバイスコンテキスト経由でPAINTSTRUCT構造体を参照すれば
ps->rcPaint.leftが無効領域の左端のx座標、ps->rcPaint.topが同y座標(以下略
などで無効領域の位置が分かる

523 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 10:46:09.86 ID:EpB3wgru.net]
描画するハンドルなのにデバイスコンテキストとか糞みてぇなネーミング



524 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 10:57:53.63 ID:M6gePxQX.net]
ただ、デバイスコンテキストが無効領域を管理しているというのは、何か違うと思うけどね
強いていれば、ウィンドウを管理している何かが無効領域を管理している、と言えるかもしれない
我々の目で見える部分でいえば、HDCというよりは、HWNDが無効領域を覚えている
HWNDを指定してBeginPaintを呼び出すと、これが拾えることからも分かる通り

ただ、例の彼にとってはどうでもよいことだけどね
また良くわからないズレた書き込みをしているようだし

525 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 11:05:28.94 ID:CSH5zx3A.net]
>>508
本来はプリンタを意識した設計
プリンタに対する制御命令の羅列をなんとか抽象化して画面とそろえたもの

526 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 11:05:47.81 ID:PDv6puL4.net]
HWNDが覚えているというよりは
HWNDが色んな情報と関連付けられている

527 名前:デフォルトの名無しさん [2016/06/15(水) 21:39:02.30 ID:mjbwSP1S.net]
              【Win10】    こんな犯罪級OS薦めんなよwww   ↓   【スパイウェア】


この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c



【被爆大量死】   ペットを保健所で殺処分するように国民を殺戮する自民・東電・フクシマ応援テロリスト  【放射能犯罪】



りうなちゃんは去年の暮れ、脳腫瘍のために亡くなった。2歳を過ぎたころ「放射能があるから砂は触れない」「葉っぱは触っちゃだめ」
https://twitter.com/Tom oyaMorishita/status/648628684748816384

UFOや核エネルギーの放出を見ることはエーテル視力を持つ子供たちがどんどん生まれてくるにつれて次第に生じるでしょう。

マイト レーヤは原発の閉鎖を助言されます。
マイト レーヤによれば、放射能は自然界の要素を妨害し、飛行機など原子のパターンが妨害されると墜落します。
マイト レーヤの唇からますます厳しい警告と重みが発せられることを覚悟しなさい。彼はいかなる人間よりもその危険をよくご存じです。

福島県民は発電所が閉鎖されれば1年か2年で戻って来られるでしょう。
日本の福島では多くの子どもたちが癌をもたらす量の放射能を内部被ばくしています。健康上のリスクは福島に近づくほど、高まります。
日本の近海から採れた食料を食べることは、それほど安全ではありません。汚染されたかもしれない食料品は廃棄すべきです。
日本もさらに多くの原子力発電所を作ろうとしています。多くの人々が核の汚染の影響で死んでいるのに、彼らは幻想の中に生きています。
問題は、日本政府が、日本の原子力産業と連携して、日本の原子力産業を終わらせるおそれのあることを何も認めようとしないことです。

528 名前:デフォルトの名無しさん [2016/06/18(土) 06:33:38.33 ID:MIQvGXJh.net]
今このページをブラウザ(クローム)で開いていますが
このブラウザのウインドウ・ハンドルから
EnumChildWindowsして、お絵かき領域"wPaint-canvas"のハンドルを取得したいのですが
子ウインドウは「Chrome Legacy Window」の1つしか取得できず
その孫ウインドウは1つも取得できません
(試しに、Outlook Expressを調べると孫ウインドウまで色々と取得できます)
なんとかお絵かきキャンバスにアクセスできないものでしょうか

529 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 07:14:54.10 ID:3SzE3rgE.net]
例えばあなたが銀行のページを見ていて
横からそのページにアクセスできたらどうしますか?

530 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 10:45:35.39 ID:KIJwdLCd.net]
クロームが最下層まで全部自前で描画してたらウィンドウハンドル自体が無いと思われ

531 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 10:58:51.74 ID:KIJwdLCd.net]
特にクロームはフラッシュを内蔵しているからハンドル無くてもおかしくない

532 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:04:30.57 ID:AGMP56Qn.net]
canvasってHTMLのDOMじゃねーのか?

533 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:20:53.00 ID:z5tqSjVb.net]
DOMのclass属性とWNDCLASSの区別がついてなくて
canvasがChildWindowだと思ってて
canvasにwPaint-windowってclassを設定してるから
EnumChildWindowsで取れると思ってんのよ



534 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:22:41.72 ID:z5tqSjVb.net]
もちろん実態は最初の前提が間違ってるから「できるわけがない」

535 名前:デフォルトの名無しさん [2016/06/19(日) 12:50:07.45 ID:wWCYPJVS.net]
Windows8以降だとtimeBeginPeriodでタイマー精度を1msに設定しても電池持ちに悪影響は無いんでしょうか

Windows8以降はticklessカーネルだから悪影響は無いというような事が書いてある記事がありますが
どんなハードウェアとか状況でもそうなんですか?

536 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 14:02:51.46 ID:5KvSKdL/.net]
ryo021021.hatenablog.com/entry/2013/10/22/154551

537 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 14:07:33.03 ID:XJg+8VdY.net]
chrome 使うと負荷が増えるって昔聞いたことがあったっけ
そういうことかい

538 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 07:52:22.29 ID:ccfWO27l.net]
>>521
そのブログの人、Windows7ユーザーっぽいから質問者のWindows8以降の話の回答にはなってなさげね

539 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 08:36:55.24 ID:3NNTVW74.net]
俺のWindows7環境ではtimeBeginPeriodなんて呼ばなくてもSleepは1ms精度になってるんだが

540 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 08:56:33.89 ID:usQ28XEZ.net]
普通のWindowsはRTOSではないのでレスポンスタイムの保証はない
設定できることと 精度が保証されることとは別
Windows10IoT(旧WindowsEmbedded)がどうなっているかは知らないけど

541 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 10:21:10.16 ID:3NNTVW74.net]
保証されないのはあたりまえ
EmbeddedでもIoTでも一緒だよ
それとtimeBeginPeriodの話は関係ない

542 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 11:13:48.10 ID:3NSvhYkC.net]
timeBeginPeriodよりスレッド単位で優先度を指定するMMCSSでの設定の方が行儀が良いんでないっけ
どのみちスレッド切り替えの頻度を上げることには変わりはないのだから消費電力への影響はあるだろうけど

543 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 14:55:49.31 ID:78XmmaUt.net]
Windows7以降のOSだとDirect3D9使うよりDirect3D11とか使った方が同じ処理でも速くなる?



544 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 15:41:47.81 ID:/1RXmdBC.net]
そりゃドライバの出来にもよるし

545 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 15:41:48.38 ID:3NNTVW74.net]
>>527
スレッドのプライオリティを設定したいなら(よっぽどのことがなければお勧めしないが)SetThreadPriorityを使えばいい
MMCSSはそれをやってないマルチメディアアプリの救済機能だと理解してる

546 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 22:16:41.09 ID:ccfWO27l.net]
>>525
Windows10IoTはUWP前提だから、なおさら悪そう

547 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 12:04:43.28 ID:LE9F52CG.net]
D3D11 ってデバイスロストの面倒見なくて良くなったんだっけ

548 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 18:27:13.32 ID:fuc/q6yL.net]
GPUがTDR起こすとロストする

549 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 10:54:04.97 ID:awVn2K/F.net]
アプリ実行中にドライバを更新したりするとロストするらしいよ。
https://msdn.microsoft.com/en-us/library/windows/apps/mt228378.aspx

550 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 10:57:57.58 ID:YrvC//rF.net]
それは当たり前じゃね?

551 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 11:26:57.96 ID:FjipjPjg.net]
D3D9世代のOSだと別アプリが排他フルスクリーンになっただけでロストしてたからね
耐性はかなり高くなったけどロスト処理から完全に開放されたわけでもない
動作検証で任意にロスト起こしたいならデバマネからグラフィックドライバを無効すればよい

552 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 11:34:40.47 ID:332nxUAD.net]
smplayerでmp4再生したら見事にロストしてくれたはthx

553 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 15:32:26 ]
[ここ壊れてます]



554 名前:.59 ID:nR9q+WlS.net mailto: 昔使ってたSwitchable Graphics採用のノートでもロストするかも
バッテリー駆動になったらIntel GPUに切り替える設定になってると
ACアダプタ抜いた時に多分する

今使っているノートPCもGPU切り替え可能だが
これはNVIDIA Optimus採用でアプリ毎に切り替え可能だからロストしない

無限ループのあるシェーダーを実行させるとかでもロストするか?
[]
[ここ壊れてます]

555 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 01:49:15.06 ID:WrVlvgBr.net]
ちょっと前マイクロソフトの中の人らしい人が
twitterでロストしたら終了する事をお勧めするとか身も蓋もない事言ってた

556 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 08:54:31.13 ID:Ek0WLuSu.net]
windows7からウィンドウの上下ドラッグである程度大きくすると
自動的に縦サイズだけ最大化する機能があるんだけど
あれを禁止したり挙動変えるにはどうすればいいでしょうか?

557 名前:デフォルトの名無しさん [2016/06/28(火) 09:09:22.68 ID:pgmex0YM.net]
www.atmarkit.co.jp/ait/articles/0912/18/news112.html
Tech TIPS:
Windows 7でウィンドウのAeroスナップ機能を無効にする
Windows 7のAeroスナップ機能が有効な場合、ウィンドウのタイトル・バー部分を画面の端へドラッグするだけで最大化したり、左右に並べて整列させたりできる。コントロール・パネルで設定を変更すれば、この機能を無効にできる。

558 名前:デフォルトの名無しさん [2016/06/28(火) 09:39:27.20 ID:rabCRM7S.net]
このスレで聞いてるのだから、APIを教えろってことじゃないの?

559 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 10:24:01.46 ID:UehficRp.net]
レジストリ編集系のAPIを使えばほぼなんでもできるやろ

560 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 10:46:26.79 ID:4uPkxyfr.net]
>>539
T社を買収して完璧なAPIに再構築するまでもうしばらくお待ち下さい

561 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 13:41:44.15 ID:a3nSzCGl.net]
>>540
スナップインを無効

562 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/06/28(火) 20:05:49.71 ID:/EmS/Fyw.net]
Windowsの絵文字サポートはどこまで進んでいる?

563 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 21:33:53.66 ID:8HwZwHHy.net]
FirefoxがTrueTypeを自力でレンダリングしなきゃならないくらい



564 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 21:36:04.97 ID:jXofjD/x.net]
WindowsがUTFに移行すれば早いんだけど

565 名前:デフォルトの名無しさん [2016/06/29(水) 12:14:01.70 ID:xPFVh+mM.net]
その前に Windows が絶滅するかもな
Android ChromeOS の勝利

566 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 16:18:58.51 ID:zh/CO/83.net]
>>546
www39.atpages.jp/yagoinienie/851fontpage.html の851手書き雑フォントを使うのが今のところ一番の妥協策だと思う。
RobotoJやメイリオ-AARもいいが、絵文字以外の漢字も…となると両方とも851手書き雑フォントより少し劣る。
他のフォントは(Microsoft謹製のSegoe UI Symbolや貴殿が作ってくれた梅フォントPZを含めて)どれも更に劣るが…

567 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 19:59:57.53 ID:LWp+msui.net]
レジストリ内の指定位置から下の階層をまるまるバイト列などで取得したり、
逆に取り込んだりすることは、APIでできるのでしょうか。

コマンドプロンプトから

reg export HKCU\Software\...
reg import HKCU\Software\...

を実行したときと同じようなことを、自作アプリ内で行いたいのですが。

568 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 21:16:33.31 ID:lW/yxd55.net]
できると思うけど、管理者権限を与えないと無理かも

569 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 21:32:59.15 ID:lW/yxd55.net]
CString CRegistry::GetRegValueStr(HKEY hKey, CString SubKey, CString KeyName, CString DefaultString)

BOOL CRegistry::SetRegValueStr(HKEY hKey, CString SubKey, CString KeyName, DWORD DataType, CString strValue)

このへんは?

570 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:58:54.44 ID:h8+xihiz.net]
>>551
API 使ってちょっとコード書けばできると思うが
> レジストリ内の指定位置から下の階層をまるまるバイト列などで取得したり、
> 逆に取り込んだりする
専用の API があると思ってないだろうな?

571 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:32:15.05 ID:Z73kXcdz.net]
>>551
RegOpenKeyExとか使ってあとはぐるんぐるんと

572 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 08:30:09.10 ID:j22CMfak.net]
>>551
指定した所の値取得はできるから
ループ回して指定以下全て取得するようにしたらいいよ

573 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 08:37:05.63 ID:Mg1DKigT.net]
そんなAPIがあったとしても、値の返却方法考えたら、ループ回す方がはるかに簡単だな



574 名前:uy ◆e6.oHu1j.o [2016/06/30(木) 08:43:29.06 ID:U+B64GZ8.net]
質問です
PeekMessageとかSendMessageとか色々ありますけど
そのメッセージって一度に大量に来た場合ってアプリクラッシュしないんですか?

575 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 08:52:39.65 ID:Mg1DKigT.net]
クラッシュするように作られてるプログラムはクラッシュする
当たり前だ

一般的にはバグと呼ばれている

576 名前:uy ◆e6.oHu1j.o [2016/06/30(木) 10:59:59.38 ID:U+B64GZ8.net]
>>559
codepad.org/3VeN584c
転載元: wisdom soft

バグというか脆弱性って言うほうが近いけど
こういうウィンドウって
外部から落とせるのかな?っていう疑問

577 名前:uy ◆e6.oHu1j.o [2016/06/30(木) 11:38:44.52 ID:U+B64GZ8.net]
パソコンにC言語コンパイラが入っていなかった
諦める

578 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 11:41:51.57 ID:8IMpbPEW.net]
そのスレッドのメッセージキューがいっぱいになっても落ちたりはしない
プロセスキルはできる
昔はキューいっぱいになってWindowsごと止まったなあ・・・

579 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 12:17:00.45 ID:bSccWkK0.net]
もうその流れ秋田

580 名前:uy ◆e6.oHu1j.o [2016/06/30(木) 13:25:28.04 ID:U+B64GZ8.net]
>>562
じゃあ今は多分無理かな

>>563
他にWinAPIの利用方法を知らない

581 名前:デフォルトの名無しさん [2016/07/08(金) 00:03:57.41 ID:AI/Q8yEO.net]
壁紙とデスクトップアイコンの間のレイヤー?にTextOut()する方法を
教えてください。

582 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 03:42:35.31 ID:L4ZXDalo.net]
そんなものはありません
現在の壁紙に直接文字を描画するのが一般的です

583 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 10:09:12.30 ID:ERN9BCt7.net]
デスクトップに重ねて透明Window作れば?



584 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 11:14:09.94 ID:Os6EI0g/.net]
それじゃアイコンの上に描画するだろ

585 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 13:58:57.41 ID:WN2toBJM.net]
>>568
そんなことはないよ

586 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 15:41:34.80 ID:Z0zroLgC.net]
そんなことあるやろ?
どういう原理や?

587 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 16:54:42.46 ID:01+4ed2Z.net]
あのアイコンはリストビューのアイコン表示なんじゃないの?知らんけど

588 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 20:00:28.65 ID:gjq4uhFL.net]
>>567
それは X window の考え方

589 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/08(金) 20:10:00.63 ID:5bf5xqe9.net]
「最背面 Win32 API」でググれ

590 名前:564 [2016/07/09(土) 09:47:16.52 ID:xG4M4Iyi.net]
まだ自分にはレベルが高すぎる課題でした。
ありがとうございます。
解決には至りませんでした。

591 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 20:50:46.93 ID:J7L2i5Ph.net]
アルファチャンネルで抜けば良い。

592 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 23:48:47.81 ID:/zxXYSmb.net]
HTTPサーバーから特定ファイルをダウンロードする際、URLがリダイレクトされた場合を検出したいと思っています。
ブラウザで特定ファイルURIを指定して、意図したとおりにリダイレクトされる環境であることを確認した後、
実際に下記コードでステータスを取得してみましたが、どうしても200が返ってきてしまいます。

意図するステータスは302(ないしは303などリダイレクトを表すステータス)なのですが、何か不足しているか
手順が間違っているのでしょうか?

hInetFile = InternetOpenUrl(hInet, lpszUrl, NULL, 0, INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_DONT_CACHE, 0);
HttpQueryInfo(hInetFile, HTTP_QUERY_STATUS_CODE, szStatus, &dwBufSize, &dwIndex);

szStatusは"200"となってしまいます。
存在しないURIを指定すると"404"となります。(これは当然)

よろしくお願いします。

593 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 00:14:34.48 ID:/WdS7w57.net]
>>576
htmlかjavascriptでリダイレクトされてるんじゃないの?
通信内容確認した?



594 名前:575 mailto:sage [2016/07/11(月) 00:39:17.05 ID:mE5jKs6R.net]
>>577
すみません。情報が抜けていました。
とりあえず現在リダイレクトテストとして、自鯖apache2.xでmod_rewrite.soを有効にし、
テスト用URLに.htaccessを置いて中身は以下のような感じにし、リダイレクトされることを確認しました。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^対象ページのURL$ 移転後のURL [R=302,L]
</IfModule>

そもそもリダイレクト検出が必要となった理由が、ドメイン更新手続きを担当者が忘れた結果、
ドメインが一時凍結されてしまいました。

しかし、ブラウザ・プログラムシステム側ともに404エラーにはならずにDNS管理会社の
ドメイン一時停止中だよページ(?)にリダイレクト状況(?)になり、特定ファイルのダウンロードも
エラーにはならずにステータス200で返ってきてしまっていました。

結果、ファイルの中身は本来のものとは異なるデタラメなもので、システム側が誤作動を起こした。
ということがありまして、今回リダイレクト環境を用意した上でテストしてみたのですが、
ドメイン一時停止中に遭った現象を同じくステータス200が返ってきてしまっている現状です。

しかし、javascriptでリダイレクトされるとステータスが取れないとなると、誤作動対策としては
別の方法を考えなければいけないかもですね。
当面、内々の事情としてはドメイン更新を忘れなきゃOKな話でもありますし。

595 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 08:37:30.50 ID:BOCVQw3X.net]
試してないけど MSDN 見る限りは HttpSendRequest が要るんじゃね?

INTERNET_FLAG_NO_AUTO_RED IRECT
Meaning Does not automatically handle redirection in HttpSendRequest.

https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa385098(v=vs.85).aspx

596 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 16:01:04.43 ID:Ffg41DtV.net]
dnsならそもそもリダイレクトじゃなくてipで管理会社のサーバーにとばされただけじゃないの?
接続先のサーバーがいじれるならカスタムのhttpヘッダ付けるとかで判定した方が楽だと思う。

597 名前:575 mailto:sage [2016/07/11(月) 18:00:53.06 ID:yrWfG2oN.net]
>>579
現状で200や404が返ってきているので”これで正解”風味な感触を得ていましたが(実際ダメ

598 名前:でしたが)、
確かにHttpSendRequestを経ていけば結果が変わりそうですね。
テストしてみて、また報告します。

>>580
確かに単にIPで飛ばされているのも確かです。
ただ、URLの奥深い階層のあらゆるファイルも全て404にならず、意図しない内容のものがダウンロード
されてしまうので、リダイレクトもされているであろうと当たりを付けました。

HTTPカスタムヘッダーはいい案ですね。鯖側管理者と相談してみます。
[]
[ここ壊れてます]

599 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 18:15:46.95 ID:DHaYiQ8W.net]
リダイレクトされたかどうかじゃなくて
内容が意図してるものなのかどうかチェックすればいいんじゃないの?

600 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 19:19:09.82 ID:zdvynnCD.net]
>>578
サーバー側のmod_rewriteのリダイレクトは検出出来ないんじゃね?

601 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 19:20:56.59 ID:zdvynnCD.net]
>>578
サーバー側のmod_rewriteのリダイレクトは検出出来ないんじゃね?

602 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 22:11:30.20 ID:O0wDeDe6.net]
>>578
サーバー側のmod_rewriteのリダイレクトは検出出来ないと思う

603 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 08:10:05.82 ID:5gnI1m0l.net]
>>583-585 には
と言う意味なら正しい



604 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 08:57:46.63 ID:Fl43tCNC.net]
もう見てないと思うけど、
十数年前、矩形を短形と読んで恥をかいていた者です。
自分はもう落ち目なんですけど、このスレ・板に感謝しています。
ただの自己満足です。
名無しなのに回答してくる風土が好きです。貢献できなくて、すみません私はクズです。
以上。

605 名前:デフォルトの名無しさん [2016/07/13(水) 17:19:35.41 ID:Zm0ukFfg.net]
方形を包茎だと思ってたよ

606 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 17:30:36.22 ID:ZdYcti+1.net]
Tank Way

607 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 17:33:39.54 ID:ZZxmFYpS.net]
539 名前:デフォルトの名無しさん :04/12/12 19:44:43
BCCで簡単な画像編集アプリを作りたいんですが
一般的なキャンバスの仕組みが分かりません。
灰色の背景に白地のキャンバスエリアだとして、ただ白の短形を描画して
その上から線を引くとしたら白の短形を再描画した時消えるし
どう作ればいいのでしょうか?
保存する時はクライアントエリア上に直接描かれた絵を1ピクセルずつ色を
キャプチャして保存するような感じでいいのですか?
リンク探しても、それっぽい内容が見当たりません。
どなたか教えてください。

540 名前:デフォルトの名無しさん :04/12/12 19:48:16
たんけい選択

541 名前:デフォルトの名無しさん :04/12/12 19:54:55
短形

542 名前:デフォルトの名無しさん :04/12/12 19:56:10
たんけいコピー

608 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 18:22:49.47 ID:BO773i0L.net]
よく残ってんなw
リアルタイムでスレにいた気がするが、よく覚えてないぞ

609 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 21:26:17.48 ID:GD80JCcz.net]
543 名前:デフォルトの名無しさん :04/12/12 19:56:30
短茎
544 名前:デフォルトの名無しさん :04/12/12 19:58:37
マジワロタ
545 名前:デフォルトの名無しさん :04/12/12 20:00:36
ググったら結構見つかったよ、短形(w
546 名前:デフォルトの名無しさん :04/12/12 20:00:53
(・∀・)タンケイ!
549 名前:デフォルトの名無しさん :04/12/12 20:38:07
巨と豆の区別もつかないらしい
550 名前:デフォルトの名無しさん :04/12/12 20:41:40
ホントにたんけいだと思ってる奴は俺の周りにも
結構いる。仕方ないよ。
551 名前:デフォルトの名無しさん :04/12/12 20:46:15
巨乳と豆乳の区別はつくぞ。
552 名前:デフォルトの名無しさん :04/12/12 20:47:12
∩(・ω・ )∩ 短形 ばんじゃーい
553 名前:539 :04/12/12 20:55:30
あれ? 四角形って短形って言わんのか(;´Д`)
554 名前:デフォルトの名無しさん :04/12/12 21:00:57
市販のライブラリでも使っとけ。
で、四角形は矩形(くけい)だ。
555 名前:デフォルトの名無しさん :04/12/12 21:09:14
>554
>あれ? 四角形って短形って言わんのか(;´Д`)
どんまい。俺も最初読めなかったよ。
学校で習わないもんな。

610 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:01:14.12 ID:vlEGI8Zx.net]
短形
短小方形

611 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:20:15.18 ID:YDg44v1S.net]
レクトアングルんことを一時期レクチャーレクチャー言ってた自分w

612 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:26:31.71 ID:u6EoGlGx.net]
前方後円墳っていうけどあれみんな円い方が前だと認識してるよね

613 名前:デフォルトの名無しさん [2016/07/14(木) 12:59:34.36 ID:HNcr3c0L.net]
レクトアングルってのもあまり言わないけどな。



614 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:14:36.67 ID:nt3rPaXP.net]
カタカナにするとしたら普通は「レクタングル」だろ
「レクトアングル」とか言われたら、えっ?ってなっちゃう

615 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:18:32.68 ID:B29KeyPb.net]
いやカタカナの場合レクトアングルじゃね?
レクト + アングルなんだし
発音としてはトアを繋げるが決してタではない

616 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:23:49.03 ID:SkoSK+Cn.net]
それを言うならトアでもないよ

617 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:38:17.38 ID:B29KeyPb.net]
>>599ならどう表現する?カタカナでね

618 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:40:28.91 ID:QNDyLPqn.net]
>>595
丸い方を上にして鳥瞰すればあら不思議文字通りの前方後円墳

619 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:47:35.13 ID:nt3rPaXP.net]
>>598
google
「レクトアングル」約 70,800 件  もしかして: レクタングル
「レクタングル」約 3,770,000 件

620 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:50:58.28 ID:QNDyLPqn.net]
大和ハウチュ思い出したは

621 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:53:39.70 ID:B29KeyPb.net]
>>602
それは厳密に発音や表記を考えずに使ってる人が多いってだけだ
プログラム板での話にそんなものもってこられてもな

622 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 14:58:26.31 ID:B29KeyPb.net]
レクタングル
ttp://ejje.weblio.jp/content/%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%B3%E3%82%B0%E3%83%AB
無し

レクトアングル
ttp://ejje.weblio.jp/content/%E3%83%AC%E3%82%AF%E3%83%88%E3%82%A2%E3%83%B3%E3%82%B0%E3%83%AB
主な英訳 rectangle

623 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 15:35:04.38 ID:SkoSK+Cn.net]
>>600
トアよりタの方が近いよ
発音聞いてレクトアングルの方が近いと感じるなら耳が腐ってる
元の発音と離れていてもいい(そういう外来語は沢山あるし)という主張なら
それはそれで良いんじゃないの?



624 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 17:19:24.24 ID:B29KeyPb.net]
>>606
だから「発音としてはトアを繋げるが」って言っただろ?
今は表記の話をしてるんだから発音を持ち出すのは論外
脳が腐ってるとでも言えばいいのか

625 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 18:16:03.32 ID:SkoSK+Cn.net]
>>607
トの方が近いのは認めるわけね。耳が腐ってないようで何よりだ
トアを繋げる? 繋げて読んでもtaにはならんよ? カタカナの読み方を知らないのか? 母音を抜いて読むって意味か?
俺は日本語文書なら矩形と書くから正直どうでも良いのだが、
>>607は日本語文書でレクトアングルと書いてそれを読むときにどう発音するのか少し興味があるわ

626 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/07/14(木) 18:24:20.97 ID:MWHMm7Lx.net]
質問です。

無効なウィンドウの子ウィンドウへアクセスできるようにしたい
https://teratail.com/questions/41114

627 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 18:28:15.19 ID:B29KeyPb.net]
>>608
発端は発音の話でもないし発音の話するにしてもtaでもないんだが・・・
発音記号調べてみろ
トは実際にはtoじゃなくtの無声音、アはaじゃなく「ae」を1文字にしたような発音

can Iをキャナイと書かずにキャンアイと書くのと一緒

628 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 18:46:20.12 ID:NIa9yA68.net]
ワンナウトはワンアウト?

629 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 19:01:59.45 ID:QNDyLPqn.net]
ラインナップ
サインナップ
クレラップ

630 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/14(木) 19:40:30.77 ID:5AZo8uCy.net]
disabledなウィンドウで子ウィンドウをマウス操作をできるようにするには
どうしたらいいんだよーーー。IME完成のために是非ともだれか協力して下さいよ。

631 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 19:59:28.71 ID:4EAHdFnp.net]
汎用機->ぼんようき
改竄->かいチュウ

632 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 20:07:48.69 ID:xdDz/Zrt.net]
enableにすればいいだろ。
それで外見をdisabledな感じにしてやればいいだろ。

633 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/14(木) 20:10:29.52 ID:5AZo8uCy.net]
>>615
IMEのUIはWS_DISABLED | WS_POPUPスタイルじゃないといけないって、
IME開発の文書に書いてあるんだよー。



634 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/14(木) 20:16:18.16 ID:5AZo8uCy.net]
MSIMEは確かにWS_DISABLED | WS_POPUPが付いていた。
特殊なスタイルだから、子ウィンドウ操作を可能にするには、特殊な技術が必要みたい。

635 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/14(木) 20:33:23.84 ID:5AZo8uCy.net]
ATOKさん、僕にこっそり教えてくれないかなあ

636 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 20:38:10.27 ID:SkoSK+Cn.net]
>>610
カタカナは表音文字なのだから表記を問題にしたら発音が問題になるのは当たり前
カタカナのトの発音はtの無声音ではないしアの発音は発音記号のaeでもない
1語なのだから元の発音に近いレクタングルの方がしっくり来る人の方が多いのは>>602を見ても分かる

637 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 20:43:48.54 ID:B29KeyPb.net]
>>619
主語入れ替えてややこしくすんな
お前が「発音聞いて〜」って話しだしたんだろw
実際の発音ではトは母音まで発音しない
しっくり来てるって勘違いしてる人が多いのは>>605を見ても分かる

638 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 20:48:13.59 ID:4Ps/X1K6.net]
あ・す・ぺ

639 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 21:16:12.02 ID:SkoSK+Cn.net]
>>620
おまえが先にトアを繋げるがタではないとか発音の話を始めたのだが?

640 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 21:21:29.74 ID:B29KeyPb.net]
>>622
実際の発音に近づけるためにタを使ってるんだろうから説明したまでで
表記としてタを使うのはおかしいって指摘なんだが

641 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 21:32:17.14 ID:SkoSK+Cn.net]
>>623
うん、「決してタではない」ってのはrectangleのtaの部分は日本語のタの発音ではないから表記としてタを使うのはおかしいって意味だよね?
俺はその理屈だと日本語のトタを繋げたものの発音とも違うから表記としてトタを使うのはおかしいって理屈になっちまうのでは?
と言ってるだけなのだが
>>605の辞書表記あたりを掘り下げた方が説得力があると思うよ
何度も言うが俺はカタカナで書かないからどちらでもいい

642 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 21:36:07.21 ID:SkoSK+Cn.net]
トタじゃないトアだw

643 名前:575 mailto:sage [2016/07/14(木) 21:51:08.02 ID:DIavJ9e4.net]
あの後、自鯖がリモートで操作できなくなってたので遅くなりましたが、復旧したので続きです。
(ルーターが死んでいた)

結論から言うと、あれから特に何をした記憶はないのですが、何も修正しないままステータス"302"が
返ってくるようになりました。(´・ω・`)
誠にお騒がせしました。

>>579
テストしてみましたが、結果的にHttpSendRequestは使わなくても問題なかったようです。

>>582
ファイル・データの種別を埋め込んだり取り除いたりするのが手間なので、
そこまでする場合はカスタムヘッダーで対応しようと思います。

>>583-586
鯖知識がそう豊富ではないのでよく分かりませんが、結果的にはステータスが取れました。
鯖の設定方法なのかなんなの分かりませんが、たまたまかも知れませんしそもそも
DNS鯖が本当にリダイレクトしているたのかは分からないので、今回はとりあえず切り上げて
この辺にしておきます。

みなさんありがとうございました。



644 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 23:25:53.49 ID:oNKBkesI.net]
日本語ではシラブル(音節)とモーラ(拍)は一致しない場合がある
Rectangleを片仮名で扱うと
シラブルは レク-タン-グル
モーラは レクト-アングル

645 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 23:28:12.97 ID:3206dNVB.net]
鯖って呼ぶな。ハゲ。

646 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 00:47:48.70 ID:eggGPVMd.net]
ID:B29KeyPbはknowとかstructureをクノウとかストルクツレとか表記すんの?

647 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 00:58:01.91 ID:b9s190if.net]
Virusをウィルスって詠んでるのがいちばん気になる
ヴァイラスだろって

648 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 05:29:34.42 ID:QotUx/3n.net]
>>630
医学の本場ドイツ語読みか,片田舎の米国訛りかの違いというだけだ

649 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 06:00:42.34 ID:b9s190if.net]
いや、ドイツ語詠みはヴィールスでしょ?

650 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 07:09:41.56 ID:QVui+Lon.net]
ウイルス
ウィルス

651 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 08:43:40.33 ID:Rb/RCJew.net]
>>624
「トアを繋げる」って部分がうまく伝わっていないって事はわかったけど
どう言い換えればいいのかわからんからお手上げ
Rect の t無声音とAngle の A有声音を繋げるがいいのか
もういいけどw

>>629
なんでw
発音しない部分はカタカナでも表記する必要ないし
そう表記するならRectangleはレクタングレになってしまわないか?

>>630
zeroはどうなるんだろ

652 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 09:58:27.87 ID:usIPH4QF.net]
トビマストビマス

653 名前:デフォルトの名無しさん [2016/07/15(金) 12:54:00.11 ID:Eu6FxgWv.net]
レクトアングル
これ以外は俺が気に入らないから認めない(キリッ

って事だよね?
結局のところ。



654 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 13:05:07.34 ID:ru6AcSPK.net]
ルーター

655 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 14:17:59.85 ID:8P+uiz2j.net]
DLLがexeから利用されたときに
DLLファイルが置かれている場所のpathを
DLL内の関数自身で調べる方法はありますか?
GetModuleなんとかだとexeのpathになってしまうみたいで

656 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 14:23:09.69 ID:8P+uiz2j.net]
>>630
Windowsはどうみてもウィンドウズなのに
ほとんどの出版物ではウインドウズになってる不思議

657 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 14:25:09.57 ID:orjbVXED.net]
うぃんどぅず

658 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 14:29:37.06 ID:orjbVXED.net]
>>638
DLLにはDllMainがあり、そこでインスタンスハンドルを受け取るでしょ?
このハンドルをゲッツモデュールなんとかに渡せばいい。
試してないけど。

659 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 14:35:14.90 ID:8pBeZ5fQ.net]
char lpHoge[MAX_PATH];
GetModuleFilename(GetModuleHandle("dll名(フルパスを書かない&拡張子なし)"), lpHoge, sizeof(lpHoge));

660 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 11:22:44.34 ID:Tq5Mh+3Z.net]
>>618
IMEは全然知らないけどMozcはソース公開されているから見てみれば?

661 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/16(土) 15:54:44.86 ID:DpW5llC4.net]
>>618 >>643
別のアプローチで解決しました。

662 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 16:50:52.70 ID:nf9EfIu5.net]
>>644
どうやったの?

663 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/16(土) 17:01:30.11 ID:DpW5llC4.net]
>>645
IMEパッドをIMEに組み込まず、別プロセスにしました。
実装方法はソフトキーボードのサンプルを参考にしました。



664 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:10:46.10 ID:RtgpWl6x.net]
質問
Win32 APIに1:1の片方向で良いのでスレッドAからスレッドBに確実にデータを渡すしくみで軽量なやつって何か無い?
イメージとしてはITRONのメールボックスとかメッセージキューみたいなやつキボン
軽量さの比較対象としては、イベントとCRITICAL_SECTIONとstd::queue<T>を組み合わせた手製ロジックでデータ渡すのと同等の速度でおk

名前が似てるという意味ではMail slotというのがあったけどもメッセージの到達が保障されない。
パイプはプロセス間通信にも使えるということは何か重いイメージがある
スレッドをGUIスレッドにしてデータをウィンドウメッセージに乗せる手も考えられるが、遅そうなのはパイプと同じで
特に理由無く移植性の無い手段をとるのも嫌

665 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:21:22.75 ID:DWSurOc6.net]
メモリマップトファイル
軽量かどうかは知らない

666 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:29:01.11 ID:OO2CesJE.net]
いや意味わからないし
上の説明読んで、なんでそれになるの?
なんで?

667 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:31:10.32 ID:OO2CesJE.net]
俺が読んだ限りでは、同一プロセス内で他のスレッドにデータ渡すだけみたいだぞ
それも、キューのようなものがお望みと読み取れる
なんで???

668 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:42:12.52 ID:SSOeGMhs.net]
>>647
GUIにしなくてもメッセージ使えるぞ

669 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:46:33.31 ID:RtgpWl6x.net]
希望としてはメッセージキューみたいなやつなんですが、
「1:1の片方向で良いのでスレッドAからスレッドBに確実にデータを渡すしくみで」ときの
定番手段だったり
スゲーすっきり書けるとかチョー軽量であるとかいった圧倒的なアドバンテージがあるやり方なら
キューでなくてもおk

670 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:48:46.90 ID:SSOeGMhs.net]
そもそもWin32 APIと言ってながら移植性の無い手段をとるのも嫌ってどういうことだよ?

671 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:49:52.72 ID:RtgpWl6x.net]
いやスマン
「スレッドAからスレッドBに確実にデータを渡す」というのを
スレッドを極力待たせずに(軽量に)やるには
結局キューしか有り得ないのかorz

672 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 23:52:23.11 ID:wQIeqVrk.net]
data_seg

673 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 00:00:01.33 ID:7oHxM0p4.net]
定番は自分で書いたような手製ロジックなんじゃないか?
あとはSendMessageでWM_COPYDATA とかClipboardとかPostThreadMessage使うとか

だってさ、Win32 APIに軽量確実簡単なAPIがあるなら普通誰でも使うだろ?
でもそうではなく定番とも言える方法が別にあるってことは、
Win32 APIにはそういうものがないか、使い勝手が悪いとかってことだろ



674 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 02:07:44.74 ID:0GzfAsTo.net]
>>650
確実に渡したいと読んだからキュー形式を無視してそう書いただけ
何ならグローバル変数でも使っとけば()

675 名前:デフォルトの名無しさん [2016/07/18(月) 05:44:07.83 ID:GAeyefCK.net]
>>656
同一プロセスならヒープでも大丈夫だろ?
後はアドレスを渡すだけだから、WM_USERで充分な気が。

676 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 12:04:45.51 ID:DGcnITue.net]
>>657
いやそこじゃなくて、どうして「メモリマップトファイル」なの?
同一プロセスの他スレッドにデータ渡すだけなのに?
確実さと軽量さをとるなら、>>657も書いている通り
ヒープでも十分だし、君の書いているグローバル変数の配列でもよいだろう
どこからメモリマップトファイルが出てきたの?

677 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 12:15:54.77 ID:0GzfAsTo.net]
適当に思いつきで書いたものに必死に噛みつかれてもな
使えない訳でもなし

678 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 12:42:39.25 ID:zK0e5um3.net]
無責任過ぎワロタ
思いつきの適当な回答を教えんなよ

679 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 12:46:38.94 ID:DeXLreOM.net]
>>647
DLLで共有したらいかんのか

680 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 12:47:34.09 ID:DeXLreOM.net]
ああ >>655 で出てるな

681 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 12:50:40.83 ID:DeXLreOM.net]
>>661
いや擁護する訳じゃないが
メモリマップトゥファイルは誰でも真っ先に思いつく罠
それが重いか重くないか吟味するのは君の責任だ
思いついたことを書いて何が悪い

682 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 13:02:11.38 ID:5MTfu7xY.net]
分かりやすい自演だなぁ

683 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 13:05:40.41 ID:DeXLreOM.net]
>>648 は漏れじゃないよ
割とマジで



684 名前:デフォルトの名無しさん [2016/07/18(月) 13:10:52.35 ID:GAeyefCK.net]
>>664
お題がスレッド間通信なのに、プロセス間通信に使うための機能の使用を思いついたとして、
一瞬でも考えればそれは違うって分かるだろう?重いかどうかじゃない、お題に合ってないんだよ。

685 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 13:21:41.19 ID:0GzfAsTo.net]
割とマジで自演じゃないなw

一瞬で分かるなら、なおさら必死に噛みつく理由が分からん
メモリマップトファイルを使っちゃいけない呪いにかかった

686 名前:フか、親でもころされたのか []
[ここ壊れてます]

687 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 13:23:17.31 ID:rCzir4eP.net]
>>664
何で家の中で受け渡しするだけなのに郵便使うんだよ

688 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 13:38:42.97 ID:9GbCcHr5.net]
隣に居る人間に対してでも口頭ではなくメール使ったりするし。。。
メモリマップトファイルが適切かどうかは別として、グローバル変数だって
プロセス間スレッド間通信で使うためのものじゃなくても使える訳だから、
メモリマップトファイルを使っちゃいけないルールじみた言動は宗教じみてもいるね。

つか、グローバル変数だって絶対禁止教の人がいる訳で。

689 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 13:45:48.44 ID:rCzir4eP.net]
>>670
隣にいる人間に対してでもメールってのは後々読み返せるようにだから

690 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 14:04:51.83 ID:9GbCcHr5.net]
>>671
そこマジレス!?ジョークやシャレに軽く乗っかっただけのつもりだったのだが・・・
別に暑中見舞いでも不幸の手紙でも不倫密告でも送ってもよかろ?
目的や理由とその手段なんて、その人の自由だろって話なんだけどね。

691 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 14:18:12.67 ID:rCzir4eP.net]
>>672
使いたければ使えばいいが
人に勧めるのは違う

692 名前:デフォルトの名無しさん [2016/07/18(月) 14:26:50.11 ID:GAeyefCK.net]
>>670
使っちゃいけないなんて誰が言い出した?
的外れなものを持ち出してくるから、アホか、と言われてるだけなのに、
なんでそんなに必死に擁護するんだろう。

693 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 14:53:25.84 ID:0GzfAsTo.net]
なんか色々スマンが、俺は最初から最後まで一貫して勧めてるわけではないぞ?思いつきの押しつけなんてしてないぞ?
思いつきとか不適切だっ許せないっ(キリッ つーなら、これにいつまでも構って駄レス伸ばすのに荷担するなよ

え?叩きたいだけ?
なら仕方ない、どんどんやれ



694 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 16:24:53.06 ID:9GbCcHr5.net]
>>673
さすがにアレがお勧めされているとは読めなかったよ。
>>674
的外れかどうかの判断を含め、取捨選択は人の自由だよって話の本質は分かって貰えないのだろうか。
ぶっちゃけ、個人的にはグローバル変数を使うのは宗教上NGなので、それも的外れなんだよね。
宗教戦争したい?

695 名前:デフォルトの名無しさん [2016/07/18(月) 16:37:48.59 ID:GAeyefCK.net]
不適切な例を出すからバカにされただけなのに、
宗教戦争始めるとか、芯からバカなんだろうなorz

696 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 16:41:08.98 ID:9NIJsINm.net]
clipboard とか言ってる奴までいるのにメモリーマップトファイルに噛みついてる奴ってなんなんだろう...

697 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 17:37:38.75 ID:+UjiZUGj.net]
lock free queueを一発で回答出来ないボンクラ揃いだからしょうがない

698 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 20:07:57.95 ID:pMx2hk2n.net]
lock free queueって。。。
受け側はどうするんだよ?ビジーループでもさせる気か?

699 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 20:58:21.67 ID:RVsoZVBC.net]
お隣なのになぜメールか、というと送りっぱなしにしたいからなんじゃわ?
メールボックスとかメッセージキューとかはそのためのしくみやし…

一方、グローバル変数とか共有メモリとかヒープとかいうのは
データの置き場所のお勧めかもしれんが
その場所をどう管理するのかについて情報が無い、

700 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 21:26:03.86 ID:DGcnITue.net]
メールのたとえは、同一プロセスの他スレッドにデータを渡すのに
メモリマップトファイルを使うという、回りくどさの例えなんだけど

>その場所をどう管理するのかについて情報が無い、

その意味では、メモリーマップトファイルも同じで
キューのような仕組みはない

君の言い方で言えば、
(同一プロセスの他スレッドにデータを渡すのに)データの置き場所としてお勧めではないし
その場所をどう管理するかについて(キュー的な)情報も無い

だから謎なんだよ
仮に、メモリーマップトファイルがキューのような仕組みを持っていたとしたら
パフォーマンスのことは置いておいたとして、今回の案件の解決策として
選択肢に挙がるのもわかるんだよ
だけど、そんな仕組みはない

701 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 21:28:11.14 ID:8aWrqcHl.net]
なんか一

702 名前:l必死な奴がいるな割とマジで []
[ここ壊れてます]

703 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 21:47:02.19 ID:+UjiZUGj.net]
>>680
空だったら、スピンロックでもセマフォでも好きな方法で待てば良い



704 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 22:13:32.46 ID:8ajA/NS2.net]
言い負かされちゃったからIDころころしてまで
なんか一人必死な奴がいるな割とマジで

705 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 22:24:50.75 ID:AmMtLZjt.net]
分かるわ

706 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 22:26:35.28 ID:CLkpKdHA.net]
lock free queueはWin32APIじゃないし

707 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 22:42:43.29 ID:pMx2hk2n.net]
indowsメッセージ使わないんだったら、結局質問者自身が書いてる
>イベントとCRITICAL_SECTIONとstd::queue<T>を組み合わせた
が一番いいと思うよ
イベントやミューテックスはstd::なんとかを使うようにすればポータビリティ
も確保できるし

708 名前:デフォルトの名無しさん mailto:sage [2016/07/18(月) 23:42:13.68 ID:7oHxM0p4.net]
>>679
それはWin32 APIなんですか?

709 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 00:04:11.91 ID:HAy25S1i.net]
このスレはたとえ標準ライブラリで出来ることでも
あえてwin32apiの使用を勧めなきゃいけないのか…

710 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 00:20:14.62 ID:hDS08Rg2.net]
>>690
もとの質問者>>647が「Win32 APIに」と聞いているのに?

711 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 00:27:33.24 ID:bXwBBqWV.net]
にもかかわらずその質問内で「移植性の無い手段は嫌」とか書いちゃってるからそのツッコミはノーカウント

712 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 01:12:28.51 ID:VCiUgk/F.net]
質問が狂ってると全てが狂うってことで終了にしないか

713 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 01:21:12.76 ID:Y9D4yCz+.net]
移植性はwineとReactOSを考慮してるに違いない!



714 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 01:50:01.67 ID:LK/xSzTK.net]
メモリマップトファイルを親の敵として粘着するスレはここですか?

715 名前:デフォルトの名無しさん [2016/07/19(火) 02:35:45.78 ID:mO5KAczv.net]
>>695
もういいよ。しつこい奴だな。

716 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 08:10:41.83 ID:pfxIVr9e.net]
>>695
周回遅れダサすぎ

717 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 09:44:02.26 ID:CF9LWmZW.net]
恥ずかしいやつ

718 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 14:29:43.40 ID:fscdSyYa.net]
祖父母の敵め

719 名前:デフォルトの名無しさん mailto:sage [2016/07/19(火) 18:08:41.69 ID:opFqbMDR.net]
真の名の宿敵

720 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 19:39:03.26 ID:X6luDWDm.net]
今の僕になら本当の敵を倒せるかもしれないはずだ

721 名前:デフォルトの名無しさん [2016/07/21(木) 19:45:32.55 ID:zIfC/0DQ.net]
すみません、どなたかご存知でしたら教えて下さい。

HSPでリッチエディットコントロールを使用していて、
[CTRL]+[V]のキーイベントを捕まえたいのですが、
ENM_KEYEVENTS を EM_SETEVENTMASK で処理して、
WM_notify で EN_MSGFILTER をキャッチし、
MSGFILTER の msg メンバ に仮想キーコードが入っている事まで確認しました。

この時、[CTRL]キーが押されているかどうかは
どのように判断するのでしょうか?

よろしくお願いします。

722 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 20:00:09.42 ID:X6luDWDm.net]
普通にキーが押されたときのイベントを
WM_KEYDOWNとかWM_CHARとかWM_SYSKEYDOWNとかで
捕まえれば良い。

723 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/07/21(木) 20:16:33.27 ID:2kJQMeni.net]
GetAsyncKeyState(VK_CONTROL) < 0



724 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 20:17:01.59 ID:UZ6ROzEF.net]
>>702
GetAsyncKeyState

725 名前:デフォルトの名無しさん [2016/07/21(木) 20:42:52.77 ID:zIfC/0DQ.net]
>>703
>>704
>>705
ありがとうございます。不慣れなもので、
WM_KEYDOWN とかは理解できていないのですが、
GetAsyncKeyState という手がありましたね。

EN_MSGFILTER にこだわりすぎていたようです。

ありがとうございました。

726 名前:701 [2016/07/23(土) 00:50:48.55 ID:CpwLUyh1.net]
連続で聞いてばかりで申し訳ないのですが、

hspでプログラムしています。
タスクバー(リバーコントロール)の中にある
言語バーのハンドルを取りたいのですが、

lpClassName = "Shell_TrayWnd"
hTSKB = FindWindow ( lpClassName, 0 )
lpClassName = "ReBarWindow32"
hREBR = FindWindowEx ( hTSKB, NULL, lpClassName, NULL )
lpClassName = "CiceroUIWndFrame"
hIME = FindWindowEx ( hREBR, NULL, lpClassName, NULL )

と記述しているところ、最後の hIME だけゼロになります。
クラス名は間違いないはずなのですが、
何かアドバイスを頂けないでしょうか?

よろしくお願いします。

727 名前:701 [2016/07/23(土) 01:01:49.74 ID:CpwLUyh1.net]
書き忘れていました。

ちなみにOSはWindows7です。

728 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 11:33:28.94 ID:6lYjBmg5.net]
>>707
言語バーは特殊な取り方しないと取れなかったはず
言語バーとハンドルでググれば出てくると思う

729 名前:デフォルトの名無しさん [2016/07/23(土) 11:55:38.92 ID:+Jc7SqHC.net]
cn = 'CiceroUIWndFrame'
wn = 'TF_FloatingLangBar_WndTitle'
ctypes.windll.user32.FindWindowExA(0, 0, cn, 0)
ctypes.windll.user32.FindWindowExA(0, 0, cn, wn)
ctypes.windll.user32.FindWindowExA(0, 0, 0, wn)
ctypes.windll.user32.FindWindowA(cn, 0)
ctypes.windll.user32.FindWindowA(cn, wn)
ctypes.windll.user32.FindWindowA(0, wn)
どれでも取れるな

730 名前:706 [2016/07/23(土) 14:35:08.46 ID:CpwLUyh1.net]
取れない・・・。

でもありがとうございました。

731 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 14:37:37.61 ID:6lYjBmg5.net]
TF_FloatingLangBar_WndTitle はタスクバーの中にいるときは消える

732 名前:デフォルトの名無しさん mailto:sage [2016/07/23(土) 14:40:17.78 ID:6lYjBmg5.net]
https://msdn.microsoft.com/en-us/library/windows/desktop/ms629069%28v=vs.85%29.aspx

733 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 11:42:42.44 ID:gb9BDOha.net]
一方ロシアは、鉛筆を使った



734 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 12:09:19.84 ID:wdZTIji9.net]
>>711
割とマジでレスすると
FindWindowExW な関数に char * 渡してたり
FindWindowExA な関数に wchar_t * 渡してたり
すると取れない
実際に char * か wchar_t * かじゃなくて中身の文字列が

735 名前:710 [2016/07/25(月) 23:42:36.18 ID:1XHx40P1.net]
>>715
ありがとうございました。
ご助言の通りでした。お恥ずかしい。
初心者ですみませんでした。

736 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 11:41:35.07 ID:As2nHGxN.net]
>>707
このコードでどうやって >>715-716 みたいな状況が生まれたのか気になるところである

737 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 12:55:37.89 ID:88gPJO4Y.net]
>>717
× lpClassName = "Shell_TrayWnd"
○ lpClassName = L"Shell_TrayWnd"
って事じゃないの

FindWindowEx使うならTCHARだろとは思うが

738 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 15:24:12.33 ID:As2nHGxN.net]
>>718
>最後の hIME だけゼロになります。

ってことだから上の2つはなんで成功してるんだろ

739 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 16:01:28.49 ID:88gPJO4Y.net]
>>719
最小構成にしたのが>>707で実際のコードとは違うんじゃ?

740 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 16:22:18.83 ID:As2nHGxN.net]
ひとに物尋ねておいて再現しないコード貼るなってことだ罠

741 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 16:29:34.64 ID:88gPJO4Y.net]
そういう意味か
そうだな

742 名前:デフォルトの名無しさん [2016/07/26(火) 16:40:25.26 ID:SrQVLHqo.net]
自演が強く疑われますね

743 名前:デフォルトの名無しさん [2016/07/27(水) 04:24:40.28 ID:AcRDCNCg.net]
以下でつまっています。教えてください。

2つウインドウ作っておいて、
2つ目のウインドウの子ウインドウとしてリストボックスを作りました。

この2つ目のウインドウのリストボックスのどれが選択されているかによって、一つ目のウインドウの左クリックの動作を変えたいので、
リストのインデックスを得るために、1つ目のウインドウのプロシージャの case WM_LBUTTONDOWN:  の所に、

index=SendMessage(hWnd3,LB_GETCURSEL,NULL,NULL);


と書きましたが、リスト内の何を選択しても、indexになぜか値が入りません。
(たぶん初期値の0のまま?)
hWnd3は2つ目のウインドウ内にあるリルトボックスのハンドルです。
コンパイルエラーは無いです。

何かやり方が間違っているのでしょうか?
それっぽいワードでググってもよくわかりませんでした。
お願いします。

 



744 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 06:59:54.52 ID:uZQmv6/V.net]
>>724
sendmessageでいいのか?

745 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 07:09:55.44 ID:8bp4Q/I5.net]
>>724
hWnd3 はリストボックスを指しているかな?
親なら、GetDlgItem で取得するべし

746 名前:723 [2016/07/27(水) 09:02:22.97 ID:AcRDCNCg.net]
勘違いに気づきました!
本当にごめんなさい・・・

LB_GETCURSEL と CB_GETCURSEL を勘違いしていました。
自分が作っていたのはリストではなくコンボボックスでした。

お騒がせしました。

>>725
sendmessageは合ってました。

>>726
そんな方法もあるんですね。
それでやってもたしかに動きました。
勉強になりました。

747 名前:デフォルトの名無しさん mailto:sage [2016/07/27(水) 15:00:16.07 ID:nl1cCFz0.net]
>自分が作っていたのはリストではなくコンボボックスでした。

病院池

748 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 06:23:06.44 ID:17Ger5zU.net]
>>706
WM_KEYDOWN の処理とかで使うなら Async無しの GetKeyState の方が玄人感が出ていいぞ。
違いは今のキーボードの状態を返すか(Asyncあり)、イベントメッセージが生成された時の状態を返すか(Async無し)。

ソースはms
An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated.

749 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 19:08:46.10 ID:O8Vfrh0P.net]
相対論的手法での時間差の検出ですねわかります

750 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 20:36:50.94 ID:svsTqv0A.net]
Ctrl+マウスボタンとかの同時押しが妙に反応悪くて
心持ちグッとしっかり押さないと誤爆する
こういうアプリはたいていGetKsyState使うべきところでAsync使ってる

751 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 06:12:19.39 ID:OSfj7rnr.net]
質問ですが、
Win32 APIがスレッドセーフかそうでないかって何見ればわかりますか

例えば、同一のPTP_TIMERオブジェクトに対して
複数スレッドからSetThreadpoolTimer()を呼ぶのは安全なのか
どうなのか、とか
(PTP_TIMERオブジェクトをスレッドごとに持たせれば気にしなくて良い問題でつが

752 名前:デフォルトの名無しさん [2016/07/30(土) 08:35:21.11 ID:/DtHQMWG.net]
同一の資源を別スレッドからアクセスして大丈夫なんてケースあるの?

753 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 08:52:51.28 ID:9HEOOrL7.net]
そのAPIのリファレンスに特別に書かれているもの以外は
基本全部スレッドセーフじゃなかったかな



754 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 09:14:23.59 ID:RbMYjVy2.net]
>>732
スレッドセーフと言う用語を誤解してると思うが、Win32 APIは全部スレッドセーフ
但し、CreateWindowしたスレッドでなければGetMessage出来ない、と言ったように制限のあるリソースもある

755 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 09:21:37.15 ID:M4L+hnKH.net]
>>733
例えば CRITICAL_SECTION は大丈夫でないと意味ないだろ

756 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 19:35:42.57 ID:qgpylzNJ.net]
>>735
どえらい勘違い野郎だなwww

757 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 19:41:09.46 ID:+Mfyjjwe.net]
どの変が勘違いか指摘できないと無意味

758 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 07:11:12.23 ID:ZUhN/k0j.net]
あれに分かるように指摘するのは壮大すぎて難しいし、他の人は分かってるから指摘する必要がない

759 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 07:54:22.07 ID:bxVY0FqG.net]
2日間必死で検索したけど、見つからなかったんだね。

760 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 08:09:40.24 ID:ZUhN/k0j.net]
いや俺は他人だが
comっぽい実装を持つapiは自前でCoMarshalなんちゃらかんちゃしてあげるか、
排他して用いる

761 名前:謔、に気をつけるかしないとならないじゃん。shell関連とかね。 []
[ここ壊れてます]

762 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 08:19:17.96 ID:rR9gK78k.net]
他人ならそんな必死になることも無い
むしろ他人に説明できて初めて理解できていると言える

763 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 08:40:04.34 ID:uRXdR+1Y.net]
>>741
API がスレッドセーフかどうかと
その API が使うリソースを排他制御しないといけないかどうかは別の話



764 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 09:05:44.58 ID:ZUhN/k0j.net]
リソースの話ではない。
メソッド呼び出しを同期化するための手段。

>>742
必死になってるわけではなくて「Win32は全てスレッドセーフ」はあまりにも乱暴だからついて。

765 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 12:55:43.69 ID:+SXwg/r8.net]
>>744
>>741 はどう見てもリソースの話だが?

> 「Win32は全てスレッドセーフ」はあまりにも乱暴だから
ならスレッドセーフでない API を示せばすむ話

766 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 13:47:23.41 ID:lahy9Ajd.net]
ここなら分かる人がいると思うので質問させて頂きたいのですが、
例えば
WinApp1.exe
WinApp2.exe
の二つのWindows上のアプリがあり、WinApp1.exeのウインドウを
WinApp2.exeのウインドウに埋め込む事は可能ですか?
要するにhtmlのiframeで他のページを埋め込む感じです。
ただしソースコードがあるのはWinApp2.exeのみです。1のほうはバイナリのみ
です。

767 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 13:56:59.55 ID:TMg9tIFo.net]
・App1のウィンドウスタイルを変更し、タイトルバーなどを除去する。
・App1のウィンドウハンドルを取得し、App2上にSetWindowPosを使って張り付かせ続ける。

App1側にタイトルバーを表示したり、それを考慮したウィンドウサイズやクライアントサイズを
使って何か描画したり、ウィンドウ位置やサイズを変更するような機構がないなら、比較的すんなり実現できそうな気はする。

768 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 14:25:13.31 ID:U+4K15gc.net]
>>746
昔SetParentを使ってやったことあるけど
親になる側のソースしかない場合は???だね
>>747のようなやり方しかないかも

769 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 15:52:53.92 ID:lahy9Ajd.net]
>>761>>762
ありがとうございました。
とても参考になりました。
やはりWin32スレの人はレベルが高いですね。
またよろしくお願いします。

770 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 16:30:19.20 ID:JXVULl1x.net]
クライアントのHDC取得して
そっから逐次BMPまるごと転送してくればいい

771 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 16:34:37.67 ID:3q+qs35i.net]
マルウェアか? マルウェアだな?

772 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 18:28:24.75 ID:rR9gK78k.net]
>>750
それはApp1のコントロールアクセスを工夫しないとな

773 名前:デフォルトの名無しさん [2016/08/01(月) 18:52:10.28 ID:JXVULl1x.net]
位置だけシフトしたマウスメッセージ送るだけじゃだめなん?
どうせ >>747 でもキーボードショートカットとかダメそうやし



774 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 21:29:20.71 ID:YSAWLf5L.net]
ウインドウをまとめてタブ化するアプリがこんなことしてた気がする

775 名前:デフォルトの名無しさん [2016/08/01(月) 22:00:15.22 ID:3lZxdv2C.net]
>>745
素直に教えてくださいって言えよw

776 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 22:27:18.04 ID:G87zOVs3.net]
>>755
言えないなら無理しなくていいぞ w

777 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 00:17:55.32 ID:JwW5OeU6.net]
https://msdn.microsoft.com/en-us/library/windows/desktop/ms679314(v=vs.85).aspx
dbghelpとかだな

778 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 07:23:52.61 ID:FJZ4hdRz.net]
>>757
なるほど、あるもんなんだな

779 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 08:49:44.46 ID:qrxCcvlk.net]
>>741
それは自分のコードが作成し管理してるオブジェクトを、作成スレッド以外に触らせるためのAPI
理解せずにおまじないのごとく使ってたんだろうな
あわれな底辺

780 名前:uy ◆e6.oHu1j.o [2016/08/07(日) 09:45:06.38 ID:PWyfS198.net]
WinAPIの

781 名前:知識量で底辺どうの言ってる奴までいるとか大丈夫かよ
ロートルなもの使わざるを得ない時点で負けてんのに
[]
[ここ壊れてます]

782 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 10:13:14.64 ID:bbyjljOW.net]
底辺なんて表現が日常的に出てくる職場って、かわいそう

783 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 10:27:49.88 ID:zBYc/KkC.net]
数学教師激怒



784 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 13:05:30.15 ID:sg2m+nAp.net]
それを言うなら算数教諭だろうな

785 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 08:38:11.99 ID:7b7VJDdn.net]
江戸っ子激怒

786 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 14:34:00.24 ID:n5pitoha.net]
質問です
DirectXとかOpenGLとかのライブラリって
いちいちステートマシンの状態セットみたいなのがずらずら並ぶんですが
ハードウェアにレジスタセットするみたいなドライバばかりなんですか?

787 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:58:47.64 ID:GFJow9Sf.net]
一昔前に流行った
オブジェクト指向というやつです

788 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 19:36:30.32 ID:IsHQZY3F.net]
GPU にプログラム的な指示して後はお任せ という方向にばかり進化してるから

789 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 11:56:33.25 ID:v2n9djjr.net]
object指向じゃなくてvertex指向だな

790 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 03:26:23.22 ID:MmvWSAs3.net]
>>766
今時のナウなヤングはどんな感じなの?

791 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 17:49:29.23 ID:j6bpKiBS.net]
VRAMに直接書き込み

792 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 22:57:42.57 ID:wycrF0RU.net]
win8.1/win10で動作するもので、管理者権限で実行を必要とするものを
(Windowsのサービスを停止、再開)を作りたいのですが、うまく動きません。
sc.exeとnet.exeを呼び出して、
SellExecuteExでコマンドを送っているのですが、うごく動いていません。

環境はvs2015です。ビルドオプションかなにかが必要でしょうか?

SHELLEXECUTEINFO info;
memset(&info, 0, sizeof(info));
info.cbSize = sizeof(info);
info.lpVerb = L"open";info.lpFile = L"net.exe";
info.lpParameters = L"stop 停止させたいサービス名";
info.nShow = SW_SHOWNORMAL;
info.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(&info);
WaitForSingleObject(info.hProcess, INFINITE);
info.lpFile = L"sc.exe";
info.lpParameters = L"config 停止させたいサービス名 start = disabled";

バッチファイル形式で管理者権限を設定して実行すればうまく動くのですが、
呼び出すAPIが間違っているのでしょうか?
こっちだとうまく動きます。
停止.bat
net stop サービス名
sc config サービス名 start= disabled

ご教授お願いします。

793 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 23:01:49.24 ID:iamh6a7h.net]
info.lpVerb = L゙runas゙ ;



794 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 23:16:47.36 ID:wycrF0RU.net]
>>772
回答ありがとうございます。
ビルドして試しましたが、実機では、サービスが停止していないようでした。
コンソール画面では停止したとは出ていました。

外部呼出しでうまくいけばよかったのですが、これからOpenSCManagerあたり調べてみます。
UAC周りで悪さしているのかなぁ。

795 名前:デフォルトの名無しさん [2016/08/16(火) 00:48:14.20 ID:Zc5ax7h8.net]
ShellExecuteExでファイルのプロパティダイアログを出すのですが
今どきの広いモニタですと、呼び出したウインドウの上に重なるような位置に表示してくれないと面倒です
引数として親ウインドウのハンドルを渡しているので、
そのくらいやってくれそうな気がするのですが
SHELLEXECUTEINFOに設定できるパラメータを見渡しても、それらしいものは無いよ

796 名前:うなので
自前でダイアログを動かそうかと考えていますが
本当にShellExecuteExの機能として、プロパティダイアログを親ウインドウの上に出すことはできないのでしょうか?
[]
[ここ壊れてます]

797 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 09:55:10.07 ID:lvyZIFRY.net]
Window の機能じゃなくて Shell の機能だからそういう細かいのは無い

798 名前:デフォルトの名無しさん [2016/08/16(火) 11:24:39.96 ID:Zc5ax7h8.net]
そうですか
ありがとうございました!

799 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 13:01:13.59 ID:HVWLzPcg.net]
プロセスハンドルからプロセスIDを取得するのってどうやるん?
ハンドル得る時に使ったidを覚えておくしかない?

800 名前:デフォルトの名無しさん [2016/08/25(木) 13:12:40.83 ID:EwnmxDlV.net]
ハンドルからIDならGetProcessIdが使えるだろ?

801 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 15:14:16.99 ID:HVWLzPcg.net]
OpenProcess関連ばっかり調べてたごめんありがとう

802 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 18:06:09.51 ID:zb9cEIRR.net]
C++初心者スレから紹介されてやってきました。
よろしくお願いします。

その再掲です。

1つのフォームウィンドウをメインフォームとし、
他のフォームはWndParentをそのメインフォームとして子フォームを作成するアプリを作っています。

いま、メインフォームを含めた全フォームをEnableWindowでDisableにし、
新しい子フォームを1つだけ表示させます。要するにモーダルなフォームです。

この状態でアプリケーションを非アクティブにします。
そして、メインフォームをクリックします。
すると、WM_ACTIVATEAPPが送られ、モーダルな子フォームがアクティブになります。
ここまではいいのですが

アプリケーションが非アクティブで、Enableでない別の子フォームをクリックしても
WM_ACTIVATEAPPや、WM_WINDOWPOSCHANGINGが送られてこず
まったくアクティブになりません。Spy++で見たところ、WM_SERCURSORしか
送られてきてませんでした。子フォームのクリックではメインフォームにも何も届きません。

どうやったらDisableされた子フォームをクリックするとアプリケーションが
アクティブになるようになるのでしょうか。

よろしくお願いします。

803 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 18:26:20.41 ID:sMQdCbqN.net]
クリックしても反応しなくなるようにするためのEnableWindowなのよモルダー
フォームそのものはクリックに反応して欲しければ、フォームにEnableWindowを
使わず、フォーム内の操作して欲しくないコントロールをEnableWindowするか
他の工夫をする必要があるわね



804 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 18:33:18.40 ID:zb9cEIRR.net]
そうですか・・・

でも、これでちゃんとアクティブにできるプログラムもあるんです。

エンバカデロのC++ BuilderやDelphiです。
やつらはサイズ0のTApplicationの見えないウィンドウを親ウィンドウとして
同様のコードでちゃんと動作します。

実はソースコードを他の人と共有する必要があって
Delphiじゃまずいかなと、VC++にまるごと移植したんです。

そのときにTApplicationだと、最小化したときにタスクバーにいれられないため
Hideする仕様になってたのがちょっといやで、
メインフォームを本当のメインフォームにするようにしたんですが、
それが原因か、それとも少し省略したせいか、細かいところで挙動が違います。

TApplicationはRestoreTopMostsとかいう関数で常にトップにあったから
そのへんかなと思うのですが・・・・
まあ仕方ないのかなぁ。

805 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 19:30:24.87 ID:NKz4PvZo.net]
>それが原因か、それとも少し省略したせいか、細かいところで挙動が違います。

そりゃかわるわな

806 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 19:40:13.25 ID:553LWAbc.net]
>>782
それは同様のコードでちゃんと動作するとは言わんだろ
VC++でもダミーウインドウを作成するか
EnableWindowで無効にするのではなくて
専用のウインドウプロシージャ(特定の動作しか受け付けない)を作ってそれに切り替える仕様にするとか

807 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 20:10:51.60 ID:zb9cEIRR.net]
突っ込むのはそこ!?

そうじゃなくて、同じようにEnableWindowでDisableしても
なにかしらの方法でアクティブにできるプログラムもあるよっていいたかったんだ。
私がもっと詳しくて、TApplicationの挙動をわかってれば
不具合部分を実装しなおすんだけど、いまいち何をやってるのかわからなくて
直しようがない・・・てのが本当のところです。

なにせ、ダミーウィンドウを作ったところで、どうやったらそいつからウィンドウを
アクティブにできるかわからないので。。。
最悪、メインフォームからも(子フォームになるから)アクティブにできなくなるかもしれない。
TApplicationのWndProcを見ても、DisableされたWindowにWM_WINDOWPOSCHANGINGとWM_ACTIVATEAPPをポストしてる部分がわからない。さっぱりです。

808 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 20:11:19.06 ID:HNdG8txv.net]
WM_SERCURSORが送られて来るんなら
そのメッセージハンドルする時に
EnableWindowすればいいんでは?
マウスのボタンの状態を取得して押されている時は
クリックしたとか判断するフラグ立てて。

809 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 20:26:10.03 ID:zb9cEIRR.net]
やっぱそうだよね。WM_SETCURSORが
WM_LBUTTONDOWNとかもパラメータに持ってるみたいなんで
そこでWM_ACTIVATEAPPを現在のモーダルウィンドウに送ってやるのがいいかと思いました。動くかわからないけど。

TCustomFormのShowModalでは
WindowList := DisableTaskWindows(0);
全ウィンドウを無効化。TApplicationウィンドウを含めて。
で Show;
だから、DelphiのVCLのやり方はやっぱりわからない。
とりあえずWM_SETCURSORで、WM_LBUTTONDOWNみたいなのがきたら
自身がDisableされてたらモーダルウィンドウにポストする、でやってみます。

810 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 20:31:57.49 ID:sMQdCbqN.net]
TApplicationやTCustomFormの実装がどうなってるのか知らないけど、
EnableWindowするとそのウィンドウは操作不能になるのはWin32APIの仕様。
そこんとこUI的に不細工だから、TApplicationとかでは何らかの工夫をしてるんじゃないかしら?

811 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 20:33:41.85 ID:zb9cEIRR.net]
そうだね、きっとうまいことやってるんだと思う。

とりあえず、この方法でアクティブにならなければ、
最悪アクティブなスレッドにアタッチして無理やり入力フォーカスを奪うという
手段も用意されている(この前知った)のでこれでいきます。

812 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 22:35:39.79 ID:zb9cEIRR.net]
WM_SETCURSORで無事うまくいきました。

ありがとうございました。

813 名前:デフォルトの名無しさん mailto:sage [2016/08/29(月) 22:48:55.90 ID:zcllQv4V.net]
EnableWindowしてもリターンキーやエスケープキー押すときいてしまう不思議



814 名前:デフォルトの名無しさん [2016/08/30(火) 11:13:59.38 ID:wDZo+k9K.net]
thread の一時停止ってどうやるん?

815 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/08/30(火) 12:23:52.68 ID:38hwA1kK.net]
>>792
SuspendThread

816 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 14:53:56.50 ID:XkAkY/BL.net]
SuperHawkIII

817 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 15:10:19.20 ID:8eGP8u09.net]
スローなブギにしてくれ

818 名前:デフォルトの名無しさん mailto:sage [2016/08/30(火) 23:43:32.45 ID:Un8GLDK5.net]
遠い地平線が消えて、 ふかぶかとした夜の闇に心を休める時、
はるか雲海の上を音もなく流れ去る気流は、 たゆみない宇宙の営みを告げています。
満天の星をいただく、はてしない光の海を ゆたかに流れゆく風に心を開けば、
きらめく星座の物語も聞こえてくる、 夜の静寂の、なんと饒舌なことでしょうか。
光と影の境に消えていったはるかな地平線も 瞼に浮かんでまいります。
日本航空があなたにお送りする音楽の定期便 ジェットストリーム
皆様の夜間飛行のお供をするパイロットは私、城達也です

819 名前:デフォルトの名無しさん mailto:age [2016/08/31(水) 01:28:30.78 ID:5rt51UxE.net]
>>793
みんなー、世界初!!「体液取引所」ができたお [転載禁止]c2ch.net
hayabusa3.2ch.net/test/read.cgi/news4viptasu/1430115959/

1 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:25:59.04 ID:VhXmVBOx0
「体液取引所」
katahiromz.esy.es/taieki/

試してみてね。。。ご感

820 名前:想などよろしく。。。

3 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:28:32.37 ID:VhXmVBOx0
男汁、女汁、唾液、おしっこなどの体液を取引できるサイトが
できたんだよーーー。
利用者登録すれば使える。使ってみてね。。。

13 :テューンタン ◆msxA1lIh7Ei2 @転載は禁止:2015/04/27(月) 16:43:12.16 ID:h2ozZyBy0
このスレみて昔あった体液フェチの友人がなんたらってスレ思い出した

20 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/28(火) 12:30:57.13 ID:kCLcZkq+O
体液取引所は、非技術的問題で閉鎖しました。大変申し訳ありません。
[]
[ここ壊れてます]

821 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 03:49:27.75 ID:2/Bxm7SJ.net]
【社会】キリン、「氷結」発売中止 原料果汁に偽装の可能性 [無断転載禁止]・2ch.net

822 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 03:55:15.79 ID:2/Bxm7SJ.net]
うーたん @xuph933v 1分
食べすぎ注意!
8/31 3:52 Re RT ☆ 詳細

823 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 04:02:01.47 ID:2/Bxm7SJ.net]
THE BEATLES LYRICS
"Please Mister Postman"

Wait, oh yes wait a minute mister postman
Wait, wait mister postman

Mister postman look and see
Is there a letter in your bag for me
I been waiting a long long time
Since I heard from that girl of mine



824 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 04:11:06.94 ID:2/Bxm7SJ.net]
┌──────────────────┐
│                              │
│    しばらく空腹のまま お待ち下さい。 .... │
│                 ノ⌒ヽ          │
│             (( (  ○ ), ))       │
│      (⌒⌒)       ヽ__メ´           │
│       |__|   _____ 彡"         │
│       (^ω^)ノ━ヽ___ノ'''゙ ッパ..     │
│       ノ/ :/                     │
│       ノ ̄ゝ                    │
│        Now Cooking ...        │
└──────────────────┘

825 名前:デフォルトの名無しさん [2016/08/31(水) 10:09:26.11 ID:aGvvWmav.net]
>>797
保健所からガサ入れ来たか

826 名前:デフォルトの名無しさん [2016/08/31(水) 17:22:43.45 ID:ZZEqTkFc.net]
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11163699156
↑このコードだとウィンドウが応答なしになってしまいます
どうすればいいでしょうか
よろしくお願いします。

827 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 18:07:41.76 ID:JrJNK2gn.net]
>>803
ループ判定に使ってるフラグにvolatileつけてみて
volatile bool ・・・ね

828 名前:デフォルトの名無しさん [2016/08/31(水) 18:18:36.04 ID:ZZEqTkFc.net]
>>804
特に変わりないです

829 名前:デフォルトの名無しさん mailto:sage [2016/08/31(水) 18:27:20.50 ID:4tIFiDjY.net]
ShowWindowじゃなくてShowWindowAsyncだとどう?

830 名前:デフォルトの名無しさん [2016/08/31(水) 18:34:13.09 ID:ZZEqTkFc.net]
>>806
ちゃんと終了しました
ありがとうございます

831 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 06:39:35.08 ID:NXhRk3Fv.net]
if (GetAsyncKeyState(VK_ESCAPE) & 0x8000)
を削除してTerminateThreadだけにすればいい。

832 名前:デフォルトの名無しさん mailto:sage [2016/09/01(木) 18:54:39.95 ID:fjADWK/0.net]
CreateWindow で SysDateTimePick32 と DTS_TIMEFORMAT を指定して時間コントロールを作成、
DTM_SETFORMAT で "hh:mm" を指定して時分のみ(秒は表示しない)スタイルで時間指定できるようにしています。

このコントロールをカーソルキーの上下や、スピンコントロールの上下の操作で分の操作をする際は
+10ずつ増減させたいのですが、どうすれば実現できるでしょうか?

833 名前:デフォルトの名無しさん mailto:sage [2016/09/02(金) 22:11:24.25 ID:U/mvZpMk.net]
矢印キーを押したら+10して表示を更新するようにすればよい。
スピンコントロールも同様。



834 名前:808 mailto:sage [2016/09/03(土) 19:09:55.84 ID:EfpbXZif.net]
>>810
できましあ。
感謝

835 名前:デフォルトの名無しさん mailto:sage [2016/09/05(月) 11:33:40.30 ID:mpmtDfhF.net]
私ならこうする、という話で詳しい手順は省きますが、
問題の調査をするならこんな感じでしょう。
Windows Sysinternals から Process Monitor を入手します
technet.microsoft.com/ja-jp/sysinternals/bb545021.aspx
Process Monitor を起動し、Boot Logging を有効にします
Windows を再起動し、問題のメッセージが出るのを確認します
Process Monitor を起動し、ログを保存します
保存したログを Process Monitor で開き、
%userprofile%\AppData\Local\Microsoft\Windows\Burn
以下にどのようなファイル アクセスが行われているのか調べます
Process Monitor についての詳細は、Windows Sysinternals のサイトや
「Windows Sysinternals 徹底解説」
ec.nikkeibp.co.jp/item/books/P94640.html
をご覧ください。

836 名前:デフォルトの名無しさん mailto:sage [2016/09/06(火) 20:34:00.68 ID:4l7E9vnw.net]
FreeResourceやUnLockResource見たら必要無いって出てくるけど
リソース読み込んだらプロセスが終了するまで占領し続けたりしないん?

837 名前:デフォルトの名無しさん mailto:sage [2016/09/07(水) 14:56:31.98 ID:8SeVjemL.net]
そうだけどそのリソースはexeファイル内の特定の部分指してるだけだからなあ

838 名前:デフォルトの名無しさん [2016/09/07(水) 15:03:50.90 ID:YSZpbVen.net]
Lockって名前付いててもロックしてる訳じゃなくてマウントしてるだけみたいな

839 名前:デフォルトの名無しさん mailto:sage [2016/09/07(水) 15:03:53.47 ID:zaGYBHu2.net]
Win16の頃はメモリを有効活用するためにリソースは移動可能としていた
固定するのがLockResource、使い終わったらアンロックする事でメモリを有効に使える

840 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 13:11:49.37 ID:Jm2YrF8N.net]
20年以上前の古い制約の残骸やで

841 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 13:20:40.85 ID:TxiqjBPh.net]
今WIN16で動いているアプリってあるんですか?

842 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 13:42:10.96 ID:3gGPay5O.net]
windows7以降もしくは、windows8.1以降をターゲットとしたフォントをきれいに見せる方法って
GetGlyphOutlineで自前描画と、DirectWrite使うのどっちが良いでしょうか?

CreateCustomRenderingParamsで、
DWRITE_RENDERING_MODE_DEFAULTとDWRITE_RENDERING_MODE_OUTLINEを試しましたが、
ちょっとボケた感じで、アンチエイリアスのかけすぎな気がする。
DWRITE_RENDERING_MODE_CLEARTYPE_NATURALはちょっと線がいまいち。

CreateCustomRenderingParamsの第三パラメーターのFLOAT clearTypeLevel って数値何を入れればいいんでしょうか?
0-1.0fの範囲? 変化がよくわかりません。
どなたかご存知の方いましたら教えてください。
msdn.microsoft.com/ja-jp/library/windows/desktop/dd368190(v=vs.85).aspxを見ても大雑把な説明でさっぱりです;;

843 名前:デフォルトの名無しさん [2016/09/10(土) 13:48:41.54 ID:QUVRyXDh.net]
>>818
MonaOS



844 名前:デフォルトの名無しさん [2016/09/10(土) 13:49:11.68 ID:QUVRyXDh.net]
>>819
FreeType2

845 名前:818 mailto:sage [2016/09/11(日) 00:52:31.20 ID:80N4ZclY.net]
>>821
ありがとです。GPLなどの縛りがないなら検討してみます。

846 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 15:50:50.25 ID:+/tFZym3.net]
すいません。
アプリケーションが落ちたことを知るメッセージか何かあったと思うのですが
教えていただけないでしょうか。

847 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 16:09:52.36 ID:zF4qt1T7.net]
>>823
プロセスバンドル持ってるなら WaitForSingleObject でいいかと
https://msdn.microsoft.com/ja-jp/library/cc

848 名前:429427.aspx []
[ここ壊れてます]

849 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 18:45:58.69 ID:+/tFZym3.net]
>>824
なるほど。
ちょっと調べてみます。
ありがとです。

850 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 13:43:51.12 ID:uadDl1bC.net]
atexit() は呼ばれないのかな

851 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 23:11:45.62 ID:01Pz4EoL.net]
>>826
いきなり落ちるような状況だと呼ばれないでしょ

852 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 23:26:49.38 ID:Gdi/DDue.net]
そんなものはバンドルされてないよ

853 名前:デフォルトの名無しさん [2016/09/13(火) 21:38:12.97 ID:zadSVrtv.net]
Windows10上でVisual Studio 2015でWin32アプリを作っているんだけど、
SetWindowRgn()を呼ぶと、タイトルバーや最大最小化ボタンなんかの
ウインドウの外見がWindowsXPみたいになるんだけど、これって仕様?
SetWindowRgn()をコメントアウトすると、他のアプリと同様にフラット
なビジュアルになるんだけど、なぜそうなるのかが良くわからない。
解決方法とかあるのかな?



854 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 21:44:09.67 ID:zadSVrtv.net]
XPじゃなくて、Windows95だった。訂正します。

855 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 22:11:22.82 ID:ATVfKx2c.net]
Windows2000だろ

856 名前:デフォルトの名無しさん mailto:sage [2016/09/14(水) 08:45:47.11 ID:7JW5y0cu.net]
2000といえばそうかな。どうもこれはGDIとDWMが絡む問題っぽい。
リージョンを設定すると、内部的にGDIに強制されてしまうようだ。
それに伴って、ビジュアルも変わるみたい。解決策はなさそう
なので、透明色とかで対応するか・・・。

857 名前:デフォルトの名無しさん mailto:sage [2016/09/14(水) 09:10:14.24 ID:XNSEb5OG.net]
リージョンなんか忘れろ。
2000以降はlayered windowを使う。

858 名前:デフォルトの名無しさん mailto:sage [2016/09/14(水) 10:25:53.22 ID:hCerG0dU.net]
8.x以降はDirect Compositionやね

859 名前:デフォルトの名無しさん mailto:sage [2016/09/14(水) 14:22:37.20 ID:iWIT7eZb.net]
>>829
visualstyleなんたらとか言う属性を
設定するんじゃあないか?

860 名前:デフォルトの名無しさん mailto:sage [2016/09/14(水) 18:34:58.98 ID:XNPp97JV.net]
manife

861 名前:デフォルトの名無しさん [2016/09/16(金) 03:00:17.08 ID:lT9MgRBJ.net]
今日も雑魚しかいねーな

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