Win32API 質問箱 Build11
レス数が1000を超えています。これ以上書き込みはできません。
0001980 ◆oqSJWu4Ch2
NGNGやさしい お兄ちゃん 達が答えてくれるかも。
でも、質問する前に検索ぐらい汁!!
過去スレ・参考は>>2 ぐらいにあるといいな。
0002980 ◆oqSJWu4Ch2
NGNGhttp://www.microsoft.com/japan/msdn/default.asp
● 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/index.html
● 過去スレ
Win32API 質問箱 Build10
http://pc2.2ch.net/test/read.cgi/tech/1047819779/
Win32API 質問箱 Build9
http://pc2.2ch.net/test/read.cgi/tech/1044929160/
Win32API 質問箱 Build8
http://pc2.2ch.net/test/read.cgi/tech/1040964626/
Win32API 質問箱 Build7
http://pc3.2ch.net/test/read.cgi/tech/1036654893/
Win32API 質問箱 Build6
http://pc3.2ch.net/test/read.cgi/tech/1032548635/
Win32API 質問箱 Build5
http://pc3.2ch.net/test/read.cgi/tech/1028580373/
Win32API 質問箱 Build4
http://pc3.2ch.net/test/read.cgi/tech/1023361418/
Win32API 質問箱 Build3
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API【2】
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API 質問箱
http://pc.2ch.net/tech/kako/991/991576947.html
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGヽ,,.'" , ゙、 【お洒落】女の子に大人気の東京急行【お洒落】
:::::::;:::',i゙i、,_ ,.' , , ., , .:,.' .: ',.. 、 ゙、 上品・美麗な田園都市生活
. :/::::::}r'、 `゙ ,' .,' .: ,' ,,、-/‐,ッ、:::/..:;: .. l l;:..;. ',. ',
./:: :::/::. ヽ i l .::l:,、r'゙ ::,.'i../,'.:::,'i.:::;,'. .:,':''7i'it、l!:. , i,. !
'.::::::/:l::::::.. l. l. ::;r':i l .:::,' l l:::,' !::,',' .::;': /,'/ !:l'l;::. i ,' l:. i !!,'
::::::/::!:',::::::::::l. ::',/i l:|. l::;;!、ェ、,,l:i l::,'.!:..::,,'::/ / l:i l:゙:.,' /:. l:: | j.l'
::::,'!::::'::゙、:::::::! ::::i、l. 'l,,;ン',,、ぃ,゙ヾ l:l l::::/,ソ.r''"ヾl, l:::/ン゙l:::: l::: i /l'
:::j ',:::::::::::::::::!. ! :::::l、゙,,ilr' ,il゙ _,,!i. 'l l::/ ' ,r゙゙'i;.ヾlン''/: l:::: ,'l:: ,'j ./ l
::i. ゙、::::::::r''''!. ! :::::!'''゙li. l;:゙'illlr;::! ゙ i:!、r:'l. ;シ./::: .!:,r!,':;/,',.'l j
:l ゙、:::i゙''、゙!. ! ::::|. ゙. 'r,ン::::ソ l;: ''゙:;' ' ,':::: .r' /ツ::ジ j j
:|. ヾ゙、 '、i. ! ::::! ''‐゙゙'='゙- . ゞ-'',、 i:::::: j '"!:i:: j .,'
:l `゙' 、', i :;::l r‐‐‐-,.  ̄` .j:::: ,' l:,i: ,' /
';! ',.i. ';:!,_ | / , ':::: ,' ,ソ!: ,'./ おかあさま
,ヽ ゙、, ';ヘ!ヽ、 ',. ,.' ,、‐l:l::::: / /.,' ,'/ ヴァイオリンのお稽古に逝って参ります
:! ',.',',l,_ ゙'ヽ 、,,_. ゙'" ,、 ‐'" ,',i::: / / ,.シ
':', '、',゙、゙''ー- 、、、、゙゙i,゙''''" /'i::/ /,.'
ヾ、 ,,、 - '゙::ヾ,ヽ:...:...:...:...:...:{ ,'/ ,ン゙
,、- '"゙~ヽ、:...:...:..::゙、:...:...:...:...:...:.lヽ、 _ /
. 、r''ヽ、 ヽ:...:...:...:...:...:...:...:...:...:...:.゙j ゙''‐ 、 '
0006デフォルトの名無しさん
NGNGAプロセスとBプロセスで同期を取るために、
AプロセスがBプロセスをwaitさせたいとします。
その場合、Aプロセス内でWin32APIのSuspendThread関数を用いて、
Bプロセスをwaitさせる例が、
「Advanced Windows(Jeffrey Richter著・MicrosoftPress ASCII」
に記述されていました。
この例の中ですでに起動されているスレッドのハンドルを取得するため、
OpenThread関数を用いたコーディングを行ってるのですが、
このOpenTread関数はWindows2000からのサポートのため、
WindowsNT4.0には対応していません。
そこでWindowsNT上で、すでに起動されているプロセスをwaitさせるためには
どのような方法またはAPIが存在するでしょうか。
ぜひお願いしますm(_ _)m
0007デフォルトの名無しさん
NGNGその他
0008デフォルトの名無しさん
NGNGまあ、不注意なんだろうけど...、マルチかよ !!
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGWriteProcessMemory、ReadProcessMemoryを使うのは、うまくいくのですが、
下のプログラムで、確保したpBaseアドレスはプロセスBのリニアアドレスに
なります。
そこで、FS:[EAX]、GS:[EAX]のように、セレクタ修飾でプロセスAからアク
セスできるように、プロセスAのセレクタのアドレスに変換するAPIや、
その方法はあるのでしょうか。
HWND Wnd = FindWindowEx(NULL, 0, NULL, "XXX");
GetWindowThreadProcessId(Wnd, &dwPID);
HANDLE hProcess = OpenProcess(PROCESS_VM_OPERATION
| PROCESS_VM_READ
| PROCESS_VM_WRITE,
FALSE, dwPID);
DWORD pBase = (DWORD)VirtualAllocEx(hProcess, NULL, 10240,
MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
0011デフォルトの名無しさん
NGNGウィンドウハンドルは既知です。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGNtOpenThread
非公開だが今後NT4のサービスパックが新たに出ることは
ないだろうから大丈夫だろう多分
>>10
「プロセスAのセレクタ」なんてものは存在しない
(IA64やAlphaやPPCやMIPSではどうなってると思ってるんだ?)
仮想メモリについてちゃんと勉強しろ
0014デフォルトの名無しさん
NGNG( ゚д゚)アリガトウ
0015デフォルトの名無しさん
NGNGメモリの共有が目的なら、
明示的に共有メモリを使ったほうがいいんじゃない?
それともデバッガ作ってるの?
0016デフォルトの名無しさん
NGNGReadProcessMemoryとWriteProcessMemory使うのが
マンドクセイから直接アクセスする裏技はないのかという
質問に見えた。
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGttp://www.internetweek.com/breakingNews/showArticle.jhtml?articleID=9400498
>"Win32 has like 76,000 APIs, and they're taking it down to 8,000 with Longhorn technology,"
> said one source familiar with the plans.
あぼーん
0019デフォルトの名無しさん
NGNG乱立関数をあぼーんしたいってのはわかるが
アップグレード品の売れ足くらい考えてやるだろ
0020デフォルトの名無しさん
NGNG互換性があればどうでもいいわな。
(互換性なきゃLonghorn死滅だが。)
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGどうすれば良いのでしょうか?
0024デフォルトの名無しさん
NGNG一応3.1アプリは動くのでは?
0025デフォルトの名無しさん
NGNG配列で持っているYUV形式のカラー画像データをビットマップにしてウインドウに
表示するには,どうすればいいんでしょうか?
とりあえずRGBに変換して(これはOKです),その後なんですが.
(YUVのまま使えればその方がいいですけど)
検索してみても,ビットマップファイルをウインドウに表示するは見つかった
のですが,メモリ上のRGBデータを表示するのは見つけられませんですた・・・.
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGやったことないので分からんが。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGで、瞬くうちに普及して欲しい。
そうなれば、WM_PAINT や Invalidate* + UpdateWindow のない
健全な世界になることだろう。
0034デフォルトの名無しさん
NGNGどういうのが健全なの?
よくわからん。
0035デフォルトの名無しさん
NGNG再描画が楽になったらいいなと思ってるんじゃないか?
ロングホーンがそうなるなんて聞いたことないが
DirectX9使うことを勘違いしてるのか
0036デフォルトの名無しさん
NGNG要は1枚1枚単独のWindowを別のメモリ空間上に描画して行って
重ね合わせ等々はOSがやるってことでしょ?
互換性上、WM_PAINT(GDI)がなくなるとは思えないが
Windowの影になったりして再描画が必要になることは
実質なくなるんじゃない?
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG「俺のマシンは デスクトップに電卓ソフトを1つ開いた状態で xxfpsでるよ!」
とか、そういう会話が世間で繰り広げられる・・・。
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGどのみち動かなくなるアプリ多発
互換モードまで付けてるメーカーの所業とも思えん
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGint i=0, p=0, inflag=0;
#ifdef WIN32
argc=0;
#else
argc=1;
#endif
for(;;){
if (CmdLin[i]=='\0'){
argv[argc]=(char*)malloc(i-p+1);
if (argv[argc]==NULL) break;
qu_strncpy(argv[argc],&CmdLin[p],i-p);
break;
}
if (CmdLin[i]=='"' && (i==0 ||
(CmdLin[i-1]!='\\' || _fnthctype(CmdLin, i-1)==CT_KJ2))) inflag=!inflag;
if (inflag==0 && (CmdLin[i]=='/' || (CmdLin[i]==' ' && (argc==0 || CmdLin[p]=='/')))){
argv[argc]=(char*)malloc(i-p+1);
if (argv[argc]==NULL) break;
qu_strncpy(argv[argc],&CmdLin[p],i-p);
argc++;if (argc>=ARGCMAX-1) break;
do{
p=i;i++;
}while (CmdLin[p]==' ');
}else i++;
}
argc++;
}
0045デフォルトの名無しさん
NGNGなんじゃこりゃ
0046デフォルトの名無しさん
NGNG>もちろんLonghornでも、レガシーのWin32 APIを用いたアプリケーションを動かす
>必要があるが、古いAPIで描画するアプリケーションは内部的に96dpiで処理。それ
>を任意のサイズに3Dグラフィックチップで拡大表示することにより対応する
(´_ゝ`) ふ〜ん
0047デフォルトの名無しさん
NGNG//...
hFontOld = SelectObject(hdc, hFont);
とやると型変換ができませんみたいなエラーになってしまいます。
もし解決法がわかる方がいらっしゃいましたらアドバイスお願いします。
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1051882835/
で質問したところ、
このスレで質問してみるといいということなので質問します。
http://pc2.2ch.net/test/read.cgi/tech/1051882835/484
>484 名前:デフォルトの名無しさん [] 投稿日:03/05/14 14:42
>他のアプリを操作するツールバーみたいなソフト作りたいんですが、
>直前にアクティブだったウィンドウを取得する方法教えてください。
0050デフォルトの名無しさん
NGNGありがとうございました。
SelectObject(hdc, (HFONT)hFont)とやっていた俺はオオヴァカなわけで…
色々調べていたところ、HFONT変数はひとつで
SelectObject(hdc, GetStockObject(SYS_FONT))ってのがあったのですが、
上記のhFont, hFontOldを使う方とどっちがいいのでしょうか?
0051デフォルトの名無しさん
NGNGどっちがいいっちゅーか、hFontOld が何のためにあるかを理解したほうがよいと思われ。
0052デフォルトの名無しさん
NGNGGetStockObjectでもデフォルトに戻せるのかと思ってたのですが…
0053デフォルトの名無しさん
NGNGまだまだ修行が足りんぞ
↓こんなのでも見て勉強しる
ttp://www.ioccc.org/
0054デフォルトの名無しさん
NGNGSelectObject(hdc, hFont);
//描画...
SelectObject(hdc, GetStockObject(SYS_FONT));
DeleteObject(hFont);
こういうことか。どっちの方がいいんだろうね(w
0055デフォルトの名無しさん
NGNG// -- hFont取得 --
hFontOld = (HFONT )SelectObject(hdc, (HGDIOBJ)hFont);
// -- 描画処理 --
SelectObject(hdc, (HGDIOBJ)hFontOld);
hdcが必ず以前にGetStockObject(SYS_FONT)を持っていたとも
限らない。ついでに言うと、漏れの環境ではキャストしなくても
エラーでないよ?エラーレベルが高いんでないかい?
0056デフォルトの名無しさん
NGNGっていうか、STRICTを指定しても(HGDIOBJ)はいらんでしょ。
0057デフォルトの名無しさん
NGNGその引数にHDCを含めているのはなぜでしょうか?
HDCなしでも一応エラーがでませんでしたが、何かあるのかと思い質問させてもらいました。
0058デフォルトの名無しさん
NGNG∧_∧ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д`)// < 先生! 今年は犯珍優勝できそうでつか?
/ / |
/ /| / \ 去年の今頃も調子良かったのですが。 ( ´,_ゝ`)プッ
__| | .| | \
\  ̄ ̄ ̄ ̄ ̄ ̄ ̄\ \_____________
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
0060デフォルトの名無しさん
NGNGもうグダグダ
0061デフォルトの名無しさん
NGNGなんだろう?
次章ではさらに引数減ってるね。
0062デフォルトの名無しさん
NGNG>>61
漏れが推測するに、最初は
void DrawMyText(HDC hdc, int x, int y, LPSTR str, LPCTSTR face)
こんな感じだったのでは無いだろうか?
それを途中で、テキストの大きさも…角度も…色も…とか考えて
フォント作成用のSetMyFontに変えた。しかし、HDCを消し忘れた。
まぁ、単なる揚げ足取りだね。無くても何も問題無いよ。
0063名無し@沢村
NGNGヌヒよ、フォントのポイント数をフォントの高さに変換するために用意していたと見た。
HFONT CreateMyFont(HDC hDC, int nPoint, LPCTSTR lpszFace);
0064デフォルトの名無しさん
NGNGSendMessageでBM_CLICKを送ってボタンを押しているんだけど
時々アクセスバイオレーションになったり、何も言わず落ちたりする。
なにか原因考えられますか?
0065デフォルトの名無しさん
NGNGまずは IsWindow() かな?
0066デフォルトの名無しさん
NGNG文字数を渡しますがこれって何の意味があるのでしょうか?
0067デフォルトの名無しさん
NGNGと思ってみるテスト
006866
NGNGありがとうございます。
os側はszで待つのでただのロスだとおもうのですが...
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG{
lstrcpy(szText, "1234567890");
}
:
:
char a[5];
hoge(a);
こんなふうだと困るから。
0071デフォルトの名無しさん
NGNGおかげでバグてんこもり。
0072デフォルトの名無しさん
NGNG少なく指定すれば任意に削ることが出来る
その程度のことすら思いつかないほど思考が堅いのなら
プログラムを作るのは諦めた方がいい
0073デフォルトの名無しさん
NGNG007466
NGNGいやまさにTextOut、DrawTextとかそんなのです。。。
0075デフォルトの名無しさん
NGNGあんた。馬鹿。
0076デフォルトの名無しさん
NGNGだから>>70が答え。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGなんでやねん。hoge関数がWin32APIだと思って。
0079デフォルトの名無しさん
NGNG008066
NGNGいや、であれば70さんの例は答えではないと思います。
73さんのLoadStringと同様にバッファのポインタを渡してそこに値を
もらう(itoaとかも)のであれば理解できます。
が、TextOutとかはWin32の規約でszで渡すと決まっている以上
文字数を指定するのは意味がないと思います。(むしろ72さんの指摘
が正しいかと...)
008166
NGNG>>76ですた
0082デフォルトの名無しさん
NGNG表示したい場合などに利用できるということ
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGTextOutに渡す文字列の終端は\0ある必要はないんだよ?
文字数渡さなかったらOSがどこまで表示していいかわからないじゃん?
008566
NGNG008666
NGNGMSDNにはLPCSTRとなってますが...
0087デフォルトの名無しさん
NGNG×\0ある必要はない
○\0である必要はない
0088デフォルトの名無しさん
NGNGMSDNに
>この文字列はゼロ文字 ('\0') で終わっている必要はありません。
となってますが...
0089デフォルトの名無しさん
NGNG違う
WindowsのAPIの文字列系は基本的にLPCTSTRで
009066
NGNGPointer to a constant null-terminated string
of 8-bit Windows (ANSI) characters.
となってますが...
0091_
NGNG川o・-・)ノ <先生!こんなのがありました!
http://www.hiroyuki.zansu.com/moe/hankaku07.html
http://hiroyuki.zansu.com/moe/hankaku10.html
http://www.hiroyuki.zansu.com/moe/hankaku08.html
http://hiroyuki.zansu.com/moe/hankaku09.html
http://www.hiroyuki.zansu.com/moe/hankaku06.html
http://hiroyuki.zansu.com/moe/hankaku05.html
http://www.hiroyuki.zansu.com/moe/hankaku01.html
http://hiroyuki.zansu.com/moe/hankaku02.html
http://www.hiroyuki.zansu.com/moe/hankaku03.html
http://hiroyuki.zansu.com/moe/hankaku04.html
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGMSDNのはLPCTSTR。よく見てみ。
0095デフォルトの名無しさん
NGNG英語ヘルプにも
The string does not need to be zero-terminated,
と書いてある
\0を終端と見なさないため、文字列途中にわざと\0を入れて
それ以降も表示されるように文字数を設定すれば
\0より後ろの文字も描画される
0096デフォルトの名無しさん
NGNG途中にも\0がでてくるから(略
0097デフォルトの名無しさん
NGNG>ワイド文字ですか?
違う
こんなことを書いている時点でAPIの仕様どころか型の意味も分かっていない
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNG\0を末尾として見れば便利だけど、文字列しか扱えなくなってしまう。
0101デフォルトの名無しさん
NGNG010299
NGNG0103デフォルトの名無しさん
NGNG設定によって可変
型のヘルプくらい目を通せよ
0104デフォルトの名無しさん
NGNGこれ読んだのかな?
0105デフォルトの名無しさん
NGNGそれは解ってるんでないかい?それより TextOut がどうして
そんな仕様になってるかなんだが、俺は>>99で納得してしまった。
がしかし>>102でまた分からなくなった。
010666
NGNGMSDNの英文のTextOutの解説を読むと確かにそうなっていました。
(MSDNが少し古いからでしょうか)
僕が完全に誤っていました。
レスをくださったみなさんお騒がせしました。m(__)m
0107デフォルトの名無しさん
NGNGAdaとかDとかそのへん。
そういう言語のことも考えるなら、本来全てのAPIで長さを渡すべきなんだろうけど、
やはりC優先で文字列そのものが重要なAPI以外は\0終端にしてると思ってた。
(VB、Delphiは言語がサービスで\0入れてくれるけど)
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGVBはBSTRなので\0終端ではないのでは?
0110デフォルトの名無しさん
NGNG他の環境と連携させるときに>>66みたいな勘違いがバグを出すので
ウザイからわざわざ付けているだけ
011166
NGNGまたのこのこ来ますた。
MSDNの2001年10月リリースを入れたのですが、日本語の解説も
「\0で終端する必要はない」となっていますた。
すみませんでした。。。
0112デフォルトの名無しさん
NGNGただの四角形を書きたいのですが、クリッピングとかするしか方法は
ないのでしょうか?
0113デフォルトの名無しさん
NGNGラインを4回引けばすむのにそうしない理由は何故ですか?
何か深い理由があるんですか?
是非教えてください
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG遅いかなと思いまして
0116デフォルトの名無しさん
NGNGラインを複数引けば必要ないRectangleがある理由を考えてみなさい。
0117デフォルトの名無しさん
NGNGこういう、何も考えないでレスする馬鹿、どこにでもいるな。
0118名無し@沢村
NGNGこの処理はボタンを押したときか離したときどちらかにまとめてはされず、押したときと、離したときに別別にしなければ、どうしてもいけないのです。
でもそうすると、ボタンを早く押しすぎたり、離したときにマウスがボタンからずれてしまうと、配列の値がおかしくなってしまうのです…。
離したときにマウスがボタンがずれてしまうほうの問題は何とか解決したのですが、ボタンを早く押しすぎるときの解決法がどうしてもわからないのです。
ボタンを早く押しすぎても上手く値が配列に書き込めるようにするには、どうしたらいいのですか?
0119デフォルトの名無しさん
NGNGボタンコントロールをサブクラス化して
マウスのアップダウンメッセージを取得すればすむ
0120112
NGNGヌルブラシっていうのがあるんですね。
グリッドを書いているのですが、セルごとにクリッピングをかけるのは
イヤだなと思っていたのでとても助かりました。
ありがとうございました。m(__)m
0121デフォルトの名無しさん
NGNGどうやってやりますか?
マイクロソフトのAPIは使いたく無いので自分で考えたウインドーを出したいのです
0122デフォルトの名無しさん
NGNGwavが鳴らされたときにキャッチできるメッセージってあるのでしょうか?
よろしくお願いします。
0123デフォルトの名無しさん
NGNGDOS で、自分で VRAM に直書きするか。
自分で OS + Window System 作れ。
0124デフォルトの名無しさん
NGNGDOSで自分でVRAMに書くってどうやってかくんですか?
windowsで出来るんですか?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGVRAMのアドレスは絶対値なので、場所さえわかれば簡単です
0127デフォルトの名無しさん
NGNGユーザーインターフェースが少なすぎて
使い物になりませんよ
せめてユーザーにもウインドーが作れるようにして欲しいです
だからMSはアホなんですよ
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG結局、なにがやりたいんだ。
四角形でないウィンドウを作りたいんだったら
「リージョン ウィンドウ」でもキーにして検索しろ。
0130デフォルトの名無しさん
NGNG見た目が変わってもウィンドーの中でやってることは同じだから意味が無いです
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG自分で作ったほうがまだまし
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG勘弁してもらいたいもんです
何もしなければは真っ白な箱が出来るもんなのに、
一体どういう考えで作ってるのか不明すぎます
金儲けの事しか考えて無いからアホなんですよ
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137名無し~3.EXE
NGNG0138デフォルトの名無しさん
NGNG私が言ってるのはこの事を言ってるんですよ
0139デフォルトの名無しさん
NGNGオイオイ
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG私が言ってるのはこの事を言ってるんですよ
0143デフォルトの名無しさん
NGNG偉い人たちにはそれがわからんのです。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG消費者にはそれがわからんのです。
0146デフォルトの名無しさん
NGNG人間にはそれがわからんのです。
0147デフォルトの名無しさん
NGNG>>100
LPC"T"STR の "T" は "Translate" ってことだよ。
UNICODE が #define されていれば LPCWSTR, そうでなければ LPCSTR に
VC++ が読み替えてくれる。
0148147
NGNGEXCELファイルを右クリックして、自動印刷実行をしますと、
EXCELファイルを開いた際に設定した印刷設定、例えばトレイ・用紙サイズ
が反映されます。この手法は、SetPrinterでデフォルトのプリンターの設定
を変更することなく、各ファイル毎の印刷設定で印刷がなされています。
ではこの手法を実現するためにどのようなAPIとレジストリを用いているの
でしょうか?
EXECELと同じように新規アプリケーションでファイル毎にトレイ選択・用紙選択
などを行い、デフォルトのプリンタ設定を変えることなく済ませたい考えです。
(プリンターのデフォルトの設定を変更するやり方は各ドライバーごとの
DEVMODE構造体を扱う方法と認識しています。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers
直下のドライバー毎の設定が保存されています。)
0149デフォルトの名無しさん
NGNGなんでおまいが147を騙ってるんだよ。
0152デフォルトの名無しさん
NGNG最初に書くときは名無しでいいと思うが・・・
0154デフォルトの名無しさん
NGNGOpenPrinter(), SetPrinter()でいけそうだが。
0155148 ◆Kg.N7J02zE
NGNGSetPrinterはドライバーのデフォルトの設定を直接変更してしまう
ので、148の手法には使えないと認識しています。
0156デフォルトの名無しさん
NGNGいや、印刷後もとの設定に戻せばいいだけでは?
0157148 ◆Kg.N7J02zE
NGNG補足しますと、EXECELの場合ファイルを開いてプリンタのトレイを変更し、
用紙サイズを変更しても、プリンターのドライバーのデフォルトの設定は変わ
りません。・・・(1)
プリンターフォルダで設定できるのがドライバーのデフォルトの設
定です。(2)
SetPrinterは(2)の設定は変更しますが、(1)のような変更がきかないのです。
0158148 ◆Kg.N7J02zE
NGNG同一プリンタドライバでの印刷を、同時に複数のユーザが
行った場合、ドライバのデフォルトの設定が変わってしまうと、
ユーザの思ったような印刷ができません。
0159デフォルトの名無しさん
NGNG(1) OpenPrinter():ハンドル取得
(2) Getprinter():現在の設定を取得
(3) SetPriner():印刷設定
(4) 印刷実行
(5) SetPriner():(2)で取得した設定に戻す
(6) ClosePrinter():終わり
でダメなの?
0160148 ◆Kg.N7J02zE
NGNGレスありがとうございます
(4)印刷実行の間に,他ユーザから Getprinterされてしまうと,
もとの設定には戻らないと思います.
0161デフォルトの名無しさん
NGNG他のユーザーが戻してくれるのを期待汁!てか、Open 〜 Close の間に
割り込むことはできるんか?ちょっと調べてくれや>148
0162デフォルトの名無しさん
NGNGTextOut関数について調べていたらDrawTextなるものを見つけて迷っています
0163148 ◆Kg.N7J02zE
NGNG調べてみます.実は印刷用アプリが別で以下のような構成です.
ご指摘で問題点が見えて来ました.これが原因かもです.
(1) OpenPrinter():ハンドル取得
(2) Getprinter():現在の設定を取得
(3) SetPriner():印刷設定
(4) ClosePrinter():終わり
(5) 印刷用アプリで印刷実行
(6) OpenPrinter():ハンドル取得
(7) Getprinter():現在の設定を取得
(8) SetPriner():(2)で取得した設定に戻す
(8) ClosePrinter():終わり
0164デフォルトの名無しさん
NGNG遅レス申し訳ないけど、GetNextWindowを使うとwindowのz-orderが取得できます。
最前面の一つ下のwindowが *概ね* 直前にアクティブです。。
最小化などでフォーカスを失った場合は直前のwindowが次のz-orderを持つとは
限りませんが、解法は私には分からないです。エロイ方はもっといい方法をお願いします。
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGなわけねーだろゴルァ!
0167デフォルトの名無しさん
NGNGShowWindowで表示させようとしたりしてるのですが、表示ができません。
無理なんでしょうか?
0168_
NGNG( ・∀・)/< こんなのみつけたっち♪
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku05.html
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku04.html
0169デフォルトの名無しさん
NGNG子ウィンドウをクリップしたいのなら親に WS_CLIPCHILDREN
スタイルを追加すればいいのだが、そういうことやりたいのとは
違うんかな
017066
NGNGありがとうございます。昨晩の66です。
LPCTSTRはUnicodeマクロが定義されているかどうかで
VCがASCII変数、Unicode変数に読み替えてくれるというこですよね。
それと同じ意味でTextOutもUnicodeのときはTextOutW、でないときは
TextOutAに読み替えられるから、いづれにせよOSは文字数を受け取ら
なくてもszを検知できるはずということを書いたのですが、
昨日はうやむやになってしまいました。間違っているのでしょうか?
0171デフォルトの名無しさん
NGNG最後は0じゃなくていいってはじめからいってんだろ!
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG\0を終端とみなさないから文字数を入れてやらないと
どこまで表示していいか判断できなくなる
昨日から言われているのに未だに分かってないのか
久々に本当の馬鹿を見た
0174デフォルトの名無しさん
NGNG問題点をはぐらかすような質問は止めれ。
どうせ WM_PAINT じゃなくても表示できんのだろ?
0175デフォルトの名無しさん
NGNGあまり情報がないんだが
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGさらに遅レス。LPCTSTRって
Long Pointer Const To STRing
だと思ってた。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGA `T' means `Tamachan'.(He is the most popular animal in Japan.)
Reference:
ANSI Sec. 123.4; ISO Sec. 5.67
0181デフォルトの名無しさん
NGNGは?意味がわからんのですが…
WM_CREATEではできたけど、WM_PAINT時に表示できなかったから聞いてるのですが?
日本語読めますよね?
ちなみにShowWindowでは表示できました。
CreateWindowでWS_VISIBLEをしても表示できない理由はまだわかってませんが。
0182デフォルトの名無しさん
NGNGWM_PAINT のたびに CreateWindow() してるの?
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGあ…そうなっちゃいますね…まずいヨカン
ではCreateWindow時に今後表示させる場所にWindowを全部非表示で作成しておいて
SW_SHOW, SW_HIDEで表示、非表示を切り替えるのがいいのでしょうか?
0185デフォルトの名無しさん
NGNG×CreateWindow
でした
0186デフォルトの名無しさん
NGNGサイズ変更枠をドラッグさせるだけでウィンドウが作られるなんて
考えるだけで。。
0187デフォルトの名無しさん
NGNGありがとうございました!
今後気をつけます。
0188デフォルトの名無しさん
NGNGWM_PAINT時にウィンドウのリージョンを更新するような処理は禁止
WM_PAINT時にウィンドウのリージョンを更新するような処理は禁止
0189デフォルトの名無しさん
NGNGSetWindowRgnのことか?
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGBeginPaint()とGetDC()があるの?
使い分けってしてますか?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNGBeginPaint()はWM_PAINTハンドラ内専用。
WM_PAINT内でGetDC()を使うと無効領域がクリアされないから
永遠にWM_PAINTを受け取ることになる。
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197名無し@沢村
NGNGおまいらよ、予約ビットというのはプログラマが勝手に使ってはいけない領域だ。
おまいらよ、この予約ビットの存在を知らずにプログラミングすると、プログラムが暴走したりシステムがハングアップしたりして、大変危険だよ。
例えばmallocで1000バイトばかりメモリを確保した場合、その中に予約ビットが含まれていると、プログラムはどこもおかしくないのに、突然フリーズしてしまったという不思議な現象が起るのよ。
不正なメモリアクセスというやつだな。
この予約ビットというのはメモリのそこかしこに散りばまられているから、正常にメモリを確保するのは至難の技だぞ!!
プログラミングって大変だぞ、おまいらよ!!
0198デフォルトの名無しさん
NGNG> 例えばmallocで1000バイトばかりメモリを確保した場合、その中に予約ビットが含まれていると
確保したのに、
予約されてて使えないビットがあるというのはいかがなものか。
0199デフォルトの名無しさん
NGNGsocket() → bind() → listen() の後に...
WSAAsyncSelect(Socket, Window, Accepted, FD_ACCEPT) ってやって、外部から接続に行くとちゃんと WindowProc() が呼ばれる。
で WindowProc() の中で accept() するんだけど、accept() が失敗したら MessageBox() でメッセージを出すようにしてた。
で、最初動かした時に accept() の引数が間違っててメッセージが出るのはいいんだけど、1つだけじゃなくいっぱいでて異常終了する。
デバッガで追っかけると、MessageBox() 呼んだ時に、WindowProc() が呼び出されて、もう一回 MessageBox() が呼ばれて...
で、最終的にスタックオーバーしている。
これって仕様なの ?
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGWINAPIでの話しだけど、
WM_PAINTでMessageBox()を書くと、無限ループになる。
(最終的には止まるが)
よく、winsockについては知らんが
MessageBoxが怪しいと感じる。
MessageBoxがでたら次はWM_PAINTでWindowProcが呼び出されている説は?
0202デフォルトの名無しさん
NGNG0203201
NGNG前、デバッグでMessageBoxをWM_PAINTに書いて
びっくりするくらいMessageBoxがなかなか消えなかったので、
>>199さんがもし、知らないならと思って書いた。
>>186,>>188は知ってたよ。けど、書いた。念のため。
0204デフォルトの名無しさん
NGNGプログラム上は、WM_PAINT とか (と言うか、Socket 関係以外) が来たらそのまま DefWindowProc に渡しているだけ。
ウィンドは作ってるけど、非表示だから WM_PAINT は来ていない。
タスクトレイ常駐させて、左クリックで表示するようにしているのでその時にはじめて WM_PAINT が来ていることも確認した。
どうも、accept で失敗しているので再度メッセージが飛んできているみたい...、でも誰も DispatchMessage() してないはずなんだが。
MessageBox() 内で DispatchMessage() されちゃうのかなぁ...。
>>202
荒れるからアフォと書くなよ。
ちょっと上にも出てたんだから WM_PAINT の件ぐらいはみんな理解してると思う。
0205デフォルトの名無しさん
NGNGそれはチミ、こういうことかね?
WM_PAINT → MessageBoxをウィンドウの上に出す → MessageBoxが消えると再描画発生
↑ ↓
└―――――← ヽ(`Д´)ノ ウワァァン―←―――――――――――┘
0206デフォルトの名無しさん
NGNG>MessageBox() 内で Dispatch...
これは無いだろ。独自のモーダルループに入るはず。
こういう場合はデバッガじゃなくトレースした方が良かろう。
それとMessageBox()の親を自分(非表示の)にしてない?
呼んだ時は知らんが、閉じた時に無条件に親が生かされたと思うから、この場合はデスクトックなどにするべきじゃろう。
0207デフォルトの名無しさん
NGNGEnable/Disableに関係無くWM_PAINTは来るでしょ。
0208デフォルトの名無しさん
NGNG「独自のモーダルループ」は別にウィンドウを制限してないから
しっかりDispatchされる
0209デフォルトの名無しさん
NGNGその箱クリックしてメニュー出したり糸をくっつけてくるくる回したりしたいんだけど
一番効率的なやり方教えてください
0210デフォルトの名無しさん
NGNGWS_PUPOPWINDOW
そうすればドラッグ、クリック時にメッセージ。
描画は自己責任。
メニューは自作。またはオーナードロー。
が多分一番楽。
0211デフォルトの名無しさん
NGNGその境界線をドラッグで動かせるようにするにはどうすればいいですか?
0212デフォルトの名無しさん
NGNGエディットコントロールを包括するフレームウインドウを作り、エディットビューを形成する
0213デフォルトの名無しさん
NGNG> それとMessageBox()の親を自分(非表示の)にしてない?
MessageBox(0, ...) としてるから問題ないと思うんだけど。
>>207
EnableWindow() と混乱してない ?
ShowWindow(SH_SHOW or SH_HIDE) だよ。
>>208
ごめん理解できない。
MessageBox() 表示すると、システムが勝手に俺のウインドメッセージまで Dispatch しちゃうってことなの ?
メインループには戻ってないのに ?
0214デフォルトの名無しさん
NGNG俺は今までずっと一緒だと思い込んでいたのですが、↓を読むと別物のよう。
ttp://www.microsoft.com/japan/developer/library/vccore/_core_.2f.swaprun.htm
どこで聞いたらいいか分からなかったけど、ここが最も近そうに思えたので、
ここに書き込みました。より適切なスレが他にありましたら誘導をお願いします。
0215デフォルトの名無しさん
NGNGMessageBoxはシステムが勝手にユーザーのウインドウをDispatchするよ。
メッセージループしてなくてもMessageBoxが表示されてる間はしてるのと同じ状態になる。
多分MessageBoxで隠れた部分を再描画するためにWM_PAINTを呼び出す必要があるからなんだろうけど、
俺の場合はWM_PAINTとかじゃなく、WM_TIMERが呼び出されちゃってはまったからなぁ・・・
0216デフォルトの名無しさん
NGNG9x系だとスワップファイル、NT系だとページファイル
じゃなかったっけな
0217デフォルトの名無しさん
NGNG確かに、別物であるかのように呼び分けてるね。
誤訳かと思って米MSを確認したら、そちらでも呼び分けてた。
>>216
リンク先に「これはNT4.0の機能」とあるので、9x系は関係無いっぽい。
0218デフォルトの名無しさん
NGNG0219じいさま
NGNGスワッピング: セグメント全体を2次記憶装置にバックアップ/リストアすること
ページング: セグメントの部分を一定のサイズを単位としてバックアップ/リストアすること
0220デフォルトの名無しさん
NGNGなるほど確かに普通のアプリケーションでもダイアログボックスの後ろの領域の再描画はされてるから、WindowProc は呼び出されないとダメだね。
つーことは、WindowProc 内で MessageBox は使うのは要注意と言うことだな。
> 俺の場合はWM_PAINTとかじゃなく、WM_TIMERが呼び出されちゃってはまったからなぁ・・・
だねぇ、WM_PAINT とかならすぐ気付きそうなもんだけど、WM_TIMER とか Socket なんかだと関係なさそうだったから気付きにくいよね。
ありがと、1つ経験値が上がったよ。
0221デフォルトの名無しさん
NGNGエクセルのような「縮小して全体表示」をするのにフォントサイズを
0.1ポイントづつ減らしてループで矩形内に収まるかを計算しているの
ですが、これって専用のAPIで提供されているのでしょうか?
0222デフォルトの名無しさん
NGNG日本語で言うとどんな意味ですか?
0223デフォルトの名無しさん
NGNG殺す
もっと一般的な意味があったと思うけど・・・
0224デフォルトの名無しさん
NGNGdispatch[dispトv]
v.t.
1 [III 名(副)]〈使者・軍隊などを〉(…に)急派[派遣]する;〈手紙などを〉(…に)急送[発送]する《to...》:〜 the Foreign Minister to the U.N. General Assembly 国連総会に外務大臣を(急いで)派遣する.
2 〈面会人などを〉さっさと送り出す;《話》〈仕事を〉手ぎわよくかたづける;〈食事を〉手早く済ませる:〜 a salesman セールスマンにお引き取りを願う.
3 〈人・動物を〉(とどめを刺して)殺す,「かたづける」:〜 a wounded deer 手負いのシカにとどめを刺す / 〜 to eternity 殺す.
-n.
1 U (使者などの)派遣,特派;(手紙などの)発送,投函(かん).
2 UC (人の)殺害,死刑執行.
3 U すばやい処理;迅速さ.
4 速達便;(軍事・外交などに関して送られる)公文書;(新聞記者の)特電;〔商〕(急行)運送;貨物(運送会社):the New York Times 〜 from Tokyo ニューヨークタイムスの東京からの特電.
語源 イタリア語より.もとはスペイン語 despachar(des-離れて+pachar 固定する=固定から離れる→急ぐ)
0225デフォルトの名無しさん
NGNGファイルからビットマップを読み込んで印刷したいと思っています。
その途中の、LoadImageを使ってbmpを読み込むところで苦戦しています。
下のようなコードなのですが、どうやってもNULLしかかえってきません。
当然、ファイルは存在しています。。。
なにかミスしてます?
char *fname = "c:\\temp.bmp";
hbmp=(HBITMAP)LoadImage (
NULL,fname,IMAGE_BITMAP,
0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
0226デフォルトの名無しさん
NGNG第一引数
0227デフォルトの名無しさん
NGNGじゃあダブルディスパッチは心中?
0228デフォルトの名無しさん
NGNG二重派遣だな(゚∀゚)
(´Д⊂ ウウ…
0229デフォルトの名無しさん
NGNGとりあえずFormatMessageしてみそ
0230デフォルトの名無しさん
NGNGDrawTextで裏画面に描画、
StretchBltで裏のを表に縮小コピーの方がいいと思いますが。
0231225
NGNG一応GetModuleHandle( NULL )と(HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE )で試しましたが同じでした。
FormatMessageでは、「この操作は正しく終了しました」と出ます。
もちろん、LoadImageではNULLが返ります。
誰か助けてー
0232225
NGNGペイントだと表示できるのに。
BMPのバージョンとかあるの?どうすりゃいいんだろう?(泣)
0233デフォルトの名無しさん
NGNGもうちょっと長めのコードを書いてみそ。他の所に間違いがあるのかも。
コードが長いなら以下のところに書くといいよ。
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
0234デフォルトの名無しさん
NGNGYes。BMPには複数のバージョンがある。
0235225
NGNGLoadImageに失敗するコードを貼り付けておきます。
ペイントで適当に作ったBMPでは成功しています。
>>234
その場合、LoadImage以外のAPIを使えば解決するの?
char *fname = "c:\\tempsurface.bmp";
LPDIRECT3DSURFACE9 backbuf;
AGlobal::GetD3DDevice()->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&backbuf);
D3DXSaveSurfaceToFile(fname,D3DXIFF_BMP,backbuf,NULL,NULL);
backbuf->Release();
if((hbmp=(HBITMAP)LoadImage (
NULL,
fname,
IMAGE_BITMAP,
0,
0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION
))==NULL)
{
GetLastError()...
}
0236233
NGNGバージョンってどんな?16色、256色、1670万色の事?それとも他にある?
>>232>>235
ペイントで開くと言うことはプログラムでの開き方がおかしいと言うこと。
僕が使うのはCleateFileか標準Cだから、LoadImageは余り分からないけど
最後の引数をLR_CREATEDIBSECTION|LR_LOADFROMFILE|LR_DEFAULTSIZE
にすると動?
0237デフォルトの名無しさん
NGNGそれともデスクトップの設定によって可変なんでしょうか?
可変ならばグリップサイズを取得するAPI、もしくは方法を教えてください。
今のところグリップ幅15程度にハードコーディングしてしまっています。
0238デフォルトの名無しさん
NGNGお願いします。
0239デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=%E3%82%B8%E3%83%A7%E3%82%A4%E3%83%91%E3%83%83%E3%83%89+api&ie=UTF-8&oe=UTF-8&hl=ja&lr=
なぜこの程度も出来ない?
インターネット上にいくら情報があるといっても、使う奴が無能である限り宝の持ち腐れ
0240デフォルトの名無しさん
NGNG掲示板で質問すれば、君みたいな親切くんが検索の仕方まで
教えてくれるからなあ。
0241221
NGNGそんな方法があるんでつね。
やってみます。ありがとう。。。
0242デフォルトの名無しさん
NGNG使っている人にばれないように消去する方法教えてください
0243デフォルトの名無しさん
NGNGLoadImageはDDB型。
CreateFile,標準CはDIB型。
DirectXは知らんが、編集はDIB型がいい。
DIB使うなら検索でBMPフォーマットから知れ。
0244デフォルトの名無しさん
NGNG削除プログラム作って、
レジストリのキー「RUN」に追加する。
書き方は他のを参照。
スタートアップに入れる方法をあるが、
ばれやすそうなんで、そっちオススメ
0245デフォルトの名無しさん
NGNG左上のスクリーン座標かスクリーン座標系のRECTを取得したいのですが、
何かいい方法はありませんか?
POINT p;
MONITORINFOEX monInfo;
GetCursorPos(&p);
monInfo.cbSize =sizeof(monInfo);
GetMonitorInfo(MonitorFromPoint(p,MONITOR_DEFAULTTONEAREST), &monInfo);
として、
MONITORINFOEX構造体のrcMonitorでうまく取得できると思ったのですが、
実際作ってみるとうまくいってないみたいです。
よろしくお願いします。
0246デフォルトの名無しさん
NGNGGetClientRectでデスクトップのハンドル使っても
駄目なのか?
0247デフォルトの名無しさん
NGNGそれだとクライアント座標系での取得になってしまうので、
左上の座標は必ず(0,0)になってしまうと思いますし、
モニタの座標ではなく、すべてのモニタを囲む長方形(VirtualDesktop)の
左上、右下の座標が取れるだけだと思うのですが間違ってますか?
スクリーン座標で
(0,0) (1600,0) (2400,0)
┌───┬──┐
│1 │2 │
│ ├──┘(2400,600)
└───┘
(0,1200)(1600,1200)
のようなモニタ配置だとして、「2」のモニタのスクリーン座標(1600,0)-(2400,600)が
ゲットしたいのです。なにかよい方法はないでしょうか・・・。
0248デフォルトの名無しさん
NGNGすいません。
0249デフォルトの名無しさん
NGNGレジストリにその情報がある可能性が高いと思われ。
あるかは知らんが。
0251デフォルトの名無しさん
NGNGIMEがON/OFFされたことを検出する方法はありますか?
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGバックアップとかあるのも壊したいのです
0254デフォルトの名無しさん
NGNG次に
0255デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>254
0256デフォルトの名無しさん
NGNGホイールのメッセージを無視するとか
0257(;´Д`)
NGNGLoadImageでDIBも問題なく開けますが・・・
0258動画直リン
NGNG0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGWindows NT : LR_LOADFROMFILE はサポートされていません。
なんて事が書いてあるが
これってNT3.1の事だろうか…
0262デフォルトの名無しさん
NGNGあまり気にするな
0263デフォルトの名無しさん
NGNGGetMonitorInfoで駄目ならEnumDisplayMonitors使ってみたら?
あと、一応MonitorFromPointの戻り値を確認してみては?
0264デフォルトの名無しさん
NGNG詳細オプションで検出しない、にする。
0265デフォルトの名無しさん
NGNG64ビットアプリケーションを作りたいんだが、アセンブラプログラムが必要?
C++Builderでできる?
0266デフォルトの名無しさん
NGNG64bitアプリを作ることは違うのだが理解しているのだろうか?
DOSプログラムで32bit命令を使ったからといって
32bitアプリを作ったことにはならないのだが
馬鹿そうだから理解していないんだろうな
0267デフォルトの名無しさん
NGNG効果はほぼ同じですよね?Exの方が優れているのでしょうか?
0268デフォルトの名無しさん
NGNGヘルプに書いてあるに何故読まない?
いくら盲目でも読み上げソフトぐらいあるだろう。
0269デフォルトの名無しさん
NGNGDelphi6per
0270デフォルトの名無しさん
NGNG何故MSDNのオンラインサイトを見ない?
0271デフォルトの名無しさん
NGNGこのまえから、どうでもいい質問(ネタ)かいて、
かまってもらおうとしている奴だから、相手しないほうがいいよ。
0272デフォルトの名無しさん
NGNG自分で調べたんですけど、書いてあげようかなと思って^^;
0273148 ◆Kg.N7J02zE
NGNG結局,OpenPrinterで開いてSetPrinterで設定しても,OpenPrinter
しているうちに他のクライアントがOpenPrinterしてSetPrinterできて
しまうことが分かりました.
(1) OpenPrinter():ハンドル取得
(2) Getprinter():現在の設定を取得
(3) SetPriner():印刷設定
(4) 印刷実行
(5) SetPriner():(2)で取得した設定に戻す
(6) ClosePrinter():終わり
の過程の途中で他クライアントから同じ過程を実行されてしまうことも
可能ということなんです。
プリンターの設定を変える過程で、他のクライアント
から同じPGで変更されてしまうと、プリンタ設定が元に戻らないという現象です。
識者の方、よろしければご教授下さい。
0274デフォルトの名無しさん
NGNGヘルプに書いてあるに何故読まない?
いくら盲目でも読み上げソフトぐらいあるだろう。
0275デフォルトの名無しさん
NGNGてめーはプリンター使うなアホ
0276デフォルトの名無しさん
NGNGオーナードロー使わずにできる方法があれば教えて頂けないでしょうか。
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/MusicStar-Bass/6678/bero.html
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG何だこれ! CD-ROMがイジェクトされたぞ。
0281デフォルトの名無しさん
NGNGブラクラの類だろうけど、面白そうだからクリックしちゃったよ。
0282デフォルトの名無しさん
NGNGおいおい。これウィルスだぞ
0283デフォルトの名無しさん
NGNGソース見ればわかる。
ただのVB厨のいたずらw
0284276
NGNGボタンが幾つか並んでいる状態でクリックを繰り返すと
点線が残って見た目がきれいでなかったので・・・
点線はとりあえずこのにしておきます。
スレの流れにばっちりはまった書き込みしてしまった
ようですみません。逝ってきます。
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGメッセージループにPeekMessageを使うとCPU使用率が100%になってしまうので
100ミリ秒でタイマーセットしたんですが、他に常套手段てありますか?
0287デフォルトの名無しさん
NGNGGetMessage() じゃ何か不満でもあるのか ?
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGMSG msg;
while(GetMessage(&msg, NULL, 0, 0) > 0){
OnIdle(); // アイドル関数
TranslateMessage(&msg);
DispatchMessage(&msg);
}
こういうことでしょうか?
ペゾルド本5版(P235)にデッドタイムを利用するためにPeekMessageを使う方法が
あったのでてっきりPeekMessageを使うものだと思ってました。
GetMessageだとキューからメッセージを取り出すまで制御を返さないのですが
問題ないんでしょうか。
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG390あたりからどうぞ。
※低レベル注意
0292あい
NGNGオマンコを見たい人は画像をクリックして下さい
腿 \_ | _/
彡彡彡
ミミミミ クリトリス
ミミミミ / ̄ ̄ ̄ ̄
ノ σ ヽ 尿道
/ / ゜ヽ ̄ ̄ ̄ ̄
大陰唇 / //\\ \
 ̄  ̄ ( ( 膣 ) ── 小陰唇
\ \\// /
` \/ '
\ *──肛門
\_____/\_____/
http://jbbs.shitaraba.com/computer/2100/jsweb_1.html
0293デフォルトの名無しさん
NGNGPeekしてメッセージが着てなかったら
Sleep(0);しる。
0294デフォルトの名無しさん
NGNGアイドル処理とあんま関係ないような。
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGヒントはでてるから無問題。
0299デフォルトの名無しさん
NGNGMFCのようにメッセージ後に一気に走らせるタイプならそもそもPeek/GetMessageで十分だし。
0300デフォルトの名無しさん
NGNGそれなら別にGetMessageとタイマー使えばいいんでは
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG同意
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGOnIdleは定期的に呼んで欲しいのか?
定期的に呼んで欲しいならSetTimerでも使った方がいいかと。
0305デフォルトの名無しさん
NGNGMFCがアイドル時にしてるようなこと、例えばメニューやコントロールの更新ハンドラを
実行したいと思っています。
具体的にはリストビュー内のアイテム数をステータスバーに表示させるといったことです。
そのため、定期的に呼ばれる必要はありますが、精度はそれほど気にしません。
なので、今のところタイマーで100ミリ秒程度にしてるんですが、もっと良い方法や
常套手段があるのなら教えて欲しいと思い質問しました。
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGそれならそうとはじめから書け。
あまり感心しないぞ。
0308デフォルトの名無しさん
NGNGSet oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
if colCDROMs.Count >= 1 then
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next
End If
ダサッ!For Each 使えよ。
0309デフォルトの名無しさん
NGNG(´-`).。oO(…使えたかなぁ?)
なんか前やってみてダメだった記憶があるんだ
0310デフォルトの名無しさん
NGNGPeekMessageでメッセージが無かったらOnIdleを呼んでからWaitMessageしる
0311デフォルトの名無しさん
NGNG{
bool bIdle;
long lCount;
MSG Msg;
bIdle = true;
lCount = 0;
0312デフォルトの名無しさん
NGNGif (::PeekMessage(&Msg, NULL, 0, 0, PM_NOREMOVE)){
if(!::GetMessage(&Msg, NULL, 0, 0))
break;
if(!this->PreTranslateMessage(&Msg)){
::TranslateMessage(&Msg);
::DispatchMessage(&Msg);
}
bIdle = true;
lCount = 0;
}
else if(bIdle){
if(!this->OnIdle(lCount))
bIdle = FALSE;
else
++lCount;
}
else
::WaitMessage();
}
return Msg.wParam;
}
0313デフォルトの名無しさん
NGNG{
return false; // trueを返すとディスパッチしない
}
bool CWinApp::OnIdle(LONG lCount)
{
return false; // trueを返すと処理を続ける
}
0314デフォルトの名無しさん
NGNG>>if(!::GetMessage(&Msg, NULL, 0, 0))
>>break;
if(Msg.message == WM_QUIT)
break;
0315デフォルトの名無しさん
NGNG>>if(Msg.message == WM_QUIT)
>> break;
↑にすると動作がおかしくなる
↓のままでよかった
if(!::GetMessage(&Msg, NULL, 0, 0))
break;
0316デフォルトの名無しさん
NGNG標準APIじゃでいないよね?ライブラリは何使ってる?
0317名無し@沢村
NGNGGDI+
0318316
NGNGのを試したんだけど、RGBのバッファから作成する方法が変な動作するんで
他のを使おうかと迷ってる。
DGI+は、↓にあるのを参考にやったら固まりまくったんで
抵抗あるっす。
http://user.ecc.u-tokyo.ac.jp/~rr26303/develop/gdiplus/gdiplus.html
0319デフォルトの名無しさん
NGNGそのダイアログにフォルダを作成するボタンつきのが
ありますよね。
あれってどうやったらできるのでしょうか?
0320デフォルトの名無しさん
NGNGCreateWindowでボタンを直接作成、ダイアログをサブクラス化してメッセージを処理。
0321デフォルトの名無しさん
NGNG設定の衝突を避ける方法は
MSDNにも載っていないことが分かってないDQN発見。
0323デフォルトの名無しさん
NGNGVCL
0324デフォルトの名無しさん
NGNG>動作がおかしくなる
PeekMessageのPM_NOREMOVEをPM_REMOVEにすればいいんでないかい
0325305
NGNGありがとうございます。WaitMessageがキーのようですね。
それで検索したところhttp://msdn.microsoft.com/library/en-us/dnwui/html/msdn_getpeek.asp
のようなページもみつかりました。(ページの一番下の内容)
>>311さんのはMFC実装のようにアイドル処理をやめたりメッセージをディスパッチする前に
何かしたりと、より細かく制御できるというものですね?
自分の用途の場合は>>310さんの方法で十分かもしれませんのでこちらでいきたいと思います。
0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG一生懸命書いて憐れというかアホだな
0329デフォルトの名無しさん
NGNG下位APIなら当然か…
>>325
WaitMessageのかわりに
MsgWaitForMultipleObjectsでタイムアウト値を指定すれば
ある程度定期的にOnIdleを実行できる
別にタイマでもいいけど
0330デフォルトの名無しさん
NGNGいいですかね。
もしかしたら、別窓
0331デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
0332デフォルトの名無しさん
NGNGベースアドレスと言うのはどういうものなのでしょうか?
恥ずかしながら、とあるエロゲーのデータを個人的に
変えてみたくて色々調べたのですが、どうも良く分からなくて。
GameHackというシェアウェアの試用版で、目的の箇所の
アドレスっぽいのは分かったのですが、これをそのまま使っても取得できませんでした。
(「メモリロケーションへのアクセスが無効です」と出ます)
昔で言うオフセットとセグメントみたいなのが必要なのか、
あるいは0x400000辺りを引かなきゃとか・・・、
そのツールのアドレスが汎用的では無いのか・・・
自分なりに調べたのですが、さっぱりでして。
厨房エロパワー丸出しですが、本人至って真剣です。レス頂ければ幸いです。
0333デフォルトの名無しさん
NGNGval=1;
if(WSAIoctl(sock,SIO_RCVALL,&val,sizeof(val),NULL,0,&d,NULL,NULL)==SOCKET_ERROR){
printf("WSAIoctlErr:%d\n" ,WSAGetLastError());
}
を実行するとWSAEINVAL(10022)が帰って来るんですが、何故でしょうか?
unsigned intでやっても同じエラーです。どなたかヒント頂けないでしょうか?
0334デフォルトの名無しさん
NGNGアドミニ権限は?
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGレスthx
当然Administratorです。
WinXP/Win2000でテストしましたが、結果は同じです(´・ω・`)
0337デフォルトの名無しさん
NGNGつまり、例えば枠を掴んで8pxごとにカクカクとサイズを変えるような…
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGまったくです<(*´∀`)
帰ってまでPCに向かうのは久しぶり
しかし、やはりレス無いですねぇ…
>>337
340さんも仰ってますが、WM_SIZINGで
wParamの値(WMSZ_RIGHTとか)を調べて、
場合分けでサイズ変えてくのが良いかも
lParam(=LPRECT)の値を変えると、そのままウィンドウサイズになりまする
0342デフォルトの名無しさん
NGNG普通に読みたいアドレスを渡すだけだよ。
他の引数に問題あるだけかと。
そのプロセスに対してアクセス権はあるの?
0343デフォルトの名無しさん
NGNGいやはや、おつき合いありがとうございます。
PROCESS_ALL_ACCESSで開いてはいます。
しかし、見当違いの値が入ってるとかならともかく、
エラーがでるってことは、仰るとおり他がダメそうですねぇ。
普通のアドレスで良いと、分かっただけでも助かりました。
もう一度ハァハァしながら見直してみます。レスありがとうございました。
0344デフォルトの名無しさん
NGNGあるいはnSizeがおかしいとか(0だとエラーになるのかな?)
0345デフォルトの名無しさん
NGNGInsertMenu等でシステムメニューを追加したのですが
その追加したメニューにサブメニューって作る事はできますか?
0346
NGNGBuild5から代々Duild11まで気付かないのは、それだけ過去ログを見ない人が多いのか・・・
正しくは
http://pc.2ch.net/tech/kako/1017/10170/1017072275.html
で過去ログさらっと見たところ無かったので質問させてください。
名前付きmutexの名前一覧を取得する方法はありますか?
何か過去ログ見ると、SPYでmutexの文字列見つけて・・・っていうのが
あったので、SPYで出来るんならAPIがあると思うんですが。。。
0347
NGNGCreatePopupMenu()でサブメニュー作る。
で InsertMenuItem() でメニューにサブメニューを追加、かな?
0348デフォルトの名無しさん
NGNGメニューを付けずにツールバーだけを付けたウィンドウの場合、
あの境界線が見えてしまってかっこ悪いです。
0349デフォルトの名無しさん
NGNGありがとうございます。
早速試してみます。
0350デフォルトの名無しさん
NGNGドラッグして他のウインドウの上にあわせたりできますよね
あれってどうやって実現してるんですか?
0351デフォルトの名無しさん
NGNG多分だけど、ドラッグされたらカーソルをファインダーのアイコンに変えて
逐一WindowFromPointあたりの関数使ってターゲットされてるウインドウを取得して
そのウインドウにドラッグ判定させて枠表示・・・みたいな感じじゃないかなぁ
Spy++の中身見てみないと分からないが
0352デフォルトの名無しさん
NGNG猫にそのものズバリが有ったりする
0353デフォルトの名無しさん
NGNG出せますよね。
あれをやりたいのですが、参考になるサイトとかありませんでしょうか?
0354デフォルトの名無しさん
NGNG下のほうにあるよ。
0355デフォルトの名無しさん
NGNGさんくす。やってみます。
0356質問
NGNG親窓に子窓をはりつけて、子窓のウィンドウプロシージャ内で
WM_KEYを待っているのですが送られてきません。親窓に送られて
いるようです。マウスイベントは子窓で受け取れているのですが、
キーイベントはどうしたら受け取れますか?
0357名無し@沢村
NGNGSetFocus()
0358デフォルトの名無しさん
NGNG後から取り消すことはできないのですか?
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNGDigital Mars C++がメインでOpenWatcomも入れてる。
OpenWatcomはコンパイラの他にIDE, vi風エディタ(日本語非対応),
アセンブラ, obj逆アセンブラ, リソースエディタと一通りそろっている。
各コンパイラの詳細は専用スレで聞いた方が早い。
タダで使えるBorland C++ part2
http://pc2.2ch.net/test/read.cgi/tech/1030493157/l50
OpenWatcom C++
http://pc2.2ch.net/test/read.cgi/tech/1033433728/l50
"Code of the Nerds" Digital Mars C/C++
http://pc2.2ch.net/test/read.cgi/tech/1044210976/l50
MinGWを使おう
http://pc2.2ch.net/test/read.cgi/tech/1042611308/l50
GCCについて part2
http://pc2.2ch.net/test/read.cgi/tech/1046179115/l50
タダで最強!フリーC/C++コンパイラ
http://pc2.2ch.net/test/read.cgi/tech/1035882599/l50
0361デフォルトの名無しさん
NGNGスマソ。
0362デフォルトの名無しさん
NGNGとして使うのは無理なんでしょうか?(関数内では使えることを確認してます)
インクルードファイルがwindows.hだけではだめとか?
0363デフォルトの名無しさん
NGNGできる。
なぜ、できないと思ったのかは知らんが・・・
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNGこの二つの言葉の意味を教えてください。
0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG0370
NGNGハンドルってかなり抽象的だよね。何にでも使えるし。
ようするに、ある何かのデータ空間の1つのデータに対する一意なindexの事だよ。
0371デフォルトの名無しさん
NGNGその車のハンドルが分かれば、その車を操作できるようになるよ
0372デフォルトの名無しさん
NGNGlngReturn = NetMessageBufferSend(NULL,address,fromname,(BYTE *)msg,sizeof(WCHAR) * lstrlenW(msg));
とした時にlngReturnの値がAPI本と合いません。
相手(送信先)が存在しない場合にlngReturn == 2273になるはずですが
225が帰ってきます。
何故でしょう?
0373デフォルトの名無しさん
NGNGゲットディーシーの意味など分かりやすく説明してください
ゲットディーシーが何をしてオブジェクトと構造体の関係なども教えてください
helpみろとか自分で調べろみたいな荒らしは放置でよろしくお願いします
0374動画直リン
NGNG0375デフォルトの名無しさん
NGNGネタにひねりがない
0376デフォルトの名無しさん
NGNG0377
NGNGなるほど、高度な釣りとはこうやるのか。
質問の回答ではないけどマジレスすると、
「何が分からないのか分かってから質問を書く」
「何から何まで全ていっぺんに教えてもらおうとする」
事はしない方がいいと思うよ。社会でもネットでも。
0378
NGNG↓
「何が分からないのか分かってないのに質問を書く」
0379デフォルトの名無しさん
NGNG↑
これってアリ?
0382デフォルトの名無しさん
NGNGどうぞ
0383デフォルトの名無しさん
NGNG0384362
NGNGだとうまくいきました.
POINT mona;
giko.x = 2;
giko.y = 2;
だとerror C2501,C2371が出るのは正常なんでしょうか?
0385デフォルトの名無しさん
NGNGgikoなのかmonaなのかはっきりせい。…というのはどーでもいいが、
グローバルでは変数/関数の"宣言"以外のことはできない。
> giko.x = 2;
> giko.y = 2;
代入とか禁止。
0386デフォルトの名無しさん
NGNG0387362
NGNGなるほど.ありがとうございますた.
#monaはgikoの間違いでした.スマソ
0388デフォルトの名無しさん
NGNG誤爆なんかな?
でも、
・例えば検問を知らずにシートベルトしない
・検問をしているのを知っているので、せめてその間はシートベルトする
では、どちらが本当に正しいのか。
0389デフォルトの名無しさん
NGNGどんな風に実装されているの?ポインタだけでもいいんで教えてください。
0390デフォルトの名無しさん
NGNGウィンドウのクライアント領域を任意に操作することは
できるのでしょうか?
例えばコントロールで上下左右に10ピクセルの非クライアント領域
を設けてそこはPGから触れないようにしたいのですが。。。
0391デフォルトの名無しさん
NGNG描画の制限だけならSelectClipRgn
0392390
NGNGレスありがとうございます。
PGにはあくまで左上を原点として描画させたいので、できれば
リージョンではなくクライアント領域を変更したいのですが。。。
0393デフォルトの名無しさん
NGNGWM_NCシリーズで色々するんじゃなかったかな。
とりあえずクライアント領域のサイズ変えるのはWM_NCCALCSIZE。
0394デフォルトの名無しさん
NGNGそれではSetViewportExtEx とか SetWindowExtEx とか。
0395394
NGNGSetViewportOrgEx か SetWindowOrgEx
0396390
NGNGスゴイ!APIではなくてWMなのですね。MSDNでも日本語訳のSDKドキュメント
がなく全く知りませんでした。
>>394-395
クライアント領域を触らずに実現する方法もあるんですネ。
PGはクライアント、非クライアントを区別せず、ただDCに
描画するだけなので、十分にいけそうです。
両方の方法で試してみたいと思います。
レスをくださった皆さんどうもありがとうございました。m(__)m
0397デフォルトの名無しさん
NGNGhttp://members.goo.ne.jp/home/madcap0
0398デフォルトの名無しさん
NGNGWM(Window Message)はAPIに送るメッセージ(定数)。てか、釣られちゃった?
0399デフォルトの名無しさん
NGNG?
0400390
NGNGいえ、僕の書き方が紛らわしかったです。
クライアント領域に十分なウィンドウサイズを計算する
AdjustWindowRect()みたいな関数があるので、クライアント領域
サイズを変更するSetWindowRect()、SetClientRect()みたいな関数
もあるのかと思ったもので。。。
0401372
NGNG失礼しました<m(__)m>
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGRaiseException
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNGHANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
if(hConsole != INVALID_HANDLE_VALUE){
TCHAR szMessage[] = "hello";
DWORD dwWritten;
WriteFile(hConsole, szMessage, lstrlen(szMessage), &dwWritten, NULL);
}
このようなプログラムをコマンドプロンプトから実行しても、dwWrittenは0で
何も表示されませんでした。
0406デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGDOS窓から起動すると、「別のDOS窓を開く」コンソールアプリは
可能かもしらんが。
0409デフォルトの名無しさん
NGNGよろしくおながいします。
DOS窓が起動しないコンソールアプリを作りたいのですが、
可能でしょうか。可能でしたら、ぜひやり方を知りたいのですが…。
VC++6.0です。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNGAppWizardで「ダイアログアプリケーション」のスケルトンを作成し、CxxxApp::InitInstanceの
dlg.DoModal()付近をばっさり削除。
0412デフォルトの名無しさん
NGNG猫でもわかるプログラミングでこのように使われていたのですが、
どうもこれではビットマップのハンドルが得られないみたいなんです。
何が間違ってるんでしょうか、どなたかアドバイスをお願いします。m(_ _)m
0413デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/library/jpgdipf/_win32_loadbitmap.htm
"MYBMP"はリソース名
IDB_BITMAP1はリソースID、おわかりか?
しかし何ゆえ"IDB_BITMAP1"を"MYBMP"に変更したんだ?
それじゃ的確なレスは得られないぞ。
0414412
NGNGしかしIDB_BITMAP1にしてもうまくいかないです……どうしてでしょうか。
hBitmap = LoadBitmap(hInst, "IDB_BITMAP1");
0415デフォルトの名無しさん
NGNGお前少しは読め。
0416デフォルトの名無しさん
NGNG引数の意味がわかってないと思われ。
0417デフォルトの名無しさん
NGNG413のリンク先のパラメータのとこ見てみ。
0418デフォルトの名無しさん
NGNGエラーコードくらい調べろ。
0419デフォルトの名無しさん
NGNG現在は、IPictureを用いて画像を読み込んでいます。
要件
1.IE5.01以降がインストールされているwindowsマシン上で動作すること。
2.PNGをHDCに書き込めること。
3.サイズが極力小さいこと(20kB位)。
4.できれば、IPictureのものは拡大縮小するとジャギーが目立つので目立たないよ
うにしたい。
5.jpeg、gifも表示したい。
以上のことをするには、windows内の機能を使うしかないと思っています。
IEはPNGを表示することが可能ですので、IEコンポーネントを使えばできそうなので
すが、、、。
なにか、ご存知の方いらっしゃいましたら、ご教授ください。
よろしくお願いします。
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGXPならAttachConsoleでできるかも
0422
NGNG現在の状態がコンソールかGUIかが分かれば、
それに合わせて別々のexeを起動させればいいんだけどな。
そういうAPIあるのかな。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGそうでなければGUIを起動で良いんじゃないの?
Launch.exe:起動時のフォアグランドウィンドウによってGUI.exe或いは
GUI.EXEを起動して終了するプログラム
CUI.EXE:CUIベースのプログラム
GUI.EXE:GUIベースのプログラム
COMMON.DLL:CUI.EXE,GUI.EXEで共通に使う
0425デフォルトの名無しさん
NGNG1.Launch.exeがsubsystem:consoleのばあい。
1.1.cmd.exeから起動した場合 ..OK
1.2.explorerから起動した場合
Launch.exeの起動準備として、コマンドプロンプトが出現する..NG
2.Launch.exeがsubsystem:windowsのばあい
2.1.cmd.exeから起動した場合
launch.exeの起動準備として、現在のコマンドプロンプトと切り離される..NG
2.2.explorerから起動した場合 ..OK
0427デフォルトの名無しさん
NGNG禿げしくガイシュツ
0428デフォルトの名無しさん
NGNGGDI+は上司にだめといわれてしまいました。
IEは、IMGUTIL.DLLと、PNGFILT.DLLを使っていることはわかったのですが、
情報が公開されていないので、Dependency Warkerでこんな関数があるのかぁ。
ってところまでしか調べられませんでした。
PNGFILT.DLLもどっかのサイトでみたら,
zlibを使っているようなことは書いてありました。
MSがサポートしていないのであれば、やめたほうがよいといわれたので、
とりあえず、普通に、zlibとlibpngを入れて、エンコード部分は
削ろうかなぁと考えています。
0429デフォルトの名無しさん
NGNGATLのCImageにpng/jpg/gif読み書き機能が一通りあったはず。
拡大縮小は、HDCとってGDIでやれば良い(SetStretchBltModeを
忘れずに)。
0430デフォルトの名無しさん
NGNGCImageはGDI+だが。
0431409
NGNG上手く行きました。
ありがとうございました。
助かりました。
0432デフォルトの名無しさん
NGNGsubsystem:windowsで作って、コマンドプロンプトから起動されたことさえ判別できれば、
AttachConsoleで親のコマンドプロンプトに再接続できる。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGWM_CREATE:で以下の処理をしたのですが、バルーンツールチップが
表示されません。どこがまずいのでしょうか?
InitCommonControls();
hwndToolTips = CreateWindow(TOOLTIPS_CLASS,
NULL,
WS_POPUP | TTS_NOPREFIX | TTS_BALLOON,
0, 0,
0, 0,
NULL, NULL,
hInst,
NULL);
if (hwndToolTips)
{
// Do the standard ToolTip coding.
TOOLINFO ti;
ti.cbSize = sizeof(ti);
ti.uFlags = TTF_TRANSPARENT | TTF_CENTERTIP;
ti.hwnd = hWnd;
ti.uId = 0;
ti.hinst = NULL;
ti.lpszText = "TEST";
GetClientRect(hWnd, &ti.rect);
SendMessage(hwndToolTips, TTM_ADDTOOL, 0, (LPARAM) &ti );
SendMessage(hWnd, TB_SETTOOLTIPS, (WPARAM)hwndToolTips, 0);
}
0435デフォルトの名無しさん
NGNG再接続はできるけど
cmd.exeはすでにプロンプトに戻ってるから何か不具合あるかも
0436デフォルトの名無しさん
NGNGタイムアウト前に接続できればうまいことやってくれるんじゃ?
…今度試してみよ
0437山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGひょっとして既にサポート外でしょうか?
0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGDIBSectionさえ作れば、後はGDIなりフレームバッファ直接操作なりで
何でも自由に描画・表示できるよ。
0446デフォルトの名無しさん
NGNG常駐していた状態で他のアプリケーションがでフリーズするとOS巻き込んで落ちてしまいます。
何か対策はありませんか?
システムフックは
アクティブウィンドウの変更を通知してるだけです。
0447>>446
NGNG「びっくりするほどユートピア!びっくりするほどユートピア!」
とハイトーンで連呼しながらベットを昇り降りする
これを10分程続ければOK!
0448デフォルトの名無しさん
NGNGIEの選択文字の取得をしたいのですが
WM_GETTEXTが使えません。(当然なのかな…?)
クリップボード経由は可能ですがなるべく直接APIでたたきたいとおもっています。
0449デフォルトの名無しさん
NGNG>>447
0450デフォルトの名無しさん
NGNG擬似的に立体的に見えるように、輝度を上下させる(光の当り、影)。
2Dだろうが、3Dだろうが、所詮は点の集まり。だが、表示するまでの
計算がものすごく大変。
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG漏れもフックで悩んでる。
SetWindowsHookExでフックしてるんだけど
VCのデバッグモードに移行すると固まってしまう。
デバッグ時にはフックしないで開発してるんだけど
なんか、根本的な対策は無いのかな?
0453デフォルトの名無しさん
NGNGDirect3D
0454デフォルトの名無しさん
NGNGデバイスコンテキストの説明っていうか概念ていうか・・
淡々と説明しすぎ!そういう言葉を使えばいいってのは理解したけど、
頭で想像できないんだYO!
ハンドルはなんとなーくわかってきたんだけどね・・・
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG検索したらいっぱい出てくるような気がするんだけど。
デバイスコンテキストの説明
0457デフォルトの名無しさん
NGNGこのへん、買って読め
プログラミングWindows第5版〈上〉〈下〉
http://www.amazon.co.jp/exec/obidos/ASIN/4756136001/qid%3D1054194286/250-6035787-5681835
http://www.amazon.co.jp/exec/obidos/ASIN/475613601X/qid%3D1054194329/250-6035787-5681835
0458デフォルトの名無しさん
NGNGおまいが買って、教えてくれよ
0459デフォルトの名無しさん
NGNGネットを引けば分かる程度のこともする気力がないのかチミは
0460デフォルトの名無しさん
NGNG最近だとWebだけでも結構知識を得られるものだが、それでもなお一読をすすめる。
値段以上の収穫は>>461が保証してくれる。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNGタケ−し、古いし、読み図例
図書館で十分
0464デフォルトの名無しさん
NGNG漏れも同じ事で悩んでる。フックはDLLにして使う場合が多いけど
今、WH_JOURNALRECORDでアプリの中に実装してるんだけど
ブレークポイントとか指定してデバッグモードに入ると落ちる(固まる)
でも、ここには、この問題を解決できる人がいない罠(w
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNGあきらめてリモートデバッグしる。
0467デフォルトの名無しさん
NGNGそのネタなつかしい
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNGYou is a big fool man.だったっけ?>>元ネタ
0470デフォルトの名無しさん
NGNGOpenGL
0471デフォルトの名無しさん
NGNGDirectXは?
0472デフォルトの名無しさん
NGNGガイシュツだからひねったんだろ
0473デフォルトの名無しさん
NGNGバルーンのメッセージ取れるって MSDN に書いてるけど、
試したところ WM_CONTEXTMENU, NIN_SELECT, NIN_KEYSELECT は取れるが
NIN_BALLOONSHOW とかは XP(Shell 6.0) 以降じゃないと取れません。
何かやり方あるんでしょうか?
msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shell_notifyicon.asp
0474デフォルトの名無しさん
NGNGまず全裸になり、自分の尻を両手でバンバン叩きながら白目をむき
「びっくりするほどユートピア!びっくりするほどユートピア!」
とハイトーンで連呼しながらベットを昇り降りする
これを10分程続ければOK!
0475デフォルトの名無しさん
NGNGこれって実際にやったことある奴は何人ぐらいいるんだろうね。
0476デフォルトの名無しさん
NGNGそこに書いてあるNIM_SETVERSIONとかいうのはどうよ
0477デフォルトの名無しさん
NGNGどうすればよいですか?
0478デフォルトの名無しさん
NGNG低レベルな質問->ぐぐれ or 本読め
中レベルな質問->まず全裸になり(以下略)
高レベルな質問->無視
って方向だね。
ム板の中で漏れでも住人になれる数少ないスレだよ。
0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNGまず全裸になり、自分の尻を両手でバンバン叩きながら白目をむき
「びっくりするほどユートピア!びっくりするほどユートピア!」
とハイトーンで連呼しながらベットを昇り降りする
これを10分程続ければOK!
0481デフォルトの名無しさん
NGNGで、参照してくださって書籍はすでに持っています。上・下両方ね。
でもわかんなくない?サイトも、たんたんとデバイスなんたらかんたらハンドルとは〜〜
とか書いてあるけど、全然頭で浮かび上がらない。どんな風にCPUが働いてOSが教えてくれるのかとか
みんな頭で絵を浮かびながらコーディングしてない?俺はそうしてるんだけど
で、マジでわかんないんすよ(泣
ご指導お願いします
0482JOJOの奇妙なAPI
NGNG講師:吉良吉影
フウウウウウウ〜〜〜
わたしは…子供のころ…チャールズ ペゾルド の「プログラミングWindows第5版」って
ありますよね…あの本…Laoxザコン館で見たときですね。
あの「オブジェクト」が必ず持ってる識別子・・・「ウィンドウハンドル」…
あれ…初めて見た時…なんていうか…その…下品なんですが…
フフ…勃起…しちゃいましてね…
「ウィンドウハンドル」のとこだけ切り抜いてしばらく…部屋にかざってました。
(第1回終了)
0483デフォルトの名無しさん
NGNG>どんな風にCPUが働いてOSが教えてくれるのかとか
そんなことを考える必要がなくていいようになってる。
今は、
「 考 え る な 」
最初にCをやったときに、
とりあえず「#include <stdio.h>」を書いとけ、と言われたろ?
それと一緒だ。
0484デフォルトの名無しさん
NGNGグローバルフックを止めたらすべてのアプリに影響が及ぶんだから、無理だと思うのが普通でしょ。
0485win32APIミッドナイト
NGNG>>481
windowsのウィンドウハンドルは識別子ですヨ
これからも全てのオブジェクトを指定するのはハンドルです
JAVA使ってる奴からみればハンドルなんて意味ないですヨ
でもやっぱりwin32API使う以上は必要だと思ってるワケです
各オブジェクトを確実に指定できる型でありたい
ただ ただそれだけですヨ――――
ハンドルはあってあたり前
それを特殊と思わない心なんですヨ
プログラム中どこで参照しても破綻はナイと思ってるんです
windowsというアンダーグランドな世界で
オブジェクトを指定できる型でいたいんですヨ
0486デフォルトの名無しさん
NGNGさんくす。他のレスくれたみなさんもありがとー。
そうういことにしときます。すいませんでした〜
0487デフォルトの名無しさん
NGNG解析により、ついに管理人コマンド割り出しに成功した模様。
鯖が認識するとそのスレッドナンバーがあぼーんされる。
以下方法。
名前に『山崎渉』、メールに『ds8g15EG8h1r9R9g9d7E』。←暗号化されたパスワード
本文に、
command dell レスナンバー(ここに消したいレスナンバー記入)
end
こう記入して書き込み。
山崎って言う人はどうやらcgiなんかの管理人さんの本名らしい。
おそらく早急な対策が打たれると思うので、消したいレスがある人は急げ。
0488473
NGNGレスありがとう。
NIM_SETVERSION 設定してるんですが
WinMe (5.50.4134.100) なら可能だったので
やっぱり shell32.dll のバージョンが足りない様です
5.0.3502.6144 なのに...
0489山崎渉
NGNGend
0490デフォルトの名無しさん
NGNGdellだって。学がないね。激藁
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNGExcel等でMDIの最小化、アイコン化ボタンがメニューバーにくっついて
いますが、これってどうやって実現しているのでしょうか?
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG「DELete Line」の略なんだよ。多分。
0495デフォルトの名無しさん
NGNGその後に文字をうまくアンチェリをかけて描画することができません
これって1ビットづつチマチマ調べて描くしかないんでしょうか?
できれば例なんかいただけると嬉しいです
0496デフォルトの名無しさん
NGNG? MDIの仕様に文句言いたいって事?
あそこ以外のどこに描けと...
0497デフォルトの名無しさん
NGNGどうやったらそんな解釈が・・・
0498デフォルトの名無しさん
NGNGテクスチャに転送してレンダリングすれば自動
0499デフォルトの名無しさん
NGNGボタンのウィンドウハンドルも取れないみたいですし、
どうやったらオーナードローができるのでしょうか。
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG>>500
まず全裸になり、自分の尻を両手でバンバン叩きながら白目をむき
「びっくりするほどユートピア!びっくりするほどユートピア!」
とハイトーンで連呼しながらベットを昇り降りする
これを10分程続ければOK!
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNGまあ、普通はstd::vectorだな
0505デフォルトの名無しさん
NGNGdwStyle:
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | WS_TABSTOP | LBS_NOTIFY
dwExStyle:
WS_EX_CLIENTEDGE
で作成したんですがスクロールが遅いです。
MSDNライブラリの「キーワード」みたいな
高速にスクロールするリストボックスはどの指定で行うのですか?
0506デフォルトの名無しさん
NGNGウインアプリだと、文字のサイズが一定でないので困っています。同じにする方法
を教えてください。
0507名無し@沢村
NGNGHFONT
0508デフォルトの名無しさん
NGNGフォントにはプロショーナルフォントと等幅フォントの二種類があるのじゃよ。
↓続き
0509デフォルトの名無しさん
NGNGどう困っているのよ?
0510デフォルトの名無しさん
NGNG(MessageBoxでMB_TASKMODALが指定された状態と同様の効果を得る)には
どのようにしたらよいですか?
0511デフォルトの名無しさん
NGNG>>507
それで調べて見ると、猫の所にいけました。どこを変えれば出来るかは
分かりませんが。
>>508
TrueTipeのことですか?フォント自体にそれが決まっているのか、フォント
には関係なく、属性として与えるのかわからないです。
>>509
うまく説明できませんが、背景の色を変えた文字を使用していて、その位置
に同じバイト数の文字列を持ってきた時、コンソールなら前のがきれいに
消えて新しく表示されますが、サイズが変わって特に後のほうが小さい時は
前野が消えずに残ってしまいます。
0512デフォルトの名無しさん
NGNGま、Windowsプログラミングの基礎からやっていけや
0513デフォルトの名無しさん
NGNGたとえば
「MS Pゴシック」とかがプロポーショナルフォントで、文字ごとに幅が違うの。
「MS ゴシック」は等幅フォントで、文字の幅が全部同じ。
0514デフォルトの名無しさん
NGNGはい。がんがります。
>>513
CreateフォントでMS ゴシックにしてもダメでした。他のパラメータが
違うのでしょうか。
hFont = CreateFont(32,//フォント高さ
32,//文字幅
0,//テキストの角度
0,//ベースラインとx軸との角度
FW_REGULAR,//フォントの重さ(太さ)
FALSE,//イタリック体
FALSE,//アンダーライン
FALSE,//打ち消し線
SHIFTJIS_CHARSET,//文字セット
OUT_DEFAULT_PRECIS,//出力精度
CLIP_DEFAULT_PRECIS,//クリッピング精度
PROOF_QUALITY,//出力品質
FIXED_PITCH | FF_MODERN,//ピッチとファミリー
"MS ゴシック");//書体名
0515デフォルトの名無しさん
NGNG>サイズが変わって特に後のほうが小さい時は
>前野が消えずに残ってしまいます。
これってプロポーショナル云々じゃなくて前回の描画領域を背景で塗りつぶせってことじゃないの?
0516デフォルトの名無しさん
NGNGフォントサイズが変わる、なの?
0517デフォルトの名無しさん
NGNG先に表示した100ポイントの文字が後ろからはみ出て見えてしまう、ということでは?
0518デフォルトの名無しさん
NGNGそうです。それを解決したいのもありますが、とにかく同じサイズに表示
したいんです。他の問題点としては文字列サイズを指定したものを縦に並
べて表示していく時、ベこぼこになってしまいます。
0519デフォルトの名無しさん
NGNGコンソールのはABCDEを表示、改行、abcdeと表示するとCとcは同じ位置に
表示されますよね。ただ、ウインの方は、かなりずれます。インターネット
でも同じですが。それを利用して面白いAAができたと言う利点もありますが。
ABCDE
abcde
>>517
そうです。1文字32ピクセルの"ABCDE"の上に、同サイズの"abcde"を上書き
すると、コンソールではabcdeのみ表示されますが、ウインだとabcdEと
なります。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNGそれ見る限り、ちゃんとMSゴシックが表示されてないんじゃないかと
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG問題はそれではありませんでした。次に書きますが。
>>521
やってしまっていました。SelectObjectを入れ忘れていました。入れたら
出来ました。すいません。本当にごめんなさい。答えてくださったみなさま、
どうもありがとうございました。逝って来ます。
0524デフォルトの名無しさん
NGNGそれは大丈夫みたいです。スペースを入れまくったりしても大丈夫でした。
0525デフォルトの名無しさん
NGNGHFONT hFont = (HFONT) GetStockObject(SYSTEM_FIXED_FONT);
HFONT hFontOld = (HFONT) SelectObject(hDC, hFont);
TextOut(〜);
SelectObject(hDC, hFontOld);
0526デフォルトの名無しさん
NGNGおおっいいですね。簡単にできます。ありがとうございました。
0527510
NGNG自己レスっす。
手でガリガリ書くしかないようです。
EnumThreadWindows()でウィンドウ一覧を獲得し、
自分以外のウィンドウをEnableWindow(FALSE)して解決しました。
0528デフォルトの名無しさん
NGNG押されたキーボードのキーが何が押されたか監視し、
そのキーが押されたときに他のキーが押されたと認識されるやり方が解る方いますでしょうか?
よければ教えてください。
例:F12キーが押された場合CTRL+Numberキーが押された事にする。
という感じです。
0529デフォルトの名無しさん
NGNGSetWindowsHookExでWH_KEYBOARDを引っかける。
0530デフォルトの名無しさん
NGNG任意のアプリケーションが呼び出すWin32APIを監視(?)して、
自分で作成したDLL内の関数にすりかえる方法ってあるでしょうか?
自作DLLの注入は出来ても、Win32APIを偽装することは無理なんでしょうか?
0532名無し@沢村
NGNG0533デフォルトの名無しさん
NGNGMoveTo
LineTo
など
0534名無し@沢村
NGNGMoveToとLineToの升目の中に文字や計算式を入力するWin32APIは?
0535デフォルトの名無しさん
NGNGAPIつーかエディットコントロールでも貼り付ければ?
0536デフォルトの名無しさん
NGNG0537名無し@沢村
NGNGMoveToとLineToの間の升目の数だけエディットコントロールを貼り付けるのか?
膨大な数のエディットコントロールができるな…
0538名無し@村沢
NGNGハローワールドの次の作品作っているのかな?
期待してるよん。
0539デフォルトの名無しさん
NGNGプロセスの使用メモリを小さくする、最も一般的な方法を教えてください。
単にウィンドウを開くだけのプログラムでも、
2MB近く消費しているようなのですが…。
0540デフォルトの名無しさん
NGNG・スタートアップコードを自分で書く
・スタックを極限まで減らす
0541デフォルトの名無しさん
NGNGウインドウを作成し表示したらいったん最小化して戻す
0542539
NGNG>>540
スタートアップコードはいじったことがありませんでした。勉強してみます。
スタックを減らすというのは、具体的には何をすればいいんでしょう…。
>>541
画面表示状態によって使用メモリが変化するんですね。これは知りませんでした。
よく考えてみると、使用メモリが小さいプロセスというのは、
ウィンドウが表示されていないものばかりでした。
タスクマネージャを見ると使用メモリが小さなものがあったので、特別な方法が
あるものと思い込んでしまったのですが、私の早とちりだったかもしれません。
0543デフォルトの名無しさん
NGNGcase WM_INITDIALOG: {
ShowWindow(hWnd, SW_HIDE);
のようにしていますが消えてくれません。
Windowを表示しないようにするにはどうしたらいいですか。
0544
NGNG0545デフォルトの名無しさん
NGNGリストビューコントロールにLVS_EDITLABELSのスタイルを指定すると
エディット可能になるよ。
LVS_EX_GRIDLINESも指定するとグリッド線が描かれる。
>>543
ダイアログがメインウィンドウだと非表示にしようとしても、勝手に表示
された記憶がある。そうでないなら、普通に消せたかと。
0547530
NGNG0548Win32SDK勉強中 ◆Win32BkCJ.
NGNGうん、間違えてる。
UpdateWindowだね
0549デフォルトの名無しさん
NGNGそれ、俺も昔悩まされた
DoModal()ではなくCreate()を使ってウィンドウ作成すれば表示されない
表示するときはShowWindowする
それとそのウィンドウ閉じたときは
OnCancel()は呼ばれずWM_DESTROYが送られる
その後DestroyWindow()してメモリ解放
0550デフォルトの名無しさん
NGNGAPIフックなんてググればすぐに出てくると思うが?
0551デフォルトの名無しさん
NGNGいま編集対象になってる升にだけあればいいんでは。
升ごとにテキストバッファを持っとかないといけないけど。
0552名無し@沢村
NGNG「Advanced Windows」買え
0553デフォルトの名無しさん
NGNGWindows 2000 Advanced Server?
0554名無し@沢村
NGNG本
0555デフォルトの名無しさん
NGNGAdvanced には載ってない
0556デフォルトの名無しさん
NGNGどうすればよいでしょうか?
デスクトップのハンドルを取得して、WM_LBUTTONDOWNメッセージを
SendMessageで送信してみたのですが、上手くいきません。
おおざっぱでいいので教えてください。よろしくおねがいします。
0557デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
で似たような質問があった。答えもあった。
0558デフォルトの名無しさん
NGNGデスクトップではなくて、メッセージを送りたいウインドウのハンドルを取得しないとダメなんじゃない?
0559直リン
NGNG0560デフォルトの名無しさん
NGNGmouse_event
0561デフォルトの名無しさん
NGNGconst int y=100,x=100;
case WM_LBUTTONDOWN:
if(LOWORD(lParam)!=x||HIWORD(lParam)!=y)break;
hdc=GetDC(hWnd);
TextOut(hdc,x,y,"指定した位置を押しました",24);
ReleaseDC(hWnd,hdc);
break;
0562530
NGNG改訂第4版に追記されてたんですね。
以前の版を持ってるんで、買いたくないんですけど・・・。
どなたかソース貼って貰えませんか?
0563デフォルトの名無しさん
NGNGDLLの注入までできているなら
後はインポートテーブルを書きかえるだけじゃないか
GetProcAddressの返り値の加工も必要かもしれないが
0564530
NGNGインポートテーブルの書きかえですか。
なるほど。ありがとうございます。
それくらいならAdvancedWindows買わなくてもなんとか出来そうです。
AdvancedWindowsでも同様の方法が記述されているんでしょうかね?
0565デフォルトの名無しさん
NGNG相当オーバーヘッド大きい?
0566デフォルトの名無しさん
NGNGそのスタイルだけ見てわかるかw
項目が1万くらいあるっていうなら仮想リストボックス、
5億ぐらいあるんだったら仮想リストビューにしとけ
0567デフォルトの名無しさん
NGNGttp://www.codeguru.com/system/apihook.html
0568デフォルトの名無しさん
NGNGttp://www.geocities.co.jp/SiliconValley-Oakland/7565/
あと、
ttp://www.geocities.co.jp/Playtown-Domino/8282/
とかか?まぁ、クラックガンガレ
0569デフォルトの名無しさん
NGNGどうやったらよいのでしょうか?
0571デフォルトの名無しさん
NGNGそのAPIを提供しているDLLをこういうの http://www.dependencywalker.com/ とかを
使って特定し、そのDLLに被さるDLLを作って乗っ取ればOKでは?
0572デフォルトの名無しさん
NGNGVB6 SP5
Win2000
Exe起動直後にALT+F4を押し、そこで起きるイベント(QueryUnload)時に
GetMenuItemInfoを使って閉じるメニューの情報を取得しているのですが、
うまく情報を取得することができないです。
一度メニューバーをクリックした後にALT+F4をするとうまく取得できるのですが。
起動直後にうまく情報を取得するにはどうしたら良いでしょうか?
'×ボタンのメニュー情報を取得
With Mnu
.cbSize = Len(Mnu)
.dwTypeData = String(80, 0)
.cch = Len(.dwTypeData)
.fMask = MnuM_STATE
.wID = SC_CLOSE
lngRet = GetMenuItemInfo(hMenu, .wID, False, Mnu)
End With
0573デフォルトの名無しさん
NGNGSetProcessWorkingSetSize
最小化されたときはDefWindowProcか何かがこれを呼んでる
0574
NGNG言語はVC++6.0でMFCのウィザードを使ってます。
0576デフォルトの名無しさん
NGNGWM_SHOWWINDOW では表示/非表示が変更されようとしているタイミングで送られてくるので少しタイミングが早すぎます。
WM_SHOWWINDOW を DeWindowProc 関数に通した後でも変更はまだ反映されていないようです。
御存知の方どうか宜しくお願いします。
0577デフォルトの名無しさん
NGNGSPYでメッセージを追え
0578528
NGNGたいへん遅くなりましたが、ご回答ありがとうございますm(_ _)m
0579デフォルトの名無しさん
NGNG少し早いと思ったら、何か適当なメッセージを自分にPostしとくのはどうか
0580デフォルトの名無しさん
NGNG表示ならWM_PAINTとか
でもLonghornでだめぽになりそうな予感
0581デフォルトの名無しさん
NGNGWM_WINDOWPOSCHANGED
でWINDOWPOSのflagみればいい気もするが。
0582デフォルトの名無しさん
NGNGWindowsでEXE単体で動くちょっとしたツールを作りました
ただちょっとだけセーブデータを保存したくなったんですが、datファイルなどをつくりたくありません
exeファイルのお尻に勝手にデータをくっつけて平気でしょうか
保存する(exeの最後にくっつける)データはおそらく文字列です
0583デフォルトの名無しさん
NGNGありがとうございます。
>>577 氏の発言にしたがいSPYでメッセージを追っていたところ
WM_WINDOWPOSCHANGED が目的に適したメッセージのように思えましたので
WM_WINDOWPOSCHANGED を処理する方向で実装することにしました。
こんなにもたくさんのレスどうもありがとうございました。
0584デフォルトの名無しさん
NGNGページとかは知らないけど多分mixer系APIを使う。
mixerOpenとかmixerGetLineInfoとか。
0585584
NGNGこれくらいしか分かりません。
えーと。Windowsにはn個(大抵はサウンドカードの枚数)の
ミキサーデバイスがあって、各mixerデバイス毎にm個
(サウンドカードの種類による)のミキサーラインがあって、
とかいう概念が基本かな。
どのミキサーラインがWAVEなのかCDなのかLineInなのかというのが
サウンドカードの種類によって違ったりするので、
きっちりやるなら色んな環境でテストしないといけないとか。
0586デフォルトの名無しさん
NGNG答える前にdatファイルを作りたくない理由を聞きたいと思うのはオレだけかな?
0587デフォルトの名無しさん
NGNG予めくっつけておいて、そこを書きかえればいいんじゃないかな。
とかいいつつできないけど。
0588デフォルトの名無しさん
NGNGピクセルのRGBを取り出す方法が分かりません。
24bitで。
0589586
NGNGでも個人用に作るとしてもリビルドしたら、それまでのが消えちゃうよなぁ。
普通に考えるとマズイと思うんだが...
0590デフォルトの名無しさん
NGNG実行中のexeはシステムが開いていて書き込みオープンできないでしょ
>>588
24ビット.bmpのヘッダを除いた部分と同じ
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG「DIBSection」で愚愚ればサンプルが見つかると思うが?
0593デフォルトの名無しさん
NGNG本当に「ちょっとしたツール」なので、ファイルが2個になるのが嫌なだけです
ぶちゃけ「ドラッグインしたファイルを、リストとしてtxtに吐き出すツール」なのですが
出力先の設定を保存しておきたいのです
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGつことで、ちょっとしたツールには余計向かない気がするな。
0597デフォルトの名無しさん
NGNGじゃあ、何がいいの?
0598デフォルトの名無しさん
NGNGツール自体に設定情報の削除機能を入れておけばいいだけの話
アンインストーラーなど必要ない
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNG0601名無し@沢村
NGNG0603デフォルトの名無しさん
NGNGおいらだったらレジストリだな
インストーラやアンインストールは簡便に WSH で作っちゃえばよろし
0604名無し@沢村
NGNGおまいがネット上にサーバを立ち上げて、全ユーザの設定情報を一括管理しろ。
0605デフォルトの名無しさん
NGNGexeA(本体)のリソースにexeB(Aをいじくってから自殺)を仕込んどく。
exeAの終了時にTempにセーブデータとexeBを切り離し、exeA終了。
exeBはexeAの終了(ファイル書き込みが可能になる)を待って
セーブデータの内容をexeAに書き込み、セーブデータを削除してから
exeBは自殺。
どーよ?
0606デフォルトの名無しさん
NGNGどう考えてもiniファイルの方が簡便。
0607デフォルトの名無しさん
NGNGインストーラのないソフトでレジストリは勘弁してくれ。
ここらへんは個人の好みなのかもしれないが。
0608デフォルトの名無しさん
NGNGおなじく。ちょっとしたツールなら迷うことなくINI。
レジストリはいくつもソフトを作ってて
しかもそれが関連してあるときしか意味が無い。
Aというソフトがインストールされていたら実行できるとかね。
ちなみにOSをよく再インストールするので
しょうもないレジストリの使い方をするソフトは
使わないようにしてる。
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG知障?
0612デフォルトの名無しさん
NGNG593の要望は
>ファイルが2個になるのが嫌なだけです
なので、>>609はその要望を満たしていないと思うがどうか。
0613デフォルトの名無しさん
NGNGどうよ?
0614デフォルトの名無しさん
NGNGexeAはexeB終了と同時にこれを削除し
exeAは、安心して終了
0615デフォルトの名無しさん
NGNGオイラはちょっとしたツールにも MRU リストが欲しいからすぐ
CRecentFileList 、ファイル名以外の設定を保存したい時はそれを
派生させたクラスを使う
すると必然的にレジストリに書き込むことになるわけで
.NET の実装見てると、DLL のシェアとレジストリって実はMSも後悔
しるようにも見えるが、オイラは↑で特に困った経験はないなぁ
0616デフォルトの名無しさん
NGNG開発者が困るんじゃなくてユーザが困るって話だろう。
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNGCRecentFileList使うときでもレジストリじゃなくてiniに保存できますよ。
CWinApp::InitInistance()で何かいじくればよかったはず。
0619デフォルトの名無しさん
NGNGCOMやOCXのためのもので一般のアプリが使うのは良いとは思わない。
(シェルはバシバシ使ってるけど)
基本的には.ini形式だろな。これが何だかんだ言って一番安全。
レジストリの場合、こわれたら他のアプリも道連れ。
.INIファイルを秘密の奥深いフォルダーに隠しておく。すべてhidden属性
にセット。同時に100個位、多数ダミーを作る。一回毎にファイル名を
変える。他人にいじられないようにする方法なんていくらでもあるだしょ。
0620デフォルトの名無しさん
NGNG> .INIファイルを秘密の奥深いフォルダーに隠しておく。すべてhidden属性
> にセット。同時に100個位、多数ダミーを作る。一回毎にファイル名を
> 変える。他人にいじられないようにする方法なんていくらでもあるだしょ。
アフォということでいいですか ? > ALL
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG同意。
593はファイルを増やしたくないと言っているのに100個もファイル増やしてどうするよ?
それに論点は「設定を何処にどのように記録するか」であって「如何にしてファイルの改竄を防ぐか」ではない。
0623デフォルトの名無しさん
NGNGWindowsのバージョンによって違う。(95系、NT系では記録されるファイルから違う)
違いを吸収する為にWindows APIがある。
0624デフォルトの名無しさん
NGNGいいよ。
0625デフォルトの名無しさん
NGNG俺のマシン以外ならそれもあり。
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNG後々必ず後悔する。真に有効な設定ファイルがどこにあるかさえ
アプリが知っていれば、設定ファイル方式にするのが良いと思われる。
ダミーを作る作らないは自由。作るのは万が一消された場合のバックアップ
の意味が大きいだろうね。
ただ意外に絶対に消されないような安全なフォルダーを発見するのが難し
い。
0630デフォルトの名無しさん
NGNG元の論点から外れるが、俺には暗号化の方が圧倒的に簡単に思える。
619のやり方ではプログラムはどうやって正しいファイルを知る事が出来るんだ?
ダミーが無数にあり、ファイル名が不定なんだぞ。
大体データの改変はユーザの自己責任で行われるもので
「絶対に消されないような安全なフォルダー」等を意識するのはおかしい。
それに暗号化が必要な情報は消されても全然困らない。
困るのは情報が漏れる事であり、そんなファイルを一般的な形式で記録するのは
危険極まりない。
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG昔レインガルドというネットゲーがあったが
ローカルに保存するファイルにそれをやっていて
速攻でクラックされていた
0634デフォルトの名無しさん
NGNG632も言っているが、効果はある。
プログラミング出来る位の人間には解かれるかもしれないが、絶対に解けない暗号は
在り得ないので、データの重要性に応じて暗号化方式を変えるしかない。
タンスに隠すか、隠し金庫に保管するかで例えると、ビット反転はタンスに隠すかな。
0635デフォルトの名無しさん
NGNG>ただ意外に絶対に消されないような安全なフォルダーを発見するのが難し
>い。
NTFS限定だけどSystem Volume Informationとか。
0636デフォルトの名無しさん
NGNGhttp://www.ntl.co.jp/2/product/plugin/
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNGGetHostName()を使いなされ。
0639デフォルトの名無しさん
NGNG恥の上塗り。
0640デフォルトの名無しさん
NGNGつまらんけど
0641デフォルトの名無しさん
NGNGgethostbyaddrかWSAAsyncGetHostByAddr。
0642デフォルトの名無しさん
NGNG個人で使ってろ。
0643デフォルトの名無しさん
NGNGレジストリーを使うソフトしか使いたく無いよ
レジストリーの使い方の分からない初心者がINIを使え
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGさっそくですが、ファイルが変更されたのを通知してもらうような
API はありますでしょうか?
数秒ごとにファイルが変更されたかチェックするのではなく
変更を OS から知らせてもらうようなイメージです。
よろしくお願いします。
0648デフォルトの名無しさん
NGNG「ちょっとしたツール」でそこまでやるのって
本末転倒というか目的のために手段を選ばないというか
手段が目的化してるというか
0649デフォルトの名無しさん
NGNGFindFirstChangeNotification
ReadDirectoryChangesW
でぐぐれ
0650デフォルトの名無しさん
NGNGウィルスチェッカーに文句言われる可能性があるし
実行可能ファイルを読み出し専用の場所におけないし
あまりいいことないと思う
0651デフォルトの名無しさん
NGNGありがとうごじあます。
さっそくぐぐります。
とりあえずお礼だけ先に^^
0652デフォルトの名無しさん
NGNGはじめのデスクトップをA、新しいデスクトップをBとしたとき
デスクトップをAからBに切り替えても消えないウィンドウを作るには
どうしたら良いのでしょうか?
SetWindowPosでできそうな気がしたんだけどできない...
0654デフォルトの名無しさん
NGNG他のコールバック関数みたいに
パラメータ渡せないっぽいし
0655593
NGNG大変勉強になりました
INI→ファイルが2つになる
レジストリ→嫌いな人が多い。ちょっとしたアプリ程度でレジいじくるなー
複雑な方法→複雑(;´д`)
なかなかままならないものですね
素直に毎回うたせるかな・・・
0656デフォルトの名無しさん
NGNG「ドラッグインしたファイルを、リストとしてtxtに吐き出すツール」
ショートカットにドラッグする。
本体はtxtと一緒に別のフォルダに置く。
0657デフォルトの名無しさん
NGNGで、興味本位でウィンドウを隠して、インジケータに
アイコンを登録してみました。ここまではいいのですが
うまく登録メッセージを受け取ることができません。
サブクラス化もできないし、メッセージのフックも
インストールまではできるのですが結局呼ばれないようです。
だれか、いい方法知りませんか?
0658デフォルトの名無しさん
NGNG意味が分からん
・登録メッセージとは何か
・何のサブクラス化なのか
・何を対象にしたメッセージのフックか
ちゃんと書いてくれ
つかインジケータってタスクトレイのことか?
0659デフォルトの名無しさん
NGNGできんの?
0660デフォルトの名無しさん
NGNGHOOKした時に
SetWindowsHookExの引数に渡した、
HOOKPROC あるでしょ
あのコールバック関数内で、
GetWindowLongみたいに、
ユーザー側で指定した
パラメータ受け取ることって出来ますか?
0661デフォルトの名無しさん
NGNG(´∀` ) < 教えておながい
( ),,,,, \____________
/ ̄ ̄ ̄ ̄ ̄/|
∧ ∧ / /|
/_( ,,)__/ / ┌──────
|| ̄/ | ̄ ̄||/ < ヤダ
||, (___/ || └──────
/
0662デフォルトの名無しさん
NGNGGetWindowLongだったら、ウィンドウハンドルを取れていればできると思うが
0663657
NGNGやっていることは
コンソールのウィンドウハンドル取得
ShowWindowでSW_HIDEを使って隠す
Shell_NotifyIconでタスクバーにアイコン登録
んで、このときにマウス関連のメッセージを受けるために
WM_APPあたりをNOTIFYICONDATA構造体の
uCallbackMessageにセットしておく
ここからが問題で
ウィンドウプロシージャは自前じゃないので
コンソールのウィンドウハンドルからサブクラス化して
メッセージをもらおうとしたけどだめ。サブクラス化できない。
(SPY++で見てもだめっぽい)
んじゃ、SetWindowsHookEx + WH_GETMESSAGEで
メッセージをフックしてみようと。今度はインストールはできるけど、
フックプロシージャを呼んでもらえないみたい。
んで、なんか他にいい方法思いつく人いませんか?
ってことなんですが、うまくできた人とかいます?(長文スマソ
0664デフォルトの名無しさん
NGNG隠しウィンドウを一個クリエイトしとけばいいんでないの?
しらんけど。
0665デフォルトの名無しさん
NGNGDLLにフックプロージャを置いてるか?
0666デフォルトの名無しさん
NGNGちなみにその手のデータを置くべきフォルダの、Microsoftによるお勧めは
shfolder.dll内のSHGetFolderPathを使ってフォルダを取得せよ、ってことになってる。
CSIDL_APPDATAかCSIDL_LOCAL_APPDATAでしょうな。
>663
>664の方法に一票。
0667657
NGNG>664
>666
実はすでに隠しウィンドウのほうで実装は済んでるんだけど
コンソールでできないかなぁといろいろ試してみたかったんです。
もしできたら窓作る分のリソースの消費を抑えられるし。
>665
システムフックじゃないからいらないとは思うけど、一応作ってます。
あっ、もしかしたらシステムのフックにすればいいのかな?
試してみます。
↓
やっぱだめみたい。
どうもコンソールは普通の窓とは仕組みが違うみたい。
0668デフォルトの名無しさん
NGNGコンソールウィンドウよりリソース食わないと思うが
0669デフォルトの名無しさん
NGNGSetWIndowLongを実行したんですが、内容が変更できません。
・↑を実行した直後、GetWindowLongを送ると、どうやらちゃんと書きかえられているようです。
・InvalidataRect、UpdateWindowは指定しましたが、駄目でした。
// 複数選択
::SetWindowLong( hList1, GWL_STYLE, GetWindowLong( GWL_STYLE ) | LBS_EXTENDEDSEL ) );
::UpdateWindow( hList1 );
::UpdateWindow( hMainWin );
::InvalidateRect( hMainWin, NULL, TRUE );
::InvalidateRect( hMainWin, NULL, FALSE );
::InvalidateRect( NULL, NULL, TRUE );
::InvalidateRect( NULL, NULL, FALSE );
// ↑を送っても複数選択できず
もしかして、Window自体作り直すしかない?(^〜^;
0670669
NGNG書き間違えた。
::SetWindowLong( hList1, GWL_STYLE, ::GetWindowLong( hlist1, GWL_STYLE ) | LBS_EXTENDEDSEL ) );
0671デフォルトの名無しさん
NGNG仕様です。
0673LBS_MULTIPLESEL
NGNG俺のことを忘れていないかい・・・
0674669
NGNG無理でした。
最初から複数選択可能「LBS_MULTIPLESEL」or「LBS_EXTENDEDSEL」を付けて
ListBox作ると、途中変更が効かない。
何故だ……確かに、変わっているはずなのに…
0675669
NGNG一度、Windowを作ると、「複数選択」⇔「単一選択」への変更が出来ない。
0676デフォルトの名無しさん
NGNGだから仕様だって。仕様っつうかSDKにちゃんと
「後でスタイル変更しても無効だよ」って書かれている。
取扱説明書を読むのは基本中の基本だよ。
0678デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listboxes/listboxreference/listboxstyles.asp
After the control has been created, these styles cannot be modified, except as noted.
0679デフォルトの名無しさん
NGNG>except as noted.
がポイントだな。
0680デフォルトの名無しさん
NGNGCallNextHookExはいったい何をする関数なんでしょうか?
「次のフックを呼び出す」の意味がイマイチ分かりません。
アドバイスお願いします。
0681デフォルトの名無しさん
NGNGttp://www.kab-studio.com/Programing/Codian/DLL_Hook_SClass/07.html
嫁
0683デフォルトの名無しさん
NGNGあるとこ教えてください
例えば丸いつまみを回すやつとか
0684無料動画直リン
NGNG0686デフォルトの名無しさん
NGNGMSDNを見れば、丸だろうが三角だろうが、好きな形のカスタムコントロールを
作成できるだけの情報は詰まっていると思います。
どこが出来ないかを聞いたほうがいいのではないでしょうか?
0687デフォルトの名無しさん
NGNG初めから出来てる奴を使いたいのです
0688デフォルトの名無しさん
NGNG用意はされていないよ。凝ったコントロールは
そこの会社のプログラマが一生懸命作ったものだから。
そこに尋ねるのがいいと思います。
0689デフォルトの名無しさん
NGNGじゃあ、スレ違い。
0690デフォルトの名無しさん
NGNGこれではまるで役所のたらいまわしだな(w
0691デフォルトの名無しさん
NGNGLinuxでは Lm_sensorの出力を加工して使っていました。
0692デフォルトの名無しさん
NGNG> win32api以外のなかに無い奴
だからつまりwin32apiのなかにある奴ってことだ!
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNGまたUpdateWindow()とは。
0695デフォルトの名無しさん
NGNGRgn+=Rgn
InvalidateRect(h,0,1);
SendMessage(h,WM_PAINT);
0696デフォルトの名無しさん
NGNG指定したりしますよね。
でもなぜか基本型以外のグローバル変数にはvolatileをつけているのを見ません。
なぜですか?
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNGInvalidateRect()は、
指定した矩形を更新リージョンに追加する関数
InvalidateRgn()は、
指定した非矩形(矩形も可)を更新リージョンに追加する関数
UpdateWindow()は、
指定されたウィンドウの更新リージョンが空ではない場合、
ウィンドウへ WM_PAINT メッセージを送信し、
そのウィンドウのクライアント領域を更新する関数
0699デフォルトの名無しさん
NGNGそういうレスはいらないです。あなたの発言でみんなが関わり合いを
避けて結局回答が得られなくなります。
省いてますがintはvolatileなのに、クリティカルセクションやイベントハンドルなどが
volatileでなかったことから質問しているのです。だから安心してください。
0700デフォルトの名無しさん
NGNGいや、そういうレスもらわないように最初からそう書けよ。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGユーザーの最適化コードが複数のスレッドから
直接触るわけじゃないから。
0703デフォルトの名無しさん
NGNGつまりクリティカルセクションやイベントハンドルはそれらを扱う
APIが内部でそのことを考慮してうまく設計されてるからOK。
ということでしょうか?
0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNGどうもお騒がせしました。
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNGこのスレ的にはクリティカルセクションやイベントハンドル
についてだけ答えてればOKでしょ
070851
NGNGが必要なほど過激な最適化は、少なくともMSのコンパイラではやらないと思うが
→じゃあ逆に int の引数については API が考慮してないって事か?
0709デフォルトの名無しさん
NGNGスレ違いだから誤解したままでいてもらおう
0710デフォルトの名無しさん
NGNGスレ違いだから微細は省くが最適化による無限ループにはまって悩むが良かろう
>少なくともMSのコンパイラではやらないと
馬鹿は痛い目を見なければわからん
0711デフォルトの名無しさん
NGNG例えそれが純粋にAPIに関することから始まり、最終的にはコンパイラや
OSの内部の問題になったとしてもそこまで指摘することは自然なことだし
議論としては継続しているじゃないですか。
そのことがスレッドを読みにくくするんですか。
スレ違いなどというものを厳密に守った結果、助言としては誤解を与え得る
中途半端なものになっては本末転倒だが、妙なこだわりに取り付かれた人たちに言っても無駄か。
0712デフォルトの名無しさん
NGNGどこかで見たようなバカだな。
0713デフォルトの名無しさん
NGNGミューテックスやセマフォでロックかけてデータアクセスの同期
取る方が先に来るんじゃ
volatile 付けときゃOKというわけではあるまい
0715デフォルトの名無しさん
NGNGあんたのほうがバカっぽいよ。
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG> 複数のスレッドからアクセスされるintのグローバル変数にはvolatileを
> 指定したりしますよね。
> でもなぜか基本型以外のグローバル変数にはvolatileをつけているのを見ません。
> なぜですか?
と問われても、基本型にvolatileの記述が強制されている訳でもないし、基本型以外に
volatileの記述が禁止されている訳でもないから、意図など分かる訳がない。
コーディングした奴に聞けとしか言えん。
> 省いてますがintはvolatileなのに、クリティカルセクションやイベントハンドルなどが
> volatileでなかったことから質問しているのです。だから安心してください。
何が安心してくださいだ。逝って良し!!
0718デフォルトの名無しさん
NGNGコピペに使えるな。もらっておこう。
0720デフォルトの名無しさん
NGNGこの板から出てって下さい。ウザイです。
0721デフォルトの名無しさん
NGNGワロタ。オレももらうよ。早く使える日が来ないかな。
0722デフォルトの名無しさん
NGNGShellExecuteとSHFileOperationをつかってたんだけど
もっとスマートな方法がありそうなきがして…
0723デフォルトの名無しさん
NGNGFindFirstFileとかMoveFileはどうよ?
0724デフォルトの名無しさん
NGNGそれでいいんじゃないの。
俺もFindFirstFile使うけど、別にこれがスマートって訳じゃないし。
0725デフォルトの名無しさん
NGNGWindows2000のDocuments and Settingsフォルダのパス情報を取得するAPIってあるのでしょうか?
テンポラリフォルダのパスを取得するAPIがあるのは知っているので、このAPIで取得したパスから
フォルダ階層をさかのぼっていけば取れるとは思うのですが、もっとスマートな方法をご存知でしたら
アドバイス下さい。
よろしくお願いします。
0726デフォルトの名無しさん
NGNGSHGetSpecialFolderLocation
SHGetPathFromIDList
このへんを調べてみたら
0727デフォルトの名無しさん
NGNGGetProfilesDirectoryはどうよ?
0728デフォルトの名無しさん
NGNGSHGetSpecialFolderLocationでCSIDL_PROFILESが使えるはず・・・
0729デフォルトの名無しさん
NGNG存在チェックはPathFileExists使ってる。
Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 4.0 or later).
Windows 95/98/Me: Requires Windows 98 (or Windows 95 with Internet Explorer 4.0 or later).
だけど。
0730デフォルトの名無しさん
NGNGGetFileAttributesがエラー返したら存在しない。強引かも
0731デフォルトの名無しさん
NGNGCSIDL_PROFILES てのがあるではないか。
OSのバージョン知らないけど。
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNGどこの普通だ
0734デフォルトの名無しさん
NGNGWSHじゃない?
0735デフォルトの名無しさん
NGNGおまえみたいなのがいるからVB厨と言われるんだヽ(`Д´)ノウワァァァン!
0736デフォルトの名無しさん
NGNGいや、VCL厨かもよ
0737デフォルトの名無しさん
NGNGのすぐ上がすべてのユーザのルートだと思うよ。
0738725
NGNGまだ試してないんですが、まずはお礼を。
0739デフォルトの名無しさん
NGNG同意
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNGSetBkColorで背景色を設定することは背景ブラシの色を(ブラシの種類は
そのままに)変更することと同じではないのでしょうか?
というのはRectangle()のときに内部の塗りつぶし色にSetBkColor()で
設定した色が反映されないもので...。
MSDNからでは読み取れないものでよろしくお願いいたします。
0742デフォルトの名無しさん
NGNGttp://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_setbkcolor.htm
この関数は、CreatePen 関数を使って作成したペンで描いたスタイル付きの複数の線の
隙間を塗りつぶします。しかし、ExtCreatePen 関数を使って作成したペンで描いたスタイル
付きの複数の線の隙間は塗りつぶしません。また、SetBKColor 関数は、TextOut と
ExtTextOut の各関数の背景色も設定します。
背景モードが OPAQUE の場合、背景色は、スタイル付きの複数の線の隙間、ブラシの
ハッチ線の隙間、文字の背景を塗りつぶすのに使われます。また、ビットマップをカラー
からモノクロームまたはその逆へ変換するときにも使われます。
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNGテキストの背景色だけなんですね。
ずっとVBをやってたもので背景色全部だと思ってしまいました。
ありがとうございました。
0745デフォルトの名無しさん
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
(^^)
0746デフォルトの名無しさん
NGNG彡川川川三三三ミ〜
川|川/ \|〜 プゥ〜ン
‖|‖ ◎---◎|〜 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
川川‖ 3 ヽ〜 < (*´д`*)ハァハァハァ
川川 ∴)д(∴)〜 \_______________
川川 〜 /〜 カタカタカタ
川川‖ 〜 /‖ _____
川川川川___/‖ | | ̄ ̄\ \ ←>>1-1000
/ \__| | | ̄ ̄|
/ \___ | | |__|
| \ |つ |__|__/ /
/  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
| | ̄
0747デフォルトの名無しさん
NGNG移動プロファイルでZ:\になっていた罠とかないの?
0748732
NGNG逝ってくる。
0749デフォルトの名無しさん
NGNG外部のDLLにある関数を呼ぶときは関数の呼び出しの前後を
クリティカルセクションで囲む必要があるのでしょうか?
0750デフォルトの名無しさん
NGNGということはAPIを一つ呼ぶのにいちいちクリティカルセクションで囲んでいるのか?
クリティカルセクションを使うためには、それ自体も外部のDLLにある関数を使う必要があるが、
クリティカルセクションを使うためにクリティカルセクションを使うのか?
クリティカルセクションを使うためにクリティカルセクションを使うためにクリティカルセクションを使うのか?
クリティカルセクションを使うためにクリティカルセクションを使うためにクリティカルセクションを使うためにクリティカルセクションを使うのか?
0751デフォルトの名無しさん
NGNGその関数がやることに依存するんじゃないかな。
たとえば、グローバル変数やそれに類するものに全く触れない、
純粋な意味での関数ならば囲む必要はないだろうね。
それよか、どれかのスレッドが実行してる最中に
DLLがアンロードされないように注意したほうがいいと思う。
0752デフォルトの名無しさん
NGNG0753名無し@沢村
NGNGFindFirstFile()を使うのがスマートでないことは事実。
0754デフォルトの名無しさん
NGNG直接、プライマリブロックを読めるはず。
プライマリブロックは10年後でも変わんないよ。
0755名無し@沢村
NGNGおまいはファイルの存在を確かめるだけのために、
ハンドルを開いて閉じるのはスマートではないと思わないか?
0756デフォルトの名無しさん
NGNGごめん人それぞれ、でももっと早いのがキャッシュしているのが一番。
ごめん。
0757デフォルトの名無しさん
NGNG今までずっとこれでやってきたんだが…
0758デフォルトの名無しさん
NGNGなんて思ったけど、そうでもないっぽい。
0759デフォルトの名無しさん
NGNGでるけど、あれってどうやって表示させればよいのですか?
なるべく自分で調べますので関連するキーワードをAPI名で
教えてください。
0760デフォルトの名無しさん
NGNGウ・・・ザ・・・イ・・・
シ・ン・デ・・・
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG禁止しする方法をユーザーが知っているなら、
教えてあげても良いぞ。
0763デフォルトの名無しさん
NGNGWindowsUpdateがウザイからって、
タスクバーの吹き出し自体を嫌がっている。
こんなやつらはPGになってほしくない。
今PGなら今すぐやめろ。
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNG表示するっていうの作ってるんですけど、マウスが数秒動かずに放置さ
れたことが分かるメッセージってあるんですか?
0766デフォルトの名無しさん
NGNGつーかさ、BOOL Exist(LPCTSTR pszEntry); みたいなライブラリ作ってないの?
細かい手段云々よりそっちのがよっぽどスマートじゃないやん。
0767デフォルトの名無しさん
NGNGそういうライブラリを作るためにもどんなAPIを使ってスマートに実装するかって話だろうが
0768デフォルトの名無しさん
NGNG以下のように TrackPopupMenuEx を使って表示させようとしているのですが
ウンともスンとも言いません。
どこか記述の面でおかしい所とかあるのでしょうか?
よろしくお願いします。
Call SetForegroundWindow(frmMain.hWnd)
Dim hMenu As Long
Dim hSubMenu As Long
hMenu = GetMenu(frmMain.hWnd)
hSubMenu = GetSubMenu(hMenu, 0)
Dim TPMPARAMS As TPMPARAMS
Call TrackPopupMenuEx(hSubMenu, TPM_RETURNCMD Or TPM_RECURSE, 0, 0, frmMain.hWnd, TPMPARAMS)
Call PostMessage(frmMain.hWnd, WM_NULL, 0, 0)
0769デフォルトの名無しさん
NGNG戻り値を見て調べるという手順は踏まないのかい?
0770デフォルトの名無しさん
NGNGマンドクサイので踏みません。
0771デフォルトの名無しさん
NGNGTPMPARAMSは初期化してるの?
0772デフォルトの名無しさん
NGNGTrackMouseEvent
0774デフォルトの名無しさん
NGNGTraverseしか許されてないときに失敗するね
UsersでWINDOWS\TEMPを見るときとか
0775759
NGNGなかなか
このQ&Aではレベル高すぎたか?
0776デフォルトの名無しさん
NGNGttp://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp?frame=true#tooltip_sample_balloon
>このQ&Aではレベル高すぎたか?
二度と来るな。
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGなんかむかつくけど教えてやるよ。
http://homepage1.nifty.com/~okapon/download/delphi/tips1.html
0779759
NGNGありがとうございます
delphiのようですがvisual C++に応用できますか?
0780デフォルトの名無しさん
NGNGメッセージボックスに変数の中身を表示させるにはどう書いたらいいんでしょうか?
つまり、a=3でメッセージボックスに3と表示させたい
MessageBox(NULL, ?????? , "Title" , MB_OK);って感じなんですが・・・
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNGちょっとやってみりゃいいじゃん
MsgBox(a)
って書くだけじゃないか
0783デフォルトの名無しさん
NGNGVBとまちがえてませんか?
0784デフォルトの名無しさん
NGNG面倒だけど。
char buff[256];
wsprintf(buff, "%d", a);
MessageBox(NULL, buff, ....
てやってる。もっといい方法あるのかなー
0786デフォルトの名無しさん
NGNG>>780で特定はされていないが>>783は渡し値の数からして.
VBじゃないと思ったんだろう。っていうかこのスレがWinAPIの
MessageBoxだろと思う気持ちで書いたと思うけどな>>783は
0787デフォルトの名無しさん
NGNGアチキなら
ShoeMessage(a);
と書いてしまいます
てか>>780で行末に;があるからC系だとわかるだろ
これだからVB厨は・・・
というツッコミでよろしいでしょうか?
0788787
NGNGShoeMessage(a); ではなく
ShowMessage(a); でした
チツレイ
0790デフォルトの名無しさん
NGNGおれはVB使ってない。
0792450
NGNG0793デフォルトの名無しさん
NGNG名前に入れっぱなしだったすまんそん
0794デフォルトの名無しさん
NGNGオチケツ >>450でなくて>>792な
0795デフォルトの名無しさん
NGNGキャプチャする方法はありませんか?
見付けたページでは、サンプルソースが削除されてました。
探し方が悪いのかMSDNからも見付けられませんでした。
どなたかお教え頂ければ幸いです。
0796デフォルトの名無しさん
NGNGHDC hDC = GetDC(NULL);
でスクリーン全体のDCが取れる。
このDCを送り側、メモリDCを受け側に指定してBitBltすれ。
後始末はReleaseDC(NULL, hDC);
0797デフォルトの名無しさん
NGNGSHOW-Aタンは元気にしてるだろうか・・・
0798デフォルトの名無しさん
NGNG使えるけどMsgBoxはAPIじゃなくてVBの機能だし
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNGInitiateSystemShutdownを使って
リモートシャットダウンをしたいのですが、
シャットダウンはできるものの
「安全に電源を切ることができます。」という画面が出てきて
電源が自動切断されないんです。
何か設定があるのでしょうか?
0801デフォルトの名無しさん
NGNGHAL?
0802デフォルトの名無しさん
NGNGそれはシャットダウンさせられる側のBIOS設定ではないかと
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGWin32APIの質問をVBと混同したり
最近ぐだぐだだな、このスレ。
0806デフォルトの名無しさん
NGNGその後にユーザーが任意で起動したかを判断する方法って
ありますか?なんかいいアイディアください。
よろしくお願いします
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG根本的に無理。
スタートアップのショートカットに専用のコマンドラインオプションを仕込くらいしか。
0809デフォルトの名無しさん
NGNG自動起動させるのならスタートアップではなくサービスプログラムにすべき
0810デフォルトの名無しさん
NGNGAPIの問題だろ。なんでそんなにつっかかる。
0811デフォルトの名無しさん
NGNGターゲットはWindows95なのです・・・
0812デフォルトの名無しさん
NGNG5番目の引数の説明をよく読めや、このVB厨。
MSDNライブラリより
===============================
bRebootAfterShutdown
シャットダウン後、即座にコンピュータを再起動させるかどうかを指定します。
TRUE を指定すると、コンピュータは再起動します。FALSE を指定すると、
コンピュータは、電源を切っても安全な状態になったことを示すメッセージを
表示します。
0813デフォルトの名無しさん
NGNGWindows95ならレジストリに登録するだけでサービスとして動くが何か問題が?
0814デフォルトの名無しさん
NGNGいちいちVB厨ってつけるな。それに俺は第三者だ。
もうちょっと頭を冷やせ。
0815デフォルトの名無しさん
NGNGそれもサービスと呼ぶとは知りませんでした。
己の無知を恥じ入ります。
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNGいいんだよ、気に入らない奴にはなんでもVB厨のレッテルを貼って貶めて安心するんだから
0818デフォルトの名無しさん
NGNG0819800
NGNG自PCだけならExitWindowExで電源断までできるんだけどね…
APIでリモートシャットダウン(自動電源断)は無理ですか?
0820806
NGNGなるほど。でもbatファイルでコマンドを指定する方法ですと、
起動時に、コマンドラインの画面がでちゃいますよね・・・
0821デフォルトの名無しさん
NGNGbat処理ではなく、専用のexeスターターを作って
コマンドラインを与えれば解決できるのでは?
0822デフォルトの名無しさん
NGNGそうすれば多重起動したかどうかで区別できる
Windows95ならレジストリに登録するだけ
0823デフォルトの名無しさん
NGNGexplorerのデスクトップとファイラの切り替えみたいなことをさせたいんだろうか。
0824デフォルトの名無しさん
NGNGそれもプロセスを殺してみれば分かるが、判別方法は多重起動しているか否か
0826795
NGNGありがとうございました。
解決致しました。
0827806
NGNGサービスとして常駐させる方法を教えてください!!
API教えてくだされば自分で調べます!!
0828デフォルトの名無しさん
NGNGRegCreateKeyEx
0829デフォルトの名無しさん
NGNG0830名無し@沢村
NGNGSetWindowsHookEx()
0831デフォルトの名無しさん
NGNG刀狩り
0832名無し@沢村
NGNGhttp://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3+%E8%B5%B7%E5%8B%95+%E7%B5%82%E4%BA%86+%E6%A4%9C%E5%9C%B0&lr=
0833デフォルトの名無しさん
NGNGWindowHookExで、Window作成をフックできるのは使ってみてわかったんだが、
プロセス開始そのものをフックすることもできるのか?
投入されたプロセスがウインドウを作らないとフックできない気がしてるんだが。
0835デフォルトの名無しさん
NGNGWH_CBTでフックをインストールした後、
DllMain()がDLL_PROCESS_ATTACHでコールされたときがプロセスの起動、
DLL_PROCESS_DETACHでコールされたとき(UnHookした後は除く)が終了と
すればいいんじゃなかろうか。
0837デフォルトの名無しさん
NGNGiphlpapi.h というヘッダファイルを入手しなければならないのですが
PlatformSDK(?)はどこで入手すればよいのでしょうか?
0838デフォルトの名無しさん
NGNGttp://www.microsoft.com/msdownload/platformsdk/sdkupdate/
ここでええんじゃないかい。
0839デフォルトの名無しさん
NGNGフックDLLは最初にフックイベントが実行されるまでロードされない。
起動よりずっと後になる可能性がある。
デバッグしたほうが確実だな
0840デフォルトの名無しさん
NGNG日本語用があるわけではないのですね。
こっちはすでにダウンロード済みだったのでラッキーでした。
ありがとうございました。
0841デフォルトの名無しさん
NGNG子プロセスから親プロセスのIDやハンドルを取る方法ってあるのでしょうか?
0842デフォルトの名無しさん
NGNGCALLBACK関数で
int height=200;
switch(message){
case WM_PAINT:
dc=BeginPaint(hw,&ps);
TextOut(dc,100,height,"漏れはDQNだ!",13);
EndPaint(hw,&ps);
return 0;
case WM_KEYDOWN:
if(wparam=='D'){
height=height-20;
}
return 0;
(省略)
}
みたいにやろうとしたら上手くいきませんでした。
どう解決すればいいでしょうか?
0843デフォルトの名無しさん
NGNGCALLBACK関数って何だ?何に使ってる?
コードを見る限りじゃウィンドウプロシージャか?
0844デフォルトの名無しさん
NGNG多分
>if(wparam=='D'){
>height=height-20;
InvalidateRect(hw,NULL,TRUE);
>}
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGToolhelp32
0847デフォルトの名無しさん
NGNGググって見ても英語ばっかりで分からん、、、
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG覚えているかもしれません。表計算で使われる、罫線が引いてあり、
その中に文字や数値を入力する奴です。)
を作るには、CreateWindowEx()のクラス名に何を指定すれば良いのでしょうか。
WC_SPREADSHEETのような物があるかと思ったのですが、無いようなので…。
Googleしても、MSDN調べても、Excel/SQL/VBばかりでした……。
0850841
NGNGありがとうございます。
Toolhelp32やPSAPIでプロセスIDの列挙は出来るのは解りましたが。
自身との親子関係を判別するにはどうしたらよいのでしょうか?
Windowsにはプロセスの親子関係はないとの検索結果もあったのですが、
ProcessWalkerではツリー表示が出来ているので、継承関係みたいなものは
判別できると思うのですが…。
0851デフォルトの名無しさん
NGNG親プロセスのIDなら
CreateToolhelp32Snapshotでハンドル取得、
Process32First&Process32Nextで情報取得。
あとは取得したPROCESSENTRY32構造体の
メンバth32ParentProcessIDを
調べれば分かるんじゃない?
これでいいのか知らんがなぁ。
0852デフォルトの名無しさん
NGNGstatic int h;
とすれば解決することが分かりました
有難うございます
0853842
NGNG「InvalidateRect」の読み方教えて下さい
おながいします
0854841
NGNGありがとうございます。
XPを含めたNT系ではToolHelp32が利用できないという情報があちこちにあって、
PSAPIだとID(とそれから開くハンドル)しか取れないのでどうするのかと思いましたが、
試してみたらXPでも2000でもToolHelp32が使えますね…。
PSAPIを使用しなければいけないのはNT4以前ってことでしょうか?
0856842
NGNG有難うございます
0857デフォルトの名無しさん
NGNG更新領域の追加はできても削除や、クリアは出来ないの?
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGPSAPIなるものが何なのか初心者の漏れにゃ
分からんがMSDNに
Windows NT: Requires version 5.0 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in tlhelp32.h.
Import Library: Use kernel32.lib.
ってかいてあるからそうなんじゃないの?
0860デフォルトの名無しさん
NGNG0861849です
NGNGお騒がせしました。
0862デフォルトの名無しさん
NGNGSelectObject()できないとなっていますが、これは
なんででしょうか??
0863デフォルトの名無しさん
NGNGデバイスが存在する意味がないから
0864デフォルトの名無しさん
NGNGなるへそ(・∀・)!!
0865デフォルトの名無しさん
NGNGSleipnirとかOfficeXPの様なメニューを作りたくて
オーナードローまわりいじくってるんだけど
CreatePopupMenuで作ったメニューのメニューアイテムがオーナードローできる範囲より外側の部分
つまり、フレームの部分をフラットっぽくするやり方がわからない・・・
どなたか助けてー
0866デフォルトの名無しさん
NGNGこれってシステムのメニューでなく自力でCreateWindow()するしか
ないんじゃないの?
LongHornだとサポートされるかもしれないけど...
0867デフォルトの名無しさん
NGNG0868866
NGNG3DでもそんなにOfficeXPやVS.NETのメニューと見分けつかないけど。
NC系のmsgがあるのだろうか
0869865
NGNGCreateWindowから作るのってかなり面倒だよね
メニューひとつ作るのもダルそう
MSも作り方ぐらいMSDNで公開してくれてもいいじゃないか!ヽ(`Д´)ノ
guru見回ってたらこんなもん見つけたよ。
ttp://codeguru.earthweb.com/menu/FlatPopUpMenu.shtml
これ見て色々やってみる!(゚∀゚)
つーことはレバーコントロールとかツールバーとかも
描画周り制御出来ない部分があったら、やっぱり自前か・・・?Σ(゚д`*;)
0870デフォルトの名無しさん
NGNGhttp://www.codejock.com/
0871デフォルトの名無しさん
NGNGメニューウィンドウに対してGetWindowDC でhdcを取得すればどこでも描画できます。
0872デフォルトの名無しさん
NGNGプログラムを書いています。
操作対象のウィンドウが画面に表示されている時は問題ないのですが、
対象がタスクトレイに収納されている時に、FindWindowでハンドルが
取得できなくなります。
対象アプリのウィンドウが非表示になってるわけで、ハンドルが取れない
のも頷けるんですが、このままでは目的を達せません。
そこで、とりあえず対象アプリをタスクトレイから引っ張り出したいの
ですが、この方法がわからずハマってしまっています。
どなかた判る方いらっしゃいましたら、ヒントいただけないでしょうか?
よろしくお願いします。
0873851
NGNGその際、851に書いた方法で、あらかじめ全プロセスを列挙して、ほしい
プロセスのIDを得ておく。プロセスのパスは知っていないとだめだけど。
この辺の関数とかをうまく組み合わせてほしいウィンドウハンドルを特定、取得できれば
あとは、煮るなり焼くなり好きにできる。
ホントはもっといいやり方があるだろうけど漏れが知ってるのはこれだけ。
あと未知のソフトにNotifyメッセージを送るなら
PostMessageの方が安全かもしれないよ?
じゃ、寝よ。
0874デフォルトの名無しさん
NGNG全てのプログラムにかけるシステムフックはある程度使えるのですが・・・
おおまかでいいので、よろしくおねがいします。
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG>>568
0877872
NGNGその後わかったんですが、ウィンドウが非表示になっているからハンドルが
取れないわけではなく、対象アプリが、タスクトレイ収容と同時にウィンドウを
破棄、復帰時にまたウィンドウを作成、といった手順を踏んでいるのが
FindWindowが空ぶる原因でした。
で、結局、自分でマウスをクリックしてタスクトレイから対象アプリを引っ張り
出す様子を Spy++ で調べて、同じメッセージを送ってやることで目的を達し
ました。
どうもでした。
0878デフォルトの名無しさん
NGNGに使うものなのですか?
UpdateWindow()とは違うのですか?
(MSDNを読んでもよく分からない(日本語訳もないため)ので
よろしくおながいします)
0879デフォルトの名無しさん
NGNGredrawは再描画だよね
Updateは更新だよね。
の違い
0880878
NGNG再描画するにも更新するにもOSはアプリに
WM_PAINTを送る必要があるのでいっしょの
ように思えるのですが。。。
0881デフォルトの名無しさん
NGNG879が言ってるのはリビルドとビルドのような関係
0882878
NGNGなるほど!!
0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNGなるへそ!!
0885デフォルトの名無しさん
NGNGパパサンゲトーおめ
0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNGそれは、俺も知りたい。
どちらかと言うと、どのアダプタのどのターゲットにあるかだけでも知りたい。
(物理的な位置)
0888デフォルトの名無しさん
NGNGいったい、いつのMSDNを見てるんだ?
日本語のドキュメントはちゃんとあるだろ?
http://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_updatewindow.asp
http://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_redrawwindow.asp
0889デフォルトの名無しさん
NGNGワラタ
0890デフォルトの名無しさん
NGNGわらいダケでも食ったのか?
0891デフォルトの名無しさん
NGNGいや、リアルで強烈に古いリリース読んで騙されてた香具師を目撃したばかりで
0892デフォルトの名無しさん
NGNGQueryDosDevice
0893デフォルトの名無しさん
NGNGSCSIデバイスに関してはASPIかSPTIで取れる
0894デフォルトの名無しさん
NGNGWinXPのnetstat -oだとプロセスIDが見れるので
そこから調べることができるそうですが
そのような機能を持ったものでもかまいません。
0895デフォルトの名無しさん
NGNGAllocateAndGetTcpExTableFromStack
0896デフォルトの名無しさん
NGNGレスありがとうございます。
わからなかったことが1点ありました。
これはMSの公式ドキュメントはないのでしょうか?
いちおうサンプルはいくつか見つけることができました。
第4と第5引数ともに"2"をセットしている例が多かったのですが
第4と第5引数の意味が理解できませんでした。
どういった意味があるのでしょうか?
0897デフォルトの名無しさん
NGNG非公開APIなのでドキュメント化はされてないね。
引数の意味に関してもサンプルを参考するか、
あとは自分で試すしかないと思うが
0898デフォルトの名無しさん
NGNGなるほど、やはり非公開でしたか。
もうすこし試行錯誤してみます。
ありがとうございました。
0899デフォルトの名無しさん
NGNGわしは886じゃよ
>>892
QueryDosDeviceだと\\HardDriveXだっけ?
そんなのが返ってくる。
それではなく、PhysicalDriveXという形で
返ってきてほしい。
だれか、知らん?
>>887,893
IOCTLでSCSI_THROUGH_DIRECTを投げる
そのとき、CDBでSCSIコマンドのなんか(ちと失念)をセットしておく
MtFujiを読めば、CDBで投げるコマンドはのっている
0900デフォルトの名無しさん
NGNGSCSI_PASS_THROUGH_DIRECT
0901デフォルトの名無しさん
NGNGGetDiskFreeSpaceEx()で空き容量を取得できるけど、あれは単純な
空き領域が得られるだけで、実際にファイルをコピーできる限界は
セクタ単位で考えるとFAT32かNTFSかで微妙に違うはずですよね?
たとえばGetDiskFreeSpaceEx()で 100kB空いてるからといって、
99.9kBバイトのファイルをコピーできるとは限らないですよね?
0902デフォルトの名無しさん
NGNGhttp://mypage.odn.ne.jp/home/dongrico
0903901
NGNG単純に残りクラスタ×クラスタあたりのバイトが100kB空いてると
考えてよい?
・・・ような気がしてきた。いいのかな。
0904874
NGNGすいません。もう少し詳しくおねがいします。
自分が予想するに、フックプロシージャが格納されるDLLに、プログラムを判別する値を
グローバル変数として保存しておくのではないかと思うのですが、実際にやろうとすると
上手くいきません。
0905デフォルトの名無しさん
NGNG大体、100KB空いていたとして、その瞬間に違うプロセスが使ったら…どうすんの?
0906デフォルトの名無しさん
NGNG圧縮ドライブの場合もっと大変だよ。がんばってね。
0907901
NGNGとりあえず俺はSEサソの言いなりのヘポーコPGです。
>>906
はい。
今1kBほどのテキストファイル作って差を見たら
きっちり空き領域が8,192Byte減ってますた。
逝ってきます。
0908デフォルトの名無しさん
NGNG話がかみ合っていないね
0909887
NGNG情報ありがとうございます。
やっぱ、ASPIか、SPTIですか。ASPIは最近勉強したんでわかるんですが
SPTIとは何でしょうか?
おそらくWin2000等のNTで使用するのだとは分かるんですが…
DDKとかインストールする必要あるんですか?
SPTIの情報が少なくって……
0910デフォルトの名無しさん
NGNGIOCTL_SCSI_PASS_THROUGH_DIRECTでぐぐったら解説が出てきた。
オープンソースのCD焼きソフト(cdrecord)のソースも参考になるかも
0912デフォルトの名無しさん
NGNGPCを変えたんですが、もう一度Webからインストールするのはめんどうです。
0913デフォルトの名無しさん
NGNG過去スレにURL載ってたはず
0914913
NGNGttp://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
スクリプトonにしないとダメ
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNGリンクスタッフになれば小遣い稼ぎができます!!(左下に詳しい説明があります)
[報酬について]
クリック報酬・・・1クリックされる度に10円の報酬
バナー紹介料・・・リンクスタッフ登録の度に1000円の報酬
キャンペーン・・・今なら登録するだけで1000円プレゼント
間接報酬・・・紹介者が得た報酬の25%を加算いたします
プレミアム・・・優秀サイトには、報酬に応じてボーナス有り
単純に考えて1日100人クリックしたとすると、100人×10円×30日=30000円(一ヶ月)
そこらへんの掲示板に貼り付けていけば100クリックなんてスグです。
その他、自分の貼り付けた広告から誰かがスタッフになると1000円もらえるので
1日5人スタッフを紹介できたとして1000×5×30=150000円
30000+15000=180000!!間接報酬などもありますのでどんなに悪くても一ヶ月に10万円以上は必ず稼げます!!
http://www12.ocn.ne.jp/~sihori/
ぜひ一度覗いて見てはいかがでしょうか?
0918デフォルトの名無しさん
NGNGとてもよさそうですね(^^)
10万円稼げなかったときはどんな保証があるんでしょうか。
0919デフォルトの名無しさん
NGNGやって損しました。
0920デフォルトの名無しさん
NGNGアイコンの色が256colorになっているようです。
フォルダにある状態では24bitcolorなのですがなぜ減色してしまうのでしょう。
おしえてちょ
0921デフォルトの名無しさん
NGNGとか?
0922デフォルトの名無しさん
NGNGwin2000以下は256も出ないよ。たしか16色くらい。
xpだけでしょ256も出るのは
0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNG要するにフォルダで見るとスモールアイコンはきれい
↓
ダイアログの左上にあるスモールアイコンもきれい
↓
でもシステムトレイに入れると色が化ける
です。スモールアイコンは256colorで書き直したほうがよいですか?
あとVisualStadioでアイコンのフォーマットの追加はできるけど削除
どうやりますか?
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNG特定の文字が現在のフォントにあるかどうか調べるAPIってありますか?
(TextOutしたときに、きちんと表示されるか、空白 or "・"になるか)
0927
NGNG自分で作ったウィンドウにActiveXコントロールを張りつけるのは
どのようにすればよいでしょう?
CWnd::CreateControl()かなと思ったんですが、
落ちてうまく動かなかったです・・・・
0928デフォルトの名無しさん
NGNG無い。
0929デフォルトの名無しさん
NGNGそんなあ
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGメモリDCに書いてみてドット調べて・かどうかチェックすれ。
0932デフォルトの名無しさん
NGNGそれじゃ・自体が判別できん
0933916
NGNG0934デフォルトの名無しさん
NGNGおおー、サンクスです
0935デフォルトの名無しさん
NGNGいらないタイマイベントが発生しまくる
0936916
NGNGアプリ終了後もタイマイベントが発生するでしょうか?
それともアプリが終了すれば大丈夫でしょうか?
0937デフォルトの名無しさん
NGNG普通ならタイマは停止する。
でも、Killで止めといたほうがスッキリヽ(´ー`)/
0938876
NGNG875のやり方の手助けとして書いたつもりだったんだが・・・。
フックって何をフックしたいのかがよく分からん。
そのソフトが呼び出すAPIとかを横取りしたいのなら
568のリンクにそれ用のソフトがあるからそれを使えば
簡単に作れる。
それとも特定のメッセージとかを横取りしたいのか?
だったらSetWindowsHookEx + WH_GETMESSAGEとか。
0939デフォルトの名無しさん
NGNGhttp://endou.kir.jp/betu/linkvp/linkvp.html
0940吉岡美穂
NGNGGetModuleFileName()で呼び出し側のファイルパスを取得して、
フックしたくないならDllMain()でFALSEを返せばいいのでは?
http://www.aderans.co.jp/
0941916
NGNG有難うございます
0942デフォルトの名無しさん
NGNGstNCMetrics.cbSize = sizeof( NONCLIENTMETRICS );
::SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof( NONCLIENTMETRICS ), &stNCMetrics, 0 );
memcpy(&defFont,&stNCMetrics.lfMessageFont,sizeof(defFont));
defFont.lfWeight=FW_BOLD;
defFont.lfHeight=72;
defFont.lfItalic=true;
defFont.lfQuality=PROOF_QUALITY;
lstrcpyn(defFont.lfFaceName,"MS 明朝",15);//取りあえずこれで
hStatusFont=CreateFontIndirect(&defFont/*&stNCMetrics.lfMessageFont*/);//論理フォントの選択&作成
HDC DC=GetDC(GetWinWND());
SelectObject(DC,phStatusFont_);
TextOut(DC,0,128,"漢字",4);
イタリック名明朝が出るはずなんですが、普通(正体)のシステムフォントしかでてこない...
::SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof( NONCLIENTMETRICS ), &stNCMetrics, 0 );
このプロセスは元のFONTの一部を変えたいという意図からきています。
最初から全部値を入れても同じ結果なのです。なにが問題なのでしょうか?
0943デフォルトの名無しさん
NGNG...
SelectObject(DC,phStatusFont_);
phStatusFont_って何?
0944デフォルトの名無しさん
NGNGhHANDLEです。
サンプルコード書く時のミスです。すいません。
その部分での問題ではないです。
0945デフォルトの名無しさん
NGNG最も近いフォントをかってに選んで返す。
と思った。
0946デフォルトの名無しさん
NGNG列挙してきた中から選べ
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG942のコードを試してみたけど、普通に斜体太明朝になるけどなあ。
0949デフォルトの名無しさん
NGNGhhande型なのに何故ポインタ型で通ったんだ?w
スレ汚してすいません。
取りあえずそのミスを除いてはこのコードで論理フォントが作れるようです
0950デフォルトの名無しさん
NGNG一度classつくりゃすむっちゃあすむことだが。
0951デフォルトの名無しさん
NGNG愚痴で950ゲットおめ。次スレよろ。
0952デフォルトの名無しさん
NGNG0953950
NGNG>またの機会にどうぞ。。。
だそうだ。
後は頼む。
0954デフォルトの名無しさん
NGNG稼動してるけども、必要なときに応じてGUI画面を
表示させたいプログラムってどうやって作るんだろう…
タスクトレイ常駐型レベルじゃなくて、たとえばIISのような。
0955デフォルトの名無しさん
NGNGやっぱりphStatusFont_が原因じゃねーか、さっさと氏ね
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNGおれはいつもこうやって作っているんだが…
// フォントオブジェクト作成
hnewFont1 = ::CreateFont( 12, /* キャラクタセルの高さ(ピクセル) */
0,/* キャラクタの平均的な幅 */
0,/* 傾斜ベクトルとデバイスのx軸との間の角度(1/10度単位) */
0,/* 各キャラクタの基線とデバイスのx軸との間の角度(1/10度単位) */
FW_NORMAL,/* フォントの必要な幅 */
0,/* イタリック体ならTRUE */
0,/* 下線をつけるならTRUE */
0,/* 取り消し線をつけるならTRUE */
SHIFTJIS_CHARSET,/* キャラクタセット */
OUT_DEFAULT_PRECIS,/* 必要な出力精度 */
CLIP_DEFAULT_PRECIS,/* 必要なクリッピング精度 */
DEFAULT_QUALITY,/* 必要な出力品質 */
DEFAULT_PITCH | FF_DONTCARE, /* フォントのピッチとファミリの指定 */
"MS ゴシック" );/* フォント名 */
0958アイアンバトライガー
NGNGWin32コンソールアプリでキー入力をチェックしたりできますでしょうか?
コマンドプロンプトでどこまでやれるのか気になりまして.
getchar使うとか,そうゆうのではなく,,,ってなると,
結局イベントを扱えるかどうかにかかってきますね.
そうゆうAPIあるのかどうか,教えてえらい人!
0959デフォルトの名無しさん
NGNG0960アイアンバトライガー
NGNGどうもゴッツァンっす! 答えてくれてありがとう.アイリスペクトユー!
0961デフォルトの名無しさん
NGNG0962アイアンバトライガー
NGNG押忍! kbhitでいろいろ調べていたら,
ReadConsoleInputにも自然とたどり着いたです.ありがとう〜
0963デフォルトの名無しさん
NGNGフォルダ内のファイル一覧を得るためのWin32APIはありますでしょうか。
ご存知の方、申し訳ございませんが、教えていただけたらうれしいです。
0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGFindFirstGirl
FindNextGirl
0966デフォルトの名無しさん
NGNGFindFirstGirlが失敗するんですがどうしてでしょうか
0967デフォルトの名無しさん
NGNGどっちで失敗してるんだ?
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNGどちらもリンクエラーになりまつ
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG冗談のつもりだったのだが・・・
俺の負けだ!
Girl(女の子/少女の意味、知らんのか?)をFileに置き換えよ!
さすれば汝は救われる。
つーかヘルプ読め!
0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGIISと同じように…っつーなら、IISと同じようにサービスにすりゃよかろ。
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGでは君に頼もう、次スレ立ててくれたまえ
0979デフォルトの名無しさん
NGNGイタイタシイデスネ
0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG良い関数だ…でも、俺の場合…
「0 個のGirlが発見されました」
になるのは何ででしょうか?(why
0983デフォルトの名無しさん
NGNG全てのポートについてオープンを試みる単純な方法以外に
より正当な方法をご存知の方が居ましたら教授ください。
Webサイトドキュメント等へのポインタでも構いません。
0984983
NGNG0985デフォルトの名無しさん
NGNGMFCよりも便利で、足りない部分をWin32APIで補うだけだからいいってことでしょ。
全部MFCやAPIでやる方法には戻れないよ。
0986デフォルトの名無しさん
NGNGWin32API 質問箱 Build12
http://pc2.2ch.net/test/read.cgi/tech/1056033645
0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNGσ _、_
ヽ ( ,_ノ` )σ 989ゲッツ!!
( )ノ
〉 〉
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0992デフォルトの名無しさん
NGNG∧_∧
∧_∧ (´<_` )さすがは兄者、中途半端だな
( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
0993デフォルトの名無しさん
NGNG_,( ´∀`)⌒ i |
(⌒ ー 一 r.、! 〉
ヽ弋 。 人 。 イ(` ー'
〔勿\ ヽ
) r⌒丶 ) ドカ
ドカ ドカ / ! |'´
ドカ / /| |‖ ドカ
( く ! ||‖ ドカ
ドカ \ i | ‖|‖|
,__> ヽヽ从/∧∧
⊂⌒ヽ从/ つ ゚д゚) <993ゲトー
0994デフォルトの名無しさん
NGNG从 `,_っ´) プッ
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG1000
988 名前:デフォルトの名無しさん :03/06/21 14:46
1000!
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。