トップページ⇒tech
1001コメント290KB

Win32API 質問箱 Build10

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
スレ立てるまでもない、Win32APIについての質問はこちらへどうぞ。
やさしいお兄さんたちが答えてくれるかも。
でも、質問する前に検索ぐらいしる!!
過去スレ・参考は>>2-5

MSDN Online
http://www.microsoft.com/japan/msdn/default.asp
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/index.html
0002デフォルトの名無しさんNGNG
過去スレ
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デフォルトの名無しさんNGNG
otu
0004デフォルトの名無しさんNGNG
kare
0005デフォルトの名無しさんNGNG
kano
0006デフォルトの名無しさんNGNG
乙〜
0007デフォルトの名無しさんNGNG
おまえら、本気でスレ立てた程度で疲れると思ってるのか?
0008デフォルトの名無しさんNGNG
(・ε・)社交辞令
0009デフォルトの名無しさんNGNG
>>7
疲れるよ。
0010デフォルトの名無しさんNGNG
IMEの使い方を調べているのですが、分からないことがあるので教えてください。
WM_IME_COMPOSITIONメッセージハンドラで以下のようにしているのですが、
入力中の文字が見えなくなります。
一度ウインドウを非アクティブにしてまたアクティブにすると見えるようなのですが。
最後の行をreturn DefWindowProc();にすると、正常に表示されます。
メッセージをデフォルトのプロシージャにスルーしなければいけないのでしょうか
MSDNのWM_IME_COMPOSITIONの説明にはそのように書いてなかったのですが

HIMC imc = ::ImmGetContext(*this);
::ImmReleaseContext(*this, imc);
return 0;
0011デフォルトの名無しさんNGNG
>>10
この辺は見た?
http://www.kumei.ne.jp/c_lang/sdk3/sdk_281.htm
0012デフォルトの名無しさんNGNG
見ました。
しかし、EDITをサブクラス化してるので、
EDITの事情でCallWindowProcしてるのかも知れないし、
判断が付かなかったもので。

一見DefWindowProcして正しい結果が出てるので良いのかも知れないけど、
ホントに正しいのか不安なのです
0013再掲NGNG
ツールバー作っててつまづいてしまってので、助けてください
文字だけのボタンをつけようとすると、

┌─────┬─────┬───
│       .│       .│
│字字字字字│字字字字字│
└─────┴─────┴───

こんな感じで空白が出来てしまうのです。
何かスタイルが足りない、とか教えてください。
0014デフォルトの名無しさんNGNG
>>9
そういう事は、これぐらい直してから言ってもらおうか。

>>2
過去スレ
Win32API 質問箱 Build9
http://pc2.2ch.net/test/read.cgi/tech/1044929160/
Win32API 質問箱 Build8
http://pc2.2ch.net/tech/kako/1040/10409/1040964626.html
Win32API 質問箱 Build7
http://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
Win32API 質問箱 Build6
http://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
Win32API 質問箱 Build5
http://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
Win32API 質問箱 Build4
http://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
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
001513NGNG
ちなみに、 TBSTYLE_LIST を加えると
┌─────┬─────┬───
│  字字字字│  字字字字│  字字
└─────┴─────┴───
こんな感じになってしまいます。
どなたか助けてください。



あと、↓これ書いたのはわたくしです。新スレで完全無視されるとは思いませんでした。
http://pc2.2ch.net/test/read.cgi/tech/1044929160/872,874
0016デフォルトの名無しさんNGNG
*TBSTYLE_LIST ボタン イメージの右にボタン テキストが配置されます。
0017デフォルトの名無しさんNGNG

┌─────┬─────┬───
│字字字字字│字字字字字│
└─────┴─────┴───

「==」は比較演算子
0018デフォルトの名無しさんNGNG
何度も繰り返さなくたって「==」が比較演算子なのは分かってるよ。
いちいち蒸し返すなバカ。
0019デフォルトの名無しさんNGNG
>>13
TBBUTTONのiBitmapにI_IMAGENONE(-2)を設定
ただしコモンコントロールv5.81(IE 5.01)以降が必要らしい。
0020デフォルトの名無しさんNGNG
DLL内でCreateWindowを使うときは、InstanceはDLLのものを指定するのでしょうか?
それとも、呼び出しているexeのものを指定するのでしょうか?
0021デフォルトの名無しさんNGNG
dll
0022デフォルトの名無しさんNGNG
>>10
入力中文字表示をIMEで行うならDefWindowProc が要るんじゃなかろうか...
もう見ただろうけどSDKの説明(下記)を見ておもた。

 If the application has created an IME window, it should pass this message to that window.
 The DefWindowProc function processes this message by passing it to the default IME window.
 The IME window processes this message by updating its appearance based on the change flag given.
0023デフォルトの名無しさんNGNG
>>20
呼出し元
0024VB房NGNG
ファイルの作成日を取得するAPIってありますでしょうか?
0025デフォルトの名無しさんNGNG
GetFileTime()
0026VB房NGNG
>>25
サンクス
0027デフォルトの名無しさんNGNG
┌─────┬─────┬───
│字字字字字│字字字字字│
└─────┴─────┴───
0028デフォルトの名無しさんNGNG
>>19様ありがとう。無事に
┌─────┬─────┬───
│字字字字字│字字字字字│字字字
└─────┴─────┴───
となりました。

ただ、TBBUTTON::fsStyle に TBSTYLE_AUTOSIZE が必要なので、
後々同じ事をされる方はお気をつけて使用してください。
0029デフォルトの名無しさんNGNG
LVS_EX_BORDERSELECT の値って何でしょうか?

0030デフォルトの名無しさんNGNG
>>22
テキストエディタのソースをみると
やっぱり全てDefWindowProcに処理を渡してるので
それで正しいようですね、ありがとうございました
0031デフォルトの名無しさんNGNG
>>934 >>936
えっ? 無いですか? とりあえずMSDNから一部コピペ
BOOL DelayedDeleteLockedFile (
LPCTSTR lpFileName // ファイル名
);

対応情報
Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winbase.h 内で宣言、Windows.h をインクルード
インポートライブラリ:Kernel32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装



できません。
0032デフォルトの名無しさんNGNG
ネタはもういいよ
0033デフォルトの名無しさんNGNG
>>31
ネタだったの?
0034デフォルトの名無しさんNGNG
ネタじゃなければmsdnのサイトへのリンクが出せるっしょ
0035デフォルトの名無しさんNGNG
メール欄見れば一発
0036デフォルトの名無しさんNGNG
すみません。最近のMSのキーボードに付いているメールを返信のスキャンコードと仮想キーコードを教えて下さい。
0037デフォルトの名無しさんNGNG
http://members.tripod.co.jp/usr_vogel/main.html
ここ最高っす
0038デフォルトの名無しさんNGNG
あれってメーカーが用意したドライバでメールソフトを起動するようにドライバ作ってんじゃないの?
0039デフォルトの名無しさんNGNG
>>36
窓使いの憂鬱(キーバインド変更ツール)の設定ファイル(109.mayu)には
次のような設定が書かれてある。

def key キー名… = スキャンコード…

def key A= 0x1e
def key Mute= E0-0x20 # (Media Player)
def key ALCalculator= E0-0x21 # (N/A) Calculator
def key ACStop= E0-0x68 # (Internet Explorer)
def key ACForward= E0-0x69 # (Internet Explorer)
def key ACBack= E0-0x6a # (Internet Explorer)
0040デフォルトの名無しさんNGNG
XPとかのボタンの上にマウスを乗せるとボタンが
変化するのがあるけど、今までの関数とどう
違うんですか?
0041デフォルトの名無しさんNGNG
>>40
?
004240NGNG
>>41
例えばメッセージボックスのボタンでも
マウスをボタンの上に乗せると微妙に
色が変わるじゃん、ところが自分で
MessageBox(NULL............);
と記述しても、2000や98みたいな普通のボタン
なんだよね。
0043デフォルトの名無しさんNGNG
http://hp.vector.co.jp/authors/VA015850/delphi/tips/etc13.html


とか。
0044デフォルトの名無しさんNGNG
http://homepage2.nifty.com/sironekochan/windows/luna/luna_1.htm

とか。
0045デフォルトの名無しさんNGNG
http://kotubunet.hp.infoseek.co.jp/king.htm
0046デフォルト名無しさんNGNG
CDドライブを開けるコマンド教えてくろ
0047デフォルトの名無しさんNGNG
mciSendString "set cdaudio door open"
0048デフォルトの名無しさんNGNG
サンプルコード見せてくんろ
0049デフォルトの名無しさんNGNG
>>48
検索しなヴォケ そこまで面倒見てられるか
0050デフォルトの名無しさんNGNG
おまえらバカじゃないのか?ほんと自分は出来る風ですか?
ほんとにバカ、オメーラ、みんな、ネット荒らしとどこが違うんだ!?
ほんとな、おまえらはみんな、ここに来る資格ねーな!!
デフォルトの名無しさんだっけ!!おまえしね!!人が謝ってのに何が
あやしいっておまえみたいのがいるから日本がだめになるんだ!!
分かったバーカ!!もう荒らしでも何でもいいよ!!
オメーラみたいなバカどもにつき合ってもしかたないから!!
あんたらみたいのはもうこのよにもいらない !!
0051デフォルトの名無しさんNGNG
いや、俺は出来る人ですが?
0052デフォルトの名無しさんNGNG
おまえら
      に
      な
      ルトの
          て
          ー
          たいな
              の

意味わかんない
0053デフォルトの名無しさんNGNG
不思議な読み方をするなあ・・・
0054デフォルトの名無しさんNGNG
>>51
難しい縦読みだねぇ。ぜんぜん分からん。
それ、どっからコピペしてきたの?
0055デフォルトの名無しさんNGNG
自分のウィンドゥを常にアクティブにしたいのですが
どうすればよいですか?
WM_ACTIVATEを出してもWindows98だとちゃんとアクティブに
なるのですがWindowsXPだとタスクバーが点滅するだけなのです。
よろしくお願い致します。
0056デフォルトの名無しさんNGNG
>>55
Win2K以後の仕様です
抜け道はありますが
その前に設計意図を理解すべき

ワープロで仕事中にたまたま
や行の文字をタイプした瞬間に
メッセージボックスの飛び出し事故

食らってみればわかるけど
悲しすぎるんだよ
005755NGNG
>>56
ありがとうございます。
よろしければ、設計意図と抜け道のヒントを下さい。
お願い。
0058デフォルトの名無しさんNGNG
>>56は、「〜しますか(y/n)」ってダイアログが突然出現して、有無をいわさずyキーを押してアボーンはまずいだろ…
っていうのが"タスクバーが点滅するだけ"の設計意図と俺は読んだが。
0059デフォルトの名無しさんNGNG
XPだとフォーカス奪わないで右下にバルーンみたいの出るじゃない。
あれのまねすればいいんじゃないの(ヒント: SWP_NOACTIVATE
SW_SHOWNA)
00602NGNG
質問です

MessageBoxでダイアログを表示したいのですが
ダイアログ表示の際に右上のクローズドボックス(ペケボタン)を無効にしたいのですが
うまくいきません、引数もいろいろ調べたのですがそれらしきものも見つからず...

どういうふうにしたら右上のクローズドボックスを無効にできるんでしょうか?
よろしくお願いいたしますm(_ _)m
0061デフォルトの名無しさんNGNG
>>60
MsgBoxを使わずダイアログを作った方が早道かと。
006255NGNG
>>58
>>59
ありがとうございました。
0063デフォルトの名無しさんNGNG
>>61
そんなたいそうなものじゃないのです
単にメッセージを表示するだけなので...
「エラーがでました」等...

それでやっぱりペケボタン無効化する方法はないのでしょうか?
0064デフォルトの名無しさんNGNG
>>63
ダイアログ1つ作るのも「そんなたいそうなもの」じゃないけどな
0065デフォルトの名無しさんNGNG
>>61
あのダイアログに表示されるアイコンはどうやって取得すればいいのですか?
006661NGNG
>>63
MessageBoxIndirectならできるかもしれないけど面倒だから確認しない。

>>65
LoadIcon
0067デフォルトの名無しさんNGNG
フルパスから拡張子のみ取り出すAPIってありませんか?
0068デフォルトの名無しさんNGNG
SHGetSpecialFolderPath()あたりで取れる、特殊パスについての質問です。

Win98SE+IE5でCSIDL_PROGRAM_FILES_COMMONのパスを取りたい
のですが、何か方法はありますか?

SHGetSpecialFolderPath()はもちろんSHGetSpecialFolderLocation()あたりを
使った方法も試しましたが、駄目でした。

ttp://www001.upp.so-net.ne.jp/yamashita/product/csidlviewer.htm
↑こんなツールがあったんで試しに取得できるかやってみたんですが
これでも取得できず。

せめてCSIDL_PROGRAM_FILESでも取れれば、まだどうにかなるんですが
これも同じ結果。

やっぱり、WinME以降に入ってるVer5系列のshell32.dllが必要なのでしょうか…
0069デフォルトの名無しさんNGNG
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
のCommonFilesDirでも参照すれば?
0070デフォルトの名無しさんNGNG
起動時にショートカットから起動したかどうか判断する方法
ないでしょうか?
0071デフォルトの名無しさんNGNG
>>70
以前に同じ様な質問があったけど結論は「無い」だったと思う。

どんな理由で知りたいの?
007268NGNG
>>69
早速のレスありがとうございます。
とりあえず、組み込んで上手く取得できました。

それにしても、こんな所に記述されてたとは…
これからはレジストリを漁る習慣つけるべきかな
0073デフォルトの名無しさんNGNG
>>67
rindex(path,'.')
007429NGNG
LVS_EX_BORDERSELECT の値をご存じの方いらっしゃいませんか
0075デフォルトの名無しさんNGNG
>>74
0x00008000
0076デフォルトの名無しさんNGNG
IEのようにステータスバーにプログレスバーを入れたいのですが、
やりか方がよくわかりません(MFCを使った例はよく見かけるんですが)。
もしご存じの方いらっしゃいましたらヒントでもいいので教えてください。
# オーナードローとか使わなければならないのでしょうか?
0077デフォルトの名無しさんNGNG
SSL通信をしたいんだけど、目的がhttpsじゃないんです。
SChannelとかいうのをつかえばいいんでしょうか?

もし試してみたかたがおられましたら、ご教授お願いしやす。
0078デフォルトの名無しさんNGNG
>>73
それで
dir.withdot\nodotfile
の拡張子を切り出したら楽しいことになりそう
というかrindexのどこがWin32なのかと小一時間(ry
0079デフォルトの名無しさんNGNG
>>67
API は知らん。
VC なら、_splitpath(), _wsplitpath()
0080デフォルトの名無しさんNGNG
>>76
ツールバーを親としてステータスバーを作る
0081デフォルトの名無しさんNGNG
>>67 PathFindExtension()
008267NGNG
回答くださったみなさんありがとうです。
おかげさまでできました。
0083デフォルトの名無しさんNGNG
フォルダを指定してそのフォルダ内が空かどうかを調べるAPIってありますか?
0084デフォルトの名無しさんNGNG
普通に調べればいいじゃん。
008583NGNG
>>84
普通っていうのがわからないので困ってます。
今はFindFirstFileとFindNextFileで地道に検索してますけど
例外的なことがあったらいやなので。どうぞよろしくお願いします。
0086デフォルトの名無しさんNGNG
PathIsDirectoryEmpty
0087デフォルトの名無しさんNGNG
キー入力を受けるソフトを作っています
WM_KEYDOWNで受け取って、
::GetKeyNameTextにLPARAMを渡して名前を得ているのですが、
NumLockがonでもoffでも"Num 2"などが返り、NumLockの状態が反映されません。

自分で変換テーブルを持っても良いのですが、
Num 0>Ins、Num .>Del と、単純に変換しても
全てのキーボードが同じであるかどうか
調べが付かなかったので、ちょっと迷ってます。

何か良い解決方法無いでしょうか。
008883NGNG
>>86
ありがとです。
これってWin98以降なんですよね。まっ、いっか。
008929=74NGNG
>75
どうもありがとう
0090デフォルトの名無しさんNGNG
言語バーの様にタスクバー上に配置できるプログラムを作ろうと思っています。
具体的にはタスクバーにパソコンのバッテリ残量を表示したいのです。
Googleやらで色々調べたのですが、いい方法が見つかりません。
IBMのThinkpadに私の思っているのと全く同じ動作をするバッテリメーターが
付いているのでできないという事はないと思うのですが…。
ご存じの方いらっしゃいましたらご教授頂きたいです。
0091デフォルトの名無しさんNGNG
>>90
Googleですぐに見つかるサンプルでダメ?
チンコのバッテリメータも同じやり方をしてるはずなんだが。
0092デフォルトの名無しさんNGNG
>>91
何というキーワードで検索したらヒットしますか?
「タスクバー、ツールバー、AppBar、デスクトップツールバー、バッテリー表示、API」
この辺りの組み合わせで検索してたのですが、見つからなかったんです。
0093デフォルトの名無しさんNGNG
Shell_NotifyIconでええやろか?

老婆心ながらメニュー出すときはSetForegroundWindowを忘れずに。
これで悩んだ。
0094デフォルトの名無しさんNGNG
>>93
タスクトレイにアイコンを表示するのではなく、タスクバー上に置きたいのです。
できるかわかりませんが、理想はタスクバー上にクライアント領域を持つ事です。
0095デフォルトの名無しさんNGNG
仮想フォルダを作れば出来るんじゃないの?
0096デフォルトの名無しさんNGNG
んじゃあこういう手でどうじゃろか?

タスクバー
FindWindow("Shell_TrayWnd",NULL);

タスクトレイ
FindWindowEx(hwn,0,"TrayNotifyWnd",NULL);
0097デフォルトの名無しさんNGNG
>>94
IDeskBandかな
0098デフォルトの名無しさんNGNG
>>96
タスクバーにクライアント領域を持つだけだとどうも難しそうですね。
ありがとうございました。

>>97
まさしくそれが思っていたものっぽいです。
色々資料当たってがんばろうと思います。
ありがとうございました。
0099デフォルトの名無しさんNGNG
「スワップファイルがあるドライブは何ドライブか」
これを調べるためのAPIはなんでしょうか?
0100デフォルトの名無しさんNGNG
1Gのファイルを作成する際に、実際に1G書き込まずに先にディスク領域だけ確保するには
どうしたらよいのでしょうか。
0101デフォルトの名無しさんNGNG
SetFilePointer(Ex)>SetEndOfFile
0102デフォルトの名無しさんNGNG
LayeredWindowで不透明度0にした場合って
そのぶぶんに穴が空いてしまうのでしょうか?
0103デフォルトの名無しさんNGNG
>>100
> 実際に1G書き込まずに
NTFSだとセキュリティ上の理由で必ずゼロ埋めされるから不可能
0104デフォルトの名無しさんNGNG
BSTRを作成するときは必ずSysAllocStringを
使わなくてはならないのでしょうか?
それともBSTRと同じメモリ構造を自分で用意しても
かまわないのでしょうか?
0105デフォルトの名無しさんNGNG
>不透明度0
ウィンドウが透明になる(=見えなくなる)だけだと思うが
0106デフォルトの名無しさんNGNG
>>104
作成・廃棄は自分しかやらず、外部には参照しかさせない、
と限定できるならいいんじゃない?
混乱するから俺ならやらないけど・・・
0107デフォルトの名無しさんNGNG
SetFilePointerってEOF超えた位置に移動してもよかったんだっけ?
0108デフォルトの名無しさんNGNG
>>105
いつ拾ったのか分からないPNGローダーのサンプルに
αチャンネル付きのPNGを読ませたところ、
完全に透明になっているところをクリックすると
下のウインドウをクリックしたことになってるもので・・・

ソースを見ても、リージョンを弄っているところは皆無で
UpdateLayeredWindowしているだけでした。

気になったのでぐぐってみたら、
http://www.google.co.jp/search?q=cache:Gahrr6rAyeMC:shillest.net/src/view.cgi%3Fpage%3D4%26account%3Dheper+UpdateLayeredWindow&hl=ja&lr=lang_ja&ie=UTF-8
>SetLayeredWindowAttributes(hWnd, cTrans, 0, LWA_COLORKEY);
>だけで塗潰す必要もなく非矩形ウィンドウになるっぽです。。。。=■●_
とあるので、間違いないようなのです。

できれば、穴の空いたウインドウにせずに完全に透明な
部分を含んだウインドウを作りたいんですが・・・
0109デフォルトの名無しさんNGNG
>>107
出来るよ
0110デフォルトの名無しさんNGNG
>>107
MSDN: http://www.asia.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/jpwinpf/_win32_setfilepointer.htm

ファイルの終わり(EOF)を超える位置にファイルポインタを設定してもエラーにならないことに注意してください。ただし、SetEndOfFile、WriteFile、WriteFileEx いずれかの関数を呼び出すまでは、ファイルのサイズは増加しません。
0111名無し@沢村NGNG
>>108
ヌヒよ、穴のあいた部分にWS_EX_TRANSPARENT属性のついた
ポップアップウィンドウを重ねてみてはどうか。
0112デフォルトの名無しさんNGNG
>>111
ウインドウを移動させると描画内容が破綻する
0113名無し@沢村NGNG
>>112
ヌヒよ、そんなもんUpdateWindow()で済む話だ
0114デフォルトの名無しさんNGNG
>>106
IEコンポに書き込む文字列を渡すためだけに
関数内で作成・廃棄するのがアホらしかったんで
あらかじめ長さのフィールドを確保しておけば
無駄なコピーが減らせないかと思って
0115デフォルトの名無しさんNGNG
>>114
それをどこに置いておくつもりだ……
グローバルにするつもりじゃないだろうな
0116デフォルトの名無しさんNGNG

ウインドウクラスと実際のウインドウの関係はどうなっているのでしょう?

RegisterClass でウインドウのクラスを定義して、CreateWindow で
実際に作成するわけですが、いままではクラスというのは
Cの構造体(あるいはオブジェクト)の定義であって、実際にインスタンス化
(実体化)するのが CreateWindow なのだと思っていました。
しかしペゾルトを読んで、SetClassLong でウインドウのアイコンを「リアル
タイムに」変更できると書いてあったので、よく分からなくなりました。

SetClassLong と SetWindowLong の両方でウインドウプロシージャの
アドレスを変更できますが、両者にはどこが違うのですか?

実際に、どのようにメモリ確保が行われるのか、どこかに詳しく書いて
ある書籍はないもんでしょうか?

0117デフォルトの名無しさんNGNG
>>115
すんげえ、的はずれなレスだね。
BSTRを関数に渡す際には、呼び出し側に破棄の責任があるのだよ。
0118国語が足りない奴NGNG
先生、いま作っているアプリで、
SetTimer()とInvalidateRECT()使って
BMPの動画をやっているんですが、
動画再生中にパソコンのメモリ使用量が
増えていきます。BMPはDLLにリソースとして
埋め込み、アプリ実行はじめにDLLをLaodLibrary()しています。
再描画の度にBMPをLoadBitmap()、
SerectObject()してBitBlt()、そしてDeleteObject()。
最後にアプリ終了時にFreeLibrary()。
この流れで使用メモリ増幅の理由に
なりそうなところはどこですか?
0119デフォルトの名無しさんNGNG
ノートン
0120デフォルトの名無しさんNGNG
>>117
そのレスも的を得ているようには思えんがw
0121デフォルトの名無しさんNGNG
>>118
SerectObjectを1回しかしてないところ、並びに
SelectObjectが出てこないところ。
0122デフォルトの名無しさんNGNG
とあるフォルダにファイルが作られたりコピーされたことを感知するためには
どのような処理をすればよいでしょうか?
とりあえず1秒ごとにそのフォルダをなめようかと思いましたが
これはあまりに馬鹿っぽいです。エクスプローラからイベントがもらえたら
うれしいのですが。
0123デフォルトの名無しさんNGNG
>>122
FindFirstChangeNotification
0124デフォルトの名無しさんNGNG
>>113
自信たっぷりだな。
あんまり自信たっぷりだから信じてやってみたら
やっぱりUpdateWindowじゃだめじゃねーか。
やっぱりおまえは沢村だな
0125デフォルトの名無しさんNGNG
沢村がハンドル変えたんか
がくがくぶるぶる
0126122NGNG
>>123
さんくすですー。できますた。できますた。
0127104NGNG
ぐぐってみたところ
BSTRはプロセス境界をまたいで渡されるかもしれないから
システムによって割り当てられなければならない。
メモリレイアウトが同じなだけではだめ、とのこと。
お騒がせしました。
0128デフォルトの名無しさんNGNG
>>120
的を得る ?
なんか得するのか ?
0129デフォルトの名無しさんNGNG
>128
ageるならそんなくだらないつっこみをしないで建設的な意見でも述べたら?(嘲笑激藁
0130デフォルトの名無しさんNGNG
>>120 = >>129
0131デフォルトの名無しさんNGNG
こちらで伺うのかが適切かは解りませんが。
一部の(SnapIt!等)で、「エクスプローラのフォルダの余白をダブルクリック」だの
「解像度が変更されたらアイコンの自動再配置」なんて機能が有ります。
この様に、Explorerの挙動を他のアプリから感知するにはどうすればいいのでしょうか?
資料をご紹介頂けるとありがたく思います。
0132デフォルトの名無しさんNGNG
前者はフック
後者はWM_SETTINGCHANGEかな
0133デフォルトの名無しさんNGNG
>>132
うーむ何をどうフックすれば余白をWクリックなのか、今の時点ではさっぱり解りませんが
がんがって調べてみまつ!
ありがとうございましたー
0134デフォルトの名無しさんNGNG
フックじゃねーや、サブクラス化な。
WM_LBUTTONDBLCLKだかを捕まえればいいんじゃね?
勿論、アイテムのダブルクリックとかややこしいことがあるけど
そう言うのを解決して。
0135デフォルトの名無しさんNGNG
とにかくExplorerの仕様(?)が全然解らないので、鋭意調べ中です!
LVNメッセージを捕まえられれば・・・とかちょっと思ったけど、
捕まえられたとしても余白のメッセージなんて無かった(w
0136デフォルトの名無しさんNGNG
>>116
どっちもOSが管理している構造体だよ

ウインドウ1枚分の管理情報を格納している制御ブロックが「ウインドウ」
「ウインドウ」を作るときの初期値が「ウインドウクラス」
詳細に入る前の概要説明としてはこんなもんだろ
0137デフォルトの名無しさんNGNG
>>135
LVM_GETITEMCOUNTを送って0なら余白。
0138デフォルトの名無しさんNGNG
質問します。

CreateFile を使い、非共有かつ FILE_FLAG_DELETE_ON_CLOSE を指定せずに開い
たファイルを、ハンドルを閉じると同時に削除したいのですが、可能でしょうか?
可能ならその方法も教えて頂きたいのですが。
0139国語が足りない奴NGNG
>>121
なんでSerectObject()を2回するのですか?
それでするとしたらどこで?
0140デフォルトの名無しさんNGNG
このスレは
いわゆるプラットフォームSDKを使うということなのでしょうか?
区分けがわからないのでどこで質問すればいいのやら・・・
0141デフォルトの名無しさんNGNG
>>140
MSDNライブラリで「プラットフォームSDK」に分類されている関数やメッセージの話ならここでいい
COMやMFCが出てくる話なら別スレがある
0142デフォルトの名無しさんNGNG
>>137
そうするのか!!
一寝入りしたらまた格闘してみまつ。ありがとさんです(;゜Д゜)b
0143デフォルトの名無しさんNGNG
>>142
あ、137はLVM_GETSELECTEDCOUNTの間違い。
0144デフォルトの名無しさんNGNG
>>139
あなたは国語ばかりか英語も足りません。
0145デフォルトの名無しさんNGNG
>>140
ここは「WIN32API」の質問&解答スレです。
WIN16API・WIN64API等やWindowsプログラムに
関するWIN32API絡みでない質問は受け付けません。

WIN16APIの質問&解答スレ
現在無し

WIN64APIの質問&解答スレ
現在無し

Windowsプログラムに関するAPI以外の質問&解答スレ
Windows Programing for C/C++(Not MFC)
http://pc2.2ch.net/test/read.cgi/tech/1018239290/
0146デフォルトの名無しさんNGNG
Win16はともかくWin64に独立スレが必要とは思えんが
杓子定規すぎ
0147デフォルトの名無しさんNGNG
>>146
同意
Win16の話をここでするのは漏れ的にはOKだな
0148デフォルトの名無しさんNGNG
ネタにマジレ(ry
0149デフォルトの名無しさんNGNG
Win64はないでしょ。その代わり.NETはある意味Win64相当といえるかも。
例えばファイルサイズはlong=int64でintはどのプラットフォームでもサイズ変わらないし。
0150デフォルトの名無しさんNGNG
> Win64はないでしょ

http://msdn.microsoft.com/theshow/Episode005/default.asp
0151デフォルトの名無しさんNGNG
>Posted July 14, 2000
0152デフォルトの名無しさんNGNG
> 例えばファイルサイズはlong=int64でintはどのプラットフォームでもサイズ変わらないし。
IL32ならlong=int32で(Win32)
ILP64ならintは64ビットだと思ったが
0153デフォルトの名無しさんNGNG
間違った
×IL32ならlong=int32で(Win32)
○IL32ならlong=int32で(Win64)
0154デフォルトの名無しさんNGNG
>>152
ソースは?
0155デフォルトの名無しさんNGNG
http://www15.big.or.jp/~kaini/image/img-box/img20030321215209.jpg
0156デフォルトの名無しさんNGNG
>>155
グロ
0157デフォルトの名無しさんNGNG
コンソールプログラムにおいて Sleep()で休止中に Ctrl-Cを入力すると、完全に
凍ってしまうんですが、これはどうにかならないのでしょうか?
0158 NGNG
SleepEx() 使え
0159デフォルトの名無しさんNGNG
自作のコントロールにマウスカーソルをあわせてホイールを
回すと何らかの動作するようにしたいのですが、Spy++で調べても
WM_MOUSEWHEELが送られてこないようです。
どうすればホイールの動きを感知できるでしょうか?
0160デフォルトの名無しさんNGNG
>>158
SleepExつかっても凍ってしまうのですが。
0161 NGNG
>>160
ごめん、記憶で適当に言っちゃった。でも SleepEx() て割り込み受け付けるために
使うんじゃなかった?

明日検証してみるからちょっとまっててね。
AppWizard で作った Win32コンソールの hello world くらいで再現するよね?
0162デフォルトの名無しさんNGNG
>>157
どんな環境でそうなるの。98でもXPでもきちんと止まるのですが。
0163デフォルトの名無しさんNGNG
>>159
WM_MOUSEWHEEL はキーボードフォーカスを持つ
ウインドウに送られるそうだけど、その辺は大丈夫?

0164デフォルトの名無しさんNGNG
>>157 これでどうだ?
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/10811
0165161 NGNG
>>160
ごめん、まじで再現しない。

#include <stdio.h>
#include <Windows.h>

int main(int argc, char* argv[])
{
printf("Hello World!\n");

::Sleep(10000);

return 0;
}
で、コンソールアプリ実行しても、Ctrl+c で止まる。
>>164さんの情報でも解決しない場合は、詳しく環境を教えて。
0166デフォルトの名無しさんNGNG
160じゃないけど、MFCをサポートするコンソールアプリでやったら例外で落ちた。
一応報告。
ウィザードが吐いたコードの最後に ::Sleep(10000); を追加しただけだが……

Win2000 VC6SP5
0167165NGNG
>>166
Win32 Console Application を AppWizard で作らせて、
MFCサポートにした。
if () ~ else の最後に ::Sleep(10000); を追加したけど落ちない。

WinXP home VC6SP5
0168デフォルトの名無しさんNGNG
FindFirstChangeNotificationでフォルダを監視して、その変更通知は受け取ることが
できたのですが、その中で変更のあったファイルのみ列挙するには
どのようにしたらよいでしょうか?
0169159NGNG
>>163
SetFocusを実行するようにしてみたのですがダメでした。

普通のウィンドウ(WS_OVERLAPPEDWINDOW)で
ホイールの動きを感知できるか試してみたのですが、
Spy++で見る限りWM_MOUSEWHEELが送られているのに、
ウィンドウプロシージャのブレークポイントには止まりません。

WM_MOUSEWHEELがちゃんと定義されていないのかと思い、
case 0x020a:としてみたのですがダメでした。

メッセージループに何か仕掛けが必要なのでしょうか?
0170デフォルトの名無しさんNGNG
マウスユーティリティにホイールメッセージ奪われて
WM_VSCROLLにすりかえられてたりしない?
0171168NGNG
やっぱり、無理みたいですね。(´・ω・‘)ショボーン
0172デフォルトの名無しさんNGNG
>>160
SetErrorModeするとか明示的にsignalハンドラ書くとかはどうよ?
0173デフォルトの名無しさんNGNG
猫プロのWindows SDK一番最初のプログラムがコンパイルできません

'void *' 型は 'HBRUSH__ *' 型に変換できない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )

とエラーが出ます
BCCです
早くも挫折の予感です
みなさんこれを乗り越えてきたのでしょうか
0174デフォルトの名無しさんNGNG
>>173
http://pc2.2ch.net/test/read.cgi/tech/1030493157/733 を見てください

bccだと猫のサンプルはエラーが結構出たような気がするけどがむばれ・・・
0175デフォルトの名無しさんNGNG
>>173
windowsx.h, GetStockBrush, DeleteBrush 等のキーワードで調べる……は駄目かな?
0176デフォルトの名無しさんNGNG
>173
C言語の第1章からやれ
0177デフォルトの名無しさんNGNG
>>173
エラーと言われたソースのファイル名と行番号は認識してるか?
その行で使っている型識別子は1つずつgrepしてみたか?
typedefは見つけたか?
0178デフォルトの名無しさんNGNG
#define NOSTRICT
…は素人にはお勧めできないからがんばって適切な型の指定に置き換える
0179173NGNG
>>174のリンク先の方法で解決できました
意味はよくわかりませんでしたが、HBRUSH型にキャストしてやれば良いんですね

>>174>>175>>176>>177>>178
アドバイスありがとう
また明日から頑張れそうです
0180デフォルトの名無しさんNGNG
>>179
憶えたこと、その場でちゃんとメモっとけよ
そのメモの束が、お前が先輩になった時の財産になるぞ
0181デフォルトの名無しさんNGNG
http://cos.site.ne.jp/img-box/img20030325172722.jpg
0182デフォルトの名無しさんNGNG
>>181
おお。
0183名無し@沢村NGNG
>>124
ははは、昨日会社でソースを確認したらUpdateWindowじゃなかったよ。
正しくはこうだな。

ShowWindow(hWnd, SW_HIDE);
MoveWindow(hWnd, .....);
ShowWindow(hWnd, SW_SHOW);
0184デフォルトの名無しさんNGNG
>>181
( ●ω●) オトーサン・・・
0185デフォルトの名無しさんNGNG
>>183
禿しくちらつく。
そんなもん実用にならねぇ
0186デフォルトの名無しさんNGNG
>>170
WM_VSCROLLにすり替えられていたようです。
Spy++で表示されているのは、送られているメッセージで、
受け取ったメッセージではないんですね?
ありがとうございました。
0187名無し@沢村NGNG
>>185
ヌヒよ、WS_EX_TRANSPARENT のポップアップウィンドウの話をしているのだぞ。
ユーザには存在していないように見えるウィンドウをいったん非表示にしたところで
ちらつくわけがないだろ。わかったか、ヌヒよ。
0188デフォルトの名無しさんNGNG
リソース食いそうだね。
0189デフォルトの名無しさんNGNG
質問です。
PC に PS/2 キーボードと USB キーボード みたいに
キーボードが複数繋がっているとして、
この両者の入力を、どちらのものか識別したりする方法ってないでしょうか?
一応、デバイスマネージャにはデバイスドライバが2つある状態になっています。
多少低レベルな API とかでもいいのですが…
(さすがにデバイスドライバを作るとか、そういうレベルだと厳しいのですが)

識者の方、指揮者の方問わずよろしくおねがいします。
0190デフォルトの名無しさんNGNG
ウィンドウアプリ(非コンソールアプリ)で、起動後に
GetStdHandleすると返ってくる値がとても変なのですが
なにか関連情報ありませんか?

例えばWindows2000Sp3のExplorerから起動すると、
標準出力ハンドルとして0x00010001が返ってきます。
NULLでもINVALID_HANDLE_VALUEでもない、しかし無効なハンドル。
一方CMD.EXEからstartコマンドを使って起動するとハンドルはNULL
その他、起動方法を変えるといろいろな結果が得られます。

今手元に詳しい結果が無いのですが
WinMain
{
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
MessageBox(...)
}
とかで簡単に調べられます。なんでしょねこれ。
0191デフォルトの名無しさんNGNG
>>190
explorerがなにがしかハンドルを渡してるんじゃないのか?
0192デフォルトの名無しさんNGNG
>>190
GetStdHandle 関数が返すハンドルは、コンソールからの読み取りまたはコンソールへの書き込
みが必要なアプリケーションで利用できます。
(MSDNより)

ウィンドウアプリでは必要ないと思うんだけど。
0193デフォルトの名無しさんNGNG
>190
CreatePipe()しないと駄目とか
0194193NGNG
9x系がCreatePipe使えないから違うか…
0195デフォルトの名無しさんNGNG
>>194
使えるよ
使えないのはCreateNamedPipeのサーバ側
0196デフォルトの名無しさんNGNG
質問お願いします。VC++6を使っていますが、
newよりもGlobalAllocを使った方が良い場面というのは、どういう場合なんでしょうか

なんとなく、大きいメモリを確保する必要が有るときは
GlobalAllocかなぁ、などと思っているのですが。
0197デフォルトの名無しさんNGNG
>>196
APIがGMEM_MOVEABLEとかで指定する移動可能メモリを要求してるときぐらい
クリップボード系でGMEM_SHAREを指定するときもあるかも
0198デフォルトの名無しさんNGNG
クリップボード使う時はGlobalAllocじゃないとね
0199デフォルトの名無しさんNGNG
おねがいします!
_beginthreadexの戻り値のハンドルをクローズする場所は
たいていWaitForSingleObjectなどでスレッド終了を確認した後で
行われていますが、
スレッド関数内の最後(まだスレッドは終わってない)の所で
CloseHandleして良いものなのでしょうか ?
いちおうCloseHandleは成功はしているけど・・・やばいのかな?
0200デフォルトの名無しさんNGNG
>>199
WaitForSingleObjectなどでスレッド終了を確認する必要が無い場合は
CloseHandleしてかまわない、WaitFor...使ってる場合にCloseHandleすると
どうなるかしらない。WaitFor...がハンドルの参照カウンタをインクリメント
しているなら大丈夫だが、、、普通どおり終了確認してからCloseHandleする
のが安全だろ。
0201デフォルトの名無しさんNGNG
ダイアログボックスに描画したグラフィックを消すにはどのようにしたらよいでしょうか?
グラフィックはLineToやPolylineで書いています。
0202デフォルトの名無しさんNGNG
>>201
InvalidRectとか?
0203デフォルトの名無しさんNGNG
>>202
即レス、ありがとうございます。
できました。
0204デフォルトの名無しさんNGNG
>>200
良く分かりました。さんくす。
0205196NGNG
>>197-198
レスありがとうございます。
良かった、用途はかなり限定されてるんですね。
悩まずに済みそうです。感謝です。
0206デフォルトの名無しさんNGNG
文字列が数値かどうか判定するAPIってありましたでしょうか?
VBでいうところのIsNumericです。
0207デフォルトの名無しさんNGNG
>>206
GetStringType, GetStringTypeEx かなぁ?
0208デフォルトの名無しさんNGNG
>>206
IsCharAlphaNumeric() && !IsCharAlpha()
ではどうか?
0209デフォルトの名無しさんNGNG
マウスカーソルを指マークにしたいのですがデフォルトではないようです。
みなさんどうやっていますか?
0210デフォルトの名無しさんNGNG
沢村か?
0211デフォルトの名無しさんNGNG
IDI_HANDのが気に入らなかったら
自分の手を見ながら描く
0212デフォルトの名無しさんNGNG
>>211
IDC_HANDですね。ありました。2000以上だったのか。
0213190NGNG
>>191-195
ありがとうございます。
ウィンドウアプリから子プロセスとしてコンソールアプリを起動する
時に標準出力などを一旦待避しておいて後で
また戻してるだけなので、使わないといえば使わない
ハンドルなんですけどね。
ちょっと気持ち悪かったもので。
0214デフォルトの名無しさんNGNG
>213
とりあえず猫プロとか見ながら組んでみたけど
SetStdHandle()でエラー返さないからええんでない?
0215デフォルトの名無しさんNGNG
カーソルがウィンドウの外に出ていったことを
知るにはどうしたらいいのでしょうか?
できればキャプチャーせずに知りたいのですが。
0216デフォルトの名無しさんNGNG
>>215
キャプチャーするのが一番だと思うんだけど・・・
タイマーで監視するか
透明なウインドウを置いてそこで検出するか

キャプチャーしたくない理由ってなによ?
0217デフォルトの名無しさんNGNG
用途によってはタイマーで監視する方法も。
例えば、
 プッシュボタンを押したとき → キャプチャー
 フラットなボタンを凸表示するとき → タイマー
みたいに。
0218デフォルトの名無しさんNGNG
>>217
ウインドウ上でボタン押下したならウインドウからはずれてもMOUSEMOVEが拾えなかったっけ?
0219デフォルトの名無しさんNGNG
DIB通さずに高速に描画する関数ってどんなのがありますか?
点とか円とか線とか
0220215NGNG
>>216-217
ありがとうございます。

カーソルが載っているときだけボタンの色を
変えるということをしたかったのです。

カーソルが外に出た瞬間別のボタンの上に
載った場合、キャプチャー解除しても直後は
WM_MOUSEMOVEを拾えないのではないか、
と思ったのですが、実験してみたら拾えました。(汗)
スマソです。
0221デフォルトの名無しさんNGNG
>>219
点とか円とか線を描くのにDIB以外の手段つーとメタファイルか?
そんなん実測したらええやん
0222デフォルトの名無しさんNGNG
>>221
GDIと混同してる?

>>219
LineToとかArcとか
0223221NGNG
>>222
GDI以外の何と混同してると重田?
0224デフォルトの名無しさんNGNG
>>218
いや気になったのは、キャプチャだとキーボードメッセージもキャプチャしているウィンドウに取られてしまい
マウスがボタンの上に乗っているときにメニューのショートカット(Alt + H でヘルプとか)が使えなくなったりしないかなぁ、と。
アクセラレータやMFCを使っていると何故か大丈夫なのかもしれないけど。
0225デフォルトの名無しさんNGNG
TrackMouseEvent() は?
0226デフォルトの名無しさんNGNG
ダイアログボックスの背景の色を指定するにはどうしたらいいでしょう
0227デフォルトの名無しさんNGNG
>>226
WM_ERASEBKGNDで処理
0228デフォルトの名無しさんNGNG
http://www15.big.or.jp/~kaini/image/img-box/img20030329222324.gif
0229デフォルトの名無しさんNGNG
>>228
はいはい面白い面白い
0230228NGNG
中学の同級生の大ちゃんを思い出させるセリフだな、それ…。
気に食わない事があると良くそのセリフを吐いていたっけ…。
はあ、金返せよ…。
0231yosoでやってくれNGNG
少なくとも一方はスレ違いと思われ
0232デフォルトの名無しさんNGNG
自分以外のプロセスが使っているWindows Common Controls
にアクセスしたいんですけどどうやったらいいんでしょうか?

で、そこに表示されているテキストを読み取りたいんですが?

95系とNT系で違う処理になると思いますがXPで動けば十分です。
0233デフォルトの名無しさんNGNG
>>232
>そこに表示されているテキストを読み取りたいんですが?

煽られた・・・・
0234デフォルトの名無しさんNGNG
te
0235デフォルトの名無しさんNGNG
ボタンを押すと凹みますよね。で、中の文字が右下にずれる。
このずれの量って、GetSystemMetricsか SystemParametersInfoあたりで決まってるんでしょうか?

標準では横方向1px、縦方向1pxのようですが。
0236デフォルトの名無しさんNGNG
WINAPIじゃないんですけど、
レジストリ操作でフォルダにあたるキーはなんですか。
ファイルならわかるけどフォルダがわかりません。
0237デフォルトの名無しさんNGNG
>236

意味不明
0238デフォルトの名無しさんNGNG
猫でも分かるよりさらに超初心者向けのwindowsプログラミングサイトを
教えてください。
0239デフォルトの名無しさんNGNG
>>238
http://hima-doki.s13.xrea.com/x/_cgi/a-column/data/motties/1036074275.html
0240デフォルトの名無しさんNGNG
>>238
サルでもわかるWindowsプログラミング
http://life2.2ch.net/test/read.cgi/credit/1041764551/
0241デフォルトの名無しさんNGNG
>>238
バカは死ね。
0242デフォルトの名無しさんNGNG
>>235
決まってないと思われ。と言うかボタン作ったヤツが決めてるだけ。
0243yosoでやってくれNGNG
>>238
くめい氏がここを見ていることを祈りながら、
どの説明のどこがどのようにわからないのか
その恥のかきついでに、克明に表現しろ

この世のどこかにものすごく奇特な人がいて
おまえの悩みにつきあってくれるかも知れんぞ
0244デフォルトの名無しさんNGNG
あり、コテハンのままだった(欝だ詩嚢
0245yosoでやってくれNGNG
あげ
0246デフォルトの名無しさんNGNG
>>232
VirtualAllocEx
0247デフォルトの名無しさんNGNG
>>232
GetWindowText()が使えそうなら使う。(WM_GETTEXTを送るのは×)
無理ならシステムフックを使う。
http://home.att.ne.jp/yellow/hide_n/programming/tips03.html


0248デフォルトの名無しさんNGNG
>>247
>他のプロセス内のコントロールのテキストを取得するには、GetWindowText 関数を
>呼び出すのではなく、直接 WM_GETTEXT メッセージを送ります。
ってかいてあるよ?

0249デフォルトの名無しさんNGNG
WM_SETTEXTとWM_GETTEXTはWin16との互換性を保つために、自動的に
メモリマップを介してプロセス間で文字列を共有できる、というようなことを
Advanced Windowsに書いてあった気がするが。
0250デフォルトの名無しさんNGNG
WM_GETTEXTで読み取れるのはステータスバーくらいだろ
0251デフォルトの名無しさんNGNG
GetWindowText() って何のためにあるの?
全部 WM_GETTEXT でいいじゃん。
0252ネタにマジレスNGNG
>>251
GetWindowText
指定されたウィンドウが持つタイトルバーのテキストを取得します。
指定されたウィンドウがコントロールのときは、コントロール内のテキストを取得します。

(中略)

解説
この関数は、指定したウィンドウ (またはコントロール) にWM_GETTEXT メッセージを送ります。
この関数で、他のアプリケーション内のエディットコントロールのテキストを取り出すことはできません。

                                                (MSDNより抜粋)
0253デフォルトの名無しさんNGNG
>>252
マジにネタレスじゃなくて?
0254デフォルトの名無しさんNGNG
あるファイルが存在するかどうか調べるAPIってありますか?
0255デフォルトの名無しさんNGNG
FindFirstFile
0256デフォルトの名無しさんNGNG
>>254
FileExists
0257デフォルトの名無しさんNGNG
fileExists
public boolean fileExists (String stgfilename, int flags)
throws IOException;

指定されたファイルが存在するかどうかを調べます。

戻り値 :

ファイルが存在する場合は、true。そうでない場合は、false。

パラメータ 解 説
stgfilename 存在するかどうかを調べるファイルの名前。
flags stgfilename に指定したファイルが検索されるストレージ領域を示す値。STORE_FL_LOCAL フラグおよび STORE_FL_ROAMING フラグのいずれか、またはその両方を指定します。


(MSDNより抜粋)
0258デフォルトの名無しさんNGNG
>>254
VBならDir関数
0259デフォルトの名無しさんNGNG
>>258
スレ違い
0260デフォルトの名無しさんNGNG
>>258がスレ違いなら>>257も>>256もスレ違いなわけだが。
0261デフォルトの名無しさんNGNG
ププ
よっぽど悔しかったんだね
0262デフォルトの名無しさんNGNG
了解です。fopenですね?
0263デフォルトの名無しさんNGNG
PathFileExists( )
GetFileAttributes( ) != (DWORD)-1;

じゃねーの?
0264258NGNG
スレタイはWin32API 質問箱 Build10
言語を指定していない
よって回答も各言語のがあってもいいのでは?
0265258NGNG
と思ったけどDirだとAPIじゃないからスレ違いでつね
逝って(ry
0266デフォルトの名無しさんNGNG
>>263
Cライブラリのaccessだったか、その関数呼んでるよね。
0267デフォルトの名無しさんNGNG
CreateFile()でいいじゃん
0268デフォルトの名無しさんNGNG
>>267
fopenはfcloseしなきゃいけないから面倒
たいていどのCにもaccessがある

とfujiが言ってたな
0269デフォルトの名無しさんNGNG
>>268
死んだ方が良い発言だな。
0270デフォルトの名無しさんNGNG
>>268
唐突に言うならともかく
267に対しては何のフォローにもなってないな

最後の一行はどんなに善意に解釈しても糞以外の何者にもならない
そんなことも自分で調べてないなんてレベル低すぎというより問題外
0271デフォルトの名無しさんNGNG
>>268
こいつMSDNも規格票も持ってないのか?
0272デフォルトの名無しさんNGNG
〜と友人が言ってました

これ、自分の無知無能をごまかすときの言い回し。
0273デフォルトの名無しさんNGNG
匿名なんだからそんなこと気にしなくてもいいのにな。
俺が正しいとばかりに言い切っちゃえば、誰かが突っ込んで訂正するかもしれん。
0274デフォルトの名無しさんNGNG
友達の友達は皆友達だ
0275デフォルトの名無しさんNGNG
俺は情報のソースを書いてくれる書き込みは丁寧だと感じるがな。
0276デフォルトの名無しさんNGNG
GetFileAttributesでいいのに
わざわざCreateFile使うことないじゃん。
0277デフォルトの名無しさんNGNG
>>275
「友達が言ってた」発言だと思って
ソースだとわからなかったんでしょ
0278デフォルトの名無しさんNGNG
>>276
GetFileAttributes はそもそも属性を調べるAPIで、たまたま存在確認が
できるだけ。しかも C:\foo.txt がフォルダなのかファイルなのかなどの
判断も必要なので >>263 は間違い。
ファイルの存在は CreateFile(path, 0, OPEN_EXISTING,...) を使うべき。
0279デフォルトの名無しさんNGNG
>>278
電波は死んでください。
0280デフォルトの名無しさんNGNG
FindFirstFileでいいじゃねえええかあ
0281デフォルトの名無しさんNGNG
CreateFile() や FindFirstFile() はそれぞれコストが大きいだろう。
0282デフォルトの名無しさんNGNG
>>278
CreateFileはそもそもファイルを開くAPIで(ry
> しかも C:\foo.txt がフォルダなのかファイルなのかなどの
> 判断も必要なので >>263 は間違い。
>>254の意図が-eなのか-fなのかもはっきりしないのに
そこまで言い切るのもどうかと思うが-fだったとしても
!(GetFileAttributes() & FILE_ATTRIBUTE_DIRECTORY)
でOK。Cランタイムが間違ってると言い張るなら話は別だが
0283デフォルトの名無しさんNGNG
コスト
GetFileAttributes << FindFirstFile <<<<<< CreateFile

その上 CreateFileはファイルが開けない場合もとかがからんできて面倒
0284デフォルトの名無しさんNGNG
>>283
そのためにOPEN_EXISTINGフラグがあると思うのだが。
0285デフォルトの名無しさんNGNG
>>283
ちゃんとプロファイルした結果か?

Win XP SP1 では、ファイルがある場合もない場合も
GetFileAttributes < CreateFile < FindFirstFile
だったけどな。

ただし、
GetFileAttributesはない場合はある場合に比べて30%くらい遅くなった。
CreateFileは10%強早くなった。FindFirstFileはほぼ変わらなかった。
0286デフォルトの名無しさんNGNG
http://hogehoge.com/fugefuge/
のようにファイル名を省略したURLから
http://hogehoge.com/fugefuge/index.html
上のように、ファイル名を補完したURLを取得出来るAPIはないのでしょうか?
0287デフォルトの名無しさんNGNG
>>286
不可能
0288デフォルトの名無しさんNGNG
>>286
APIの範囲を越えている
鯖サイドの設定によるだ
0289デフォルトの名無しさんNGNG
>>287,288
そうですか、APIでは出来ないんですね。
ありがとうございました。
0290デフォルトの名無しさんNGNG
MessageBox()APIについて質問があります。
MFCのメッセージボックスを使うと、引数に渡したHWNDのウィンドウの中央に
メッセージが表示されるようなのですが、SDKのみでこれをやるにはどうすれば
いいのでしょうか?
普通にWindowハンドル渡しただけでは、画面中央にメッセージが表示されてしまいます。
0291デフォルトの名無しさんNGNG
>>290
それ、俺も昔悩んでMFCのソースを調べたけどよくわからんかった。
MoveWindowで動かしているようでもないし。
一度ここで質問したけど、回答は得られなかったし。
一番ある回答は
「自分でダイアログ作れゴルァ」
だったと思う。
0292デフォルトの名無しさんNGNG
いずれにせよ、ファイルの存在を調べるためだけにハンドルを開くことになる
CreateFile()やFindFirstFile()をわざわざ呼び出すのは、馬鹿のやることだな。
0293ぬるぽ男爵 ◆7jriffTro. NGNG
>>291
センターウィンドウじゃ。
0294デフォルトの名無しさんNGNG
APIバイブルに記載されていないAPIが
いくつかあるようなのですが、
(DragQueryFilesとかExtractIconとか)
漏れを補うのにいい書籍があれば教えてください。
0295デフォルトの名無しさんNGNG
>>294
書籍じゃないがMSDNライブラリ
0296デフォルトの名無しさんNGNG
>>294
http://www.runan.net/program/tips/hidden_api.shtml
0297デフォルトの名無しさんNGNG
便乗で申し訳ないのですが、VisualStudioを買わずにMSDNライブラリを
手に入れる方法ってあるでしょうか?
0298デフォルトの名無しさんNGNG
>>297
変わった質問ですね。ボーランド派ですか?
「MSDN オペレーティング システム サブスクリプション」をどうぞ。
0299デフォルトの名無しさんNGNG
>>290
http://pc2.2ch.net/tech/kako/1040/10409/1040964626.html
の217からだけど、フックを使っているらしい。
>>293
MeseageBoxのHWNDが手に入らないと無理なんじゃない?
0300デフォルトの名無しさんNGNG
具体的なやり方が知りたいけど、
はっきりとした「できない」の証明でも
すっきりするんだけどな〜
0301デフォルトの名無しさんNGNG
>>298
手元にあるVS6の文書が古くなってしまったもので。
やはりMSDN契約しか無いですか。ありがとうございました。
暫くはSDKの付属文書から差し替えつつ、困ったらMSDNオンラインを引くことにします。
0302デフォルトの名無しさんNGNG
>>298
誤: オペレーティングシステム サブスクリプション
正: ライブラリ サブスクリプション
0303デフォルトの名無しさんNGNG
ハンドルを継承するってどういう意味ですか?
0304デフォルトの名無しさんNGNG
>303
どっかからハンドル持ってくるとか、
持ってきたハンドルにさらに機能くっつけるとか。

広域すぎて何が言いたいのか解らないよ。
0305デフォルトの名無しさんNGNG
>>303
たとえば、その資源を使う権利を引き継ぐということです。
0306デフォルトの名無しさんNGNG
>>302
ライブラリサブスクリプションって今でも売ってるのかね。
いちおうMSのサイトには名前があるけど、売ってるサイト見たことないな。
0307デフォルトの名無しさんNGNG
>>300
MFCのソース読めば
0308デフォルトの名無しさんNGNG
>>306
http://www.microsoft.com/catalog/display7.asp?subid=36&site=202

MSDN ライブラリ サブスクリプションの製品パッケージは、
2000 年 10 月26 日を持って販売終了とさせていただきます。
0309デフォルトの名無しさんNGNG
>>308
なにせパッケージ版は店頭に一年以上放置されたりするからな。
0310デフォルトの名無しさんNGNG
WritePrivateProfileStringの書きこみの後すぐに
CreateFileで開いて読みこんでも内容が変化してないのはなぜ?
0311デフォルトの名無しさんNGNG
>310
書き込み内容がフラッシュされていないから。

WritePrivateProfileString( NULL, NULL, NULL, ... );
でフラッシュできる
0312310NGNG
>>311
早速やってみます。これでSleepで時間を置いてから開くみたいな
蛇道な(間違った)方法から開放されそうです。 感謝!
0313デフォルトの名無しさんNGNG
>>312
WritePrivateProfileXXX 使うこと自体邪道な(間違った)デザインなんだけど。:)
0314デフォルトの名無しさんNGNG
ini に書きこむならそのAPI関数しかないだろうに
0315デフォルトの名無しさんNGNG
レジストリが推奨されてるって言いたいだけだろ
0316デフォルトの名無しさんNGNG
たしかにWritePrivateProfileStringとCreateFileの併用は良くない気もするが
0317デフォルトの名無しさんNGNG
レジストリ弄るのイヤ〜ン
0318デフォルトの名無しさんNGNG
MSDNライブラリ全体は要らんからプラットフォームSDKと付属文書キボンヌ・・・
0319デフォルトの名無しさんNGNG
WM_GETMINMAXINFO でウィンドウサイズを変更出来る大きさを制限出来ますが、
あるウィンドウに対してその制限された大きさを取得するにはどうしたらいいでしょうか?
0320デフォルトの名無しさんNGNG
>>319
そのメッセージを送って帰ってくる情報で判断ってできないかな?
0321デフォルトの名無しさんNGNG
W系のAPIが入っているプログラムを作ったら、Win95で開始エラーが出るようになりました。
OSは自分で判定しているのでWin95の時はW系のAPIを使ってはいないのですが、
プログラムに入っているだけで起動できなくなります。
でもNTではW系の方を使う必要があるので、消すことができません。
開始エラーが出ないようにする良い方法はないものでしょうか?
0322デフォルトの名無しさんNGNG
>>321
API呼出をLoadModule+GetProcAddressに変えてみるとか?
0323デフォルトの名無しさんNGNG
マウスのキャプチャー中に送られてくるWM_MOUSEMOVEの
カーソル座標の情報なんですけど、xy共にクライアント領域で0を下回るときには8012などの
わけの分からない数値になってしまうのですが、これはどういうことなのでしょうか。
0324デフォルトの名無しさんNGNG
>>314-317
マジレスすると、MSDNには

注意 この関数は、16 ビット Windows ベースのアプリケーションとの互換性を
保つ目的でのみ提供されています。Win32 ベースのアプリケーションでは、初期化
情報をレジストリに格納してください。

と書いてあるわけで。レジストリに書くのもいやなんだけどね。
(Get|Write)(Private)?ProfileXxx のXML版用意シレ〜。
Microsoft.MSXMLをCoInitializeしてXPath、、、って面倒だし。(w
0325デフォルトの名無しさんNGNG
>>323
二の補数?@16Bit
0326デフォルトの名無しさんNGNG
>>321
どうしてもW版を使いたいならMSLUがあるが。
別にNT系だからってW系APIを使わなければいけないということもないが?
0327デフォルトの名無しさんNGNG
>>326
Win2000にしかないAPIとか使ってるんだろう。
Win95ではその機能をオフにしてるとか。例えばウィンドウの半透明機能。
LoadLibrary+GetProcAddressに一票。
0328デフォルトの名無しさんNGNG
あ、2000じゃなくてNTって書いてた。ま、いいか。
0329323NGNG
>>325
うっかりしてました。LOWORD()の戻り値の
WORDが符号無しだって気がつかずに使っていました。

MSDNにGET_X_LPARAMってのが載っていたので、それにしたら正常に動作しました。
0330デフォルトの名無しさんNGNG
short型にキャストですな
0331デフォルトの名無しさんNGNG
Drectxを使ってフルスクリーンモードで描写しながら
DialogWindowを表示したいのですが
まったく表示されません。
どのようにすれば表示されるでしょか?
0332331NGNG
解決しました。
すんまそ。
0333デフォルトの名無しさんNGNG
>>332
そんなレスよりどう解決したのかのほうが重要だ。
0334331NGNG
>>333
俺にとっては重要じゃない。
0335デフォルトの名無しさんNGNG
>>333
http://pc2.2ch.net/test/read.cgi/tech/1018239290/l50
の947以降参照。
0336デフォルトの名無しさんNGNG
>>334
だったらお前のひとりごとなんかどうでもいいから来るな
0337デフォルトの名無しさんNGNG
このアホ、C++スレでも聞いてるな
0338デフォルトの名無しさんNGNG
>>331 はマルチか…

C++相談室 part17
http://pc2.2ch.net/test/read.cgi/tech/1047560042/705
0339331NGNG
334は私ではありません。
0340デフォルトの名無しさんNGNG
ダイアログボックス上にピクチャコントロールを貼り付けて
そこにIDI_HAND(システムアイコン)を貼り付けたいのですが。
ダイアログに
switch (uMsg){
case WM_INITDIALOG:
SendMessage(GetDlgItem(hDlg, IDC_STOP), WM_SETICON, TRUE, (LPARAM)LoadIcon(0, MAKEINTRESOURCE(IDI_HAND)));
break;
としても表示してくれません。
なにか足りないでしょうか?
0341340NGNG
DrawIconでWM_PAINT時に書くことにしました。
0342デフォルトの名無しさんNGNG
MAKEINTRESOURCE 不要? あと
TRUE を ICON_BIG とか ICON_SMALL に
してみたらどう?
0343デフォルトの名無しさんNGNG
>>340
スタティックコントロールならSTM_SETICONですぜダンナ
0344デフォルトの名無しさんNGNG
すみません、オーナーウインドウの外にでられないウインドウって
どうやってつくるのですか?
0345デフォルトの名無しさんNGNG
>>344 WS_CHILDぉぉぉぉぉぉぉぉぉぉぉ
0346デフォルトの名無しさんNGNG
ダイアログボックスなどのプロパティで「チャイルド」と指定すると
見えなくなるのですがどうすればよいのですか?
0347デフォルトの名無しさんNGNG
あの〜スミマセン!!  
MassageBoxの出し方教えて下さい。  
ガッコウの兄貴に指示されました。
コニチワ、マッサージボックスで出せなさいと。
どうすればいい?
0348デフォルトの名無しさんNGNG
>>347
まったく意味がわからん。
0349デフォルトの名無しさんNGNG
>>347
マルチかよ
0350いつでもどこでも太郎さんNGNG
すみません。初心者です。
Win32APIで、一定時間ごとに、画面をキャプチャするなんていうアプリを作れるのでしょうか?
0351デフォルトの名無しさんNGNG
>>350

>一定時間ごとに
SetTimer

>画面をキャプチャ
GetDC(NULL), CreateCompatibleDC, CreateCompatibleBitmap, SelectObject, BitBlt

これらをググっても意味わからんときは猫(>>1にリンクあり)へ逝くかPetzold本買え
0352デフォルトの名無しさんNGNG
あ、待て待て
おぬし童・・・いやCくらい知ってるか?
0353デフォルトの名無しさんNGNG
>>350
またマルチかよ
0354デフォルトの名無しさんNGNG
起動回数制限ってどうやってやるんですか?
0355デフォルトの名無しさんNGNG
>>354
起動した回数数えて、10を越えたらすぐ終了するようにする。
0356デフォルトの名無しさんNGNG
>>344
補足しとくとオーナーじゃなくて親な
0357デフォルトの名無しさんNGNG
WM_ACTIVATEを受けたときに、クライアント領域を塗りつぶしたら、
ボタンまで塗りつぶされてしまいました。
ボタンが塗りつぶされないようにするには、どうしたらいいのでしょうか?

ちなみにこんな感じのコードを書きました。↓

case WM_ACTIVATE :
 hDC = GetDC( hWnd );
 hBrush = CreateSolidBrush( RGB( 255, 255, 255 ) );
 FillRect( hDC, &rct, hBrush );
 DeleteObject( hBrush );
 ReleaseDC( hWnd, hDC );
 break;
0358デフォルトの名無しさんNGNG
>>357
ボタンをInvalidateRectするとか
0359Win32SDK勉強中 ◆T5XFff2FOQ NGNG
スタティックコントロール(スタイルはSS_BITMAP)の
幅と高さがSTM_SETIMAGEで設定したイメージの
幅と高さ(GetWindowRectにて取得)に一致しないのは
仕様でしょうか?
0360デフォルトの名無しさんNGNG
プラットフォームSDKダウンロード・インストールしてヘルプ読もうとしたら見れません。
いきなりつまずきました。ぐぐってみると、HTML HELP 2.0 なる物が必要とか?
MSDN や VS.NET についてる?らしいですが、そんなものもってません。
SDKのヘルプみるのに、SDK以外が必要なんでしょうか?
0361360NGNG
インストールしたのはコアSDKで、OSはWindows98MEです。
0362デフォルトの名無しさんNGNG
入力された文字(キーコード)を、プロシージャ以外で知る方法ってありますか?
GetKeyboardState()などは指定したキーが押されているかどうかを判別するだけのようなのですが、
押されたキーコード自体が知りたいんです。
C言語でいうgetch()みたいな都合の良いものは用意されてないのでしょうか?
0363デフォルトの名無しさんNGNG
>>357
WS_CLIPCHILDREN
0364デフォルトの名無しさんNGNG
>>362
KEYBOARDフックで別のプロシージャは駄目か?
0365デフォルトの名無しさんNGNG
>>358
ValidateRect?
0366デフォルトの名無しさんNGNG
>>365
InvalidateRect
無効化して再描画させる。
0367デフォルトの名無しさんNGNG
>>357
親ウィンドウのスタイルに WS_CLIPCHILDREN を指定してみては
>>359
クライアント領域(GetClientRect)のサイズと一致するんではなかろうか
0368デフォルトの名無しさんNGNG
あの〜すみません
EnumWindowsでMFC製のアプリをうまく拾う方法って何か無いですか?
GetWindowでGW_OWNERセテイすると取得できなくて困ってます。
0369デフォルトの名無しさんNGNG
>>368
EnumWindowsProcからは
CWnd* pWnd = CWnd::FromHandle(hWnd);
でMFCの関数が使えるようになる
MFCのGetOwnerで取れんようなら
オーナーじゃないって可能性も疑ったほうがよかろう
0370357NGNG
>>358、>>363、>>367
うまくいきました。ありがとうございます。
WS_CLIPCHILDRENなんて属性があったんですね。
てっきり、何もなしでもデフォルトで子ウィンドウの
領域は避けてくれるものだと思いこんでいました。
0371デフォルトの名無しさんNGNG
ハイパーリンクを使用できる関数ってないですか?
リンク先をを文字列で渡したら
そのWEBページをブラウザで開くというやつ。
IE以外のブラウザ使ってる人もいるだろし・・・
0372デフォルトの名無しさんNGNG
>>371
ShellExecute ?
0373デフォルトの名無しさんNGNG
>>369
C++Builderユーザーなんで、APIだけで何とかなりませんか?

GetClassName(buff,255);
String ClassName=buff;
if(ClassName.Pos("Afx")==1){
ShowMessage("MFCアプリです");
}else{
GetWindow(hWnd,GW_OWNER);
}

みたいな事してるんですが、これだと、余計な物までチェック
しなきゃなんないし、オーナーかどうかもわからない。
0374321NGNG
>>372
ShellExecuteでうまくいきました

あと文字列を表示する時に
アンダーラインを付けたい時は
どうすればいいですか
0375デフォルトの名無しさんNGNG
>>374
LogFont
0376デフォルトの名無しさんNGNG
>>368
実行時に判別するのは困難と思う。クラス名Afxは必須じゃないし。
0377368NGNG
ガーン!オーナーを確定することは出来ないんですか。。。
>クラス名Afxは必須じゃない
MFCアプリは複雑ですね。
IsWindowVisibleフィルタリングで何とかしてみます。
ありがとうございました。
0378376NGNG
>377
あ、確定的な方法は無いんじゃないかって話です。
アプリ中のウィンドウ全てに自前クラス名使うヤツはそうそう居ないだろうから大抵の場合はOKと思いますよ。
0379デフォルトの名無しさんNGNG
>>373
ちなみにMFCではどうやって「オーナー」にアクセスしてるかつーと

_AFXWIN_INLINE CWnd* CWnd::GetOwner() const
{ return m_hWndOwner != NULL ? CWnd::FromHandle(m_hWndOwner) : GetParent(); }

m_hWndOwnerてのはMFCで定義しているC++データメンバだ
0380デフォルト名無しさんNGNG
サンプル打って、なんにもしない画面だそうとおもったら、CreateWindow関数
がNULL返してきて画面がでないのですがなぜでしょう?
いきなりつまづいてる私、鬱。
0381デフォルトの名無しさんNGNG
>380
打ち間違いに1000点。
0382デフォルト名無しさんNGNG
>>381
打ち間違いなのか?見てくれ
hwnd = CreateWindow( szClassName,
"(´・ω・`)ショボーン",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ちなみにszClassNameはchar[]です。
0383デフォルトの名無しさんNGNG
RegisterClassしてないに一票。
0384デフォルトの名無しさんNGNG
RegisterClassしてないとか
0385デフォルトの名無しさんNGNG
「一手」遅かったヨー(;´Д`)
0386デフォルトの名無しさんNGNG
>>383-385
つーか、RegisterClass してないなんて、どこのサンプルよ。
0387デフォルトの名無しさんNGNG
>>386
RegisterClass する部分が別ページになってるとか。
0388デフォルトの名無しさんNGNG
>>380
void GiveMeErrorMessage(){
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // 既定の言語
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// lpMsgBuf 内のすべての挿入シーケンスを処理する。
// ...
// 文字列を表示する。
MessageBox(NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION);
// バッファを解放する。
LocalFree(lpMsgBuf);
}
をCreateWindowの後に呼び出す。
0389デフォルトの名無しさんNGNG
>>373
MFCアプリ←→非MFCアプリの仲介をする
レギュラーDLLかCOMを一発作っとくといいかも
0390悪魔くんNGNG
変数名の名前を付けることで悩んでます。
RECTを、rc にするべきか rt にするべきか。
似たような変数でダブったりする確率が低い方にしたいと思っています。
経験豊富で少し黒い方、アドバイスをお願いします。
0391デフォルトの名無しさんNGNG
黒いって何?

迷うようなら、それそのものを現すズバリの名前にしたほうが
後から読むのに楽かもよ。
 RECT gazou_hyouji_ryouiki
とか。
0392悪魔くんNGNG
画像とは限らないじゃん。
おぬしはまだピンク色。
経験豊富な黒い方、ヘルプミー。
0393デフォルトの名無しさんNGNG
石炭より黒い俺は xxx_rect とそのまま書いている
0394悪魔くんNGNG
RECTの4文字は省略しない方がよいのかな?
猫に従ってUINTをmsgにしていて初めてMSG構造体に出会った時、精通した。
0395デフォルトの名無しさんNGNG
UINT uMsg;
0396デフォルトの名無しさんNGNG
縦スクロールバーの挙動を確かめるために、
ウィンドウに、TextOutでとりあえず1000段くらい適当な文字列を書いてテストしてみたんです。

縦スクロールバーは、おかげさまで正常に動いたのですが、スクロールつまみを
一気に動かしても、適切な画面が一瞬ででるとこが妙に気になりました。

これって内部では1000段もの文字列をオフスクリーンバッファみたいな領域に
まとまった画像データとして持っているってことですよね?
DIB形式でしたら馬鹿にならないメモリ量だと思うのですが。

一体どこがそんな大量なメモリを管理しているんでしょうか?
あと、その領域をじかにイジる手はないのですか?
0397デフォルトの名無しさんNGNG
>>392
391の文意は画像に限ってないぞ?
そんな読み方をされるんなら一切例示をしない言い方になるが
390に示されている識別名でダブりかねないようであれば
命名法よりもスコープの使い方を先に憶えたほうがいい
そうすれば394程度のことでいちいち動揺しなくなる
#include<windows.h>で導入されるあらゆる識別名との衝突を避けるには
それらを全て知っている必要があることは認識しているか?
というのは、ある命名則が広く使われている理由を誤解しているように見受けられるのだが
0398デフォルトの名無しさんNGNG
>>396
君の使っているビデオカードがRADEONかGeForceかはわからんが

まず、TextOutなどのGDIコマンドがどのくらいの速度で実行されているのかを
例えば10万回の実行時間などで実測してみることをすすめる

次に、これと全く同じ実験をリージョンをかけてやってみて
クリッピングが実行時間にどのくらい影響するかを調べてみることをすすめる

何が言いたいかって? やってみればわかる
0399デフォルトの名無しさんNGNG
>396
> これって内部では1000段もの文字列をオフスクリーンバッファみたいな領域に
> まとまった画像データとして持っているってことですよね?
たかだか1000段程度なら毎回ふつーに再描画してるんでないの?
実際に描画が必要な領域はせいぜいスクリーンサイズ程度だし。
というか、そもそも
> ウィンドウに、TextOutでとりあえず1000段くらい適当な文字列を書いてテストしてみたんです。
このプログラムを書いたは君自身でないの?
0400デフォルトの名無しさんNGNG
ScrollWindow() だったか、表示されてる部分のイメージだけスクロール
させる API なかったっけか。
0401デフォルトの名無しさんNGNG
ScrollWindow, ScrollWindowEx, ScrollDC
正直 >>396 の言ってる意味がよくわからん。
0402デフォルトの名無しさんNGNG
たぶん、WM_PAINTは最初に画面表示した時に一回しか呼ばれないと思ってるんだろう。
0403デフォルトの名無しさんNGNG
Application.Handleって自分のメインフォームのハンドルを指してるのですか?
0404デフォルトの名無しさんNGNG
>>290
ダイアログベースMFCプロジェクトですが、
デフォルトの状態でOKボタンのイベントハンドラに、

::MessageBox(m_hWnd, "テスト", "テストキャプション", MB_OK);

これを記述してみましたが、ダイアログの中央に表示されますよ?
これってAPIじゃないんでしょうか?

0405デフォルトの名無しさんNGNG
>>400
画面をスクロールさせて新しく出てきた部分を無効領域に
する関数でしたね。
0406!290NGNG
>>404
>SDKのみでこれをやるには...
って書かれているのが目に入らぬか!
0407デフォルトの名無しさんNGNG
APIだけ呼んでるつもりでもフックでMFCのランタイムが呼ばれてるの
0408デフォルトの名無しさんNGNG
>>406-407
おー ほんとだ。
MFCってこんなところまで変更しちゃうのか。
ちなみにどうやって変更してるの?
0409デフォルトの名無しさんNGNG
>>403
VCLのTApplicationハンドルはTFormのハンドルとは別です。
0410デフォルトの名無しさんNGNG
神にあなたの生き方の HANDLE をゆだねなさい
0411デフォルトの名無しさんNGNG
>>408
フックで、って書いてるやん
SetWindowsHookExと検索キーワードまで書かないと通じませんか?
0412デフォルトの名無しさんNGNG
>>411
SetWindowsHookEx() で API フックができるとは初耳だが・・・。
0413デフォルトの名無しさんNGNG
WM_CREATEとかフックすれば済む話
0414デフォルトの名無しさんNGNG
つーかそこまでいちいち説明しなくても分かれよ
0415デフォルトの名無しさんNGNG
>>380
遅レスだけども

メッセージハンドラ中のWM_CREATEの戻り値をちゃんとしないと
NULLでエラーになることがあるよ。MSDN参照
0416デフォルトの名無しさんNGNG
>>412
坊や、別プロセスのAPIフックをするときはSetWindowsHookEx()を使うんだよ。
0417デフォルトの名無しさんNGNG
WTLのコンテナ使ってる時にでてくる、
MFCのクソ紛らわしいメンバ関数ガイドを撲滅せよ(#゚Д゚)=3 ムキー
0418デフォルトの名無しさんNGNG
その前に MFC を撲滅しようぜ。
0419デフォルトの名無しさんNGNG
Win2000とWin98で、同じパスから PathToRegionでリージョンを作成すると、どう
も結果が違う(作成したリージョンに対して GetRgnBoxをしてみると、結果が1ピ
クセル違う)んですけど、考えられる原因は何でしょうか?

これって、VGAドライバ依存だったりするんでしょうか?
0420デフォルトの名無しさんNGNG
>>416
だれもAPIフックの話などしていない。
つーかAPIフックのやり方教えて。
0421デフォルトの名無しさんNGNG
>>420
どぞ。
ttp://codeguru.earthweb.com/system/apihook.html
0422419NGNG
マッピングモード...っていうヤシかな?
0423デフォルトの名無しさんNGNG
>>421
日本語で最小限のコードない?
0424デフォルトの名無しさんNGNG
漏れは420じゃないが、サンクスコ>>421
0425デフォルトの名無しさんNGNG
ライン引くプログラムで

hPen = CreatePen(PS_SOLID, 1, RGB(0, 255, 0));
hOldPen = SelectObject(hdc, hPen);
MoveToEx(hdc, 0, 0, NULL);
LineTo(hdc, rt.right, rt.bottom);
SelectObject(hdc, hOldPen);
DeleteObject(hPen);

の2行目の部分をコンパイラが「void *型はHPEN_ *型に変換できない」と怒るのですが
どうにかなだめる手はないですか?
0426デフォルトの名無しさんNGNG
#define NOSTRICT
#include <windows.h>
0427デフォルトの名無しさんNGNG
hOldPen = static_cast<HPEN>(SelectObject(hdc, hPen));
0428デフォルトの名無しさんNGNG
static_cast->reinterpret_cast?
0429425NGNG
>>426,427,428
月曜の朝に速レスどもです。
助かりました。
0430デフォルトの名無しさんNGNG
>>421
英語の世界は裾野が広くていいなぁ・・・

0431デフォルトの名無しさんNGNG
最近、APIを勉強し始めて、ああ、これがプログラミングなんだなと思い始めたわけですが、
自分の使いたいAPIの存在知るのが大変ですね
0432デフォルトの名無しさんNGNG
他のプロセスに属する、あるウインドウに、
特定のメッセージが渡らないようにするには
どうすればいいのでしょうか?
OSはWindows2000Sp3です。
0433デフォルトの名無しさんNGNG
>>416
MFCが使ってる方法ではないけどな
>>423
kageのソースとか。
0434デフォルトの名無しさんNGNG
取得したハンドルからファイルパスって取得できますか?
0435デフォルトの名無しさんNGNG
何のハンドルだよ
0436デフォルトの名無しさんNGNG
漏れは自分自身(実行されている.exe又は.dll)のフルパスを知る方法を知りたい。
それと、プロセスのハンドルやdllのハンドルからフルパスを知る方法も知りたい。
0437デフォルトの名無しさんNGNG
自分自身→GetModuleFileName(NULL, ...)
プロセスのハンドル→GetModuleFileNameExかToolhelp32
dllのハンドル→VirtualQuery + GetModuleFileName
0438436NGNG
どうも。

GetModuleFileNameはフルパスでは無くて、ファイル名だけを返して来たという記憶
が頭の中に何故か入ってました…。何故だろう…。

GetModuleFileName(NULL, ...)をDLL上で実行するとどうなるのでしょうか?まあ、
それは実験すれば良いとして。

序にモジュールハンドルとプロセスハンドルの違いを教えて頂けないでしょうか?基
本的なところなんですが。
0439デフォルトの名無しさんNGNG
外部プロセスのウインドハンドルを取得し、それをつかって
HDCやそのDCの保持するビットマップをBITMAPINFOの形で得ることはできないですか?
0440デフォルトの名無しさんNGNG
>>439
書いてる通りに実行したらできる
0441デフォルトの名無しさんNGNG
>>438
プロセスハンドルは、1 つの実行ジョブ単位 (要するにプロセス) に関連付け
られたハンドル。
プロセスを止める/再開する/強制終了する/終了を待機する/終了コードを得る
等の操作ができる。

モジュールハンドルは、プロセスの処理内容を記述したプログラムファイル (EXE、
DLL 等) 1 つ 1 つに関連付けられたハンドル。
モジュールから API などのエントリを得る/モジュールをアンロードする等の操作
ができる。


で合ってますか?
0442デフォルトの名無しさんNGNG
GetKeyState()は、指定したキーが押されてるなら負を返し、押されていないのなら
0を返す覚えました。
Caps Lockの判定に if (GetKeyState(VK_CAPITAL) < 0) ではなく
if (GetKeyState(VK_CAPITAL) & 1) != 0)とすると参考書に書かれているのですが
前者の場合では、何が間違っているのでしょうか?
宜しくお願いします。
0443デフォルトの名無しさんNGNG
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_getkeystate.htm
0444442NGNG
ctrlが押されていてもCaps Lockが入ってればGetKeyState(VK_CONTROL)の値が
負になるということですか?
0445442NGNG
最上位と最下位を読み違えてました・・
有難うございました。
0446デフォルトの名無しさんNGNG
いくつかのエディットコントロールが乗っているダイアログがって
そのダイアログに対してLineToなどで線を引いたりしています。
エディットコントロールに入力されるとLinToなどで引いた線を再描画したくて
InvalidateRect(hDlg, NULL, TRUE);
SendMessage(hDlg, WM_PAINT, 0, 0);
でダイアログを再描画しています。
これでも再描画できますが、ダイアログ全体を再描画してしまうので
ちたついてしまいます。
コントロールは再描画しないでLineToなどで書いた図だけを再描画するには
どうしたらよいでしょうか?
0447デフォルトの名無しさんNGNG
>>446
InvalidateRgnとかでコントロール以外の領域を再描画させる。
InvalidRectでLineToとかを描画する領域だけを再描画させる。
0448デフォルトの名無しさんNGNG
>SendMessage(hDlg, WM_PAINT, 0, 0);
これって要るのか?
0449デフォルトの名無しさんNGNG
>>447
うぁ。大変そうだ。

>>448
エディットコントロールの入力内容が変更されたら即再描画したいのれす。
0450デフォルトの名無しさんNGNG
普通は UpdateWindow 使う罠
0451コーイチNGNG
ポップアップメニュー上で
ツールチップを表示させたいのですがやり方ってわかります?
#スタートメニューで各アイテムを選択したときに出るような感じのを
#タスクトレイ常駐アプリで作りたいのですが。
0452デフォルトの名無しさんNGNG
Pen使って(三角形の)カーソル描いてるんだけど、このカーソル動かすには
ひとつ前のカーソル消して、新しい位置にカーソル表示みたいなN88Basicぽい処理しなきゃいけないのですか?

あとInvalidRectって、指定したrect範囲を無効にするって書いてあるけど、
無効にした範囲は別にクリアされる訳ではないんですか?
0453デフォルトの名無しさんNGNG
>>452

>あとInvalidRectって、
InvalidateRect()のことか? 引数bEraseの説明嫁
>更新領域が処理されるときに、更新領域内の背景を消去するかどうか
>を指定します。TRUE を指定すると、BeginPaint 関数が呼び出された
>ときに背景が消去されます。FALSE を指定すると、背景はそのまま
>残ります。

>ひとつ前のカーソル消して、新しい位置にカーソル表示みたいな
InvalidateRect()で前のカーソルの領域と新しいカーソルの領域を
無効にして、WM_PAINTの時に新しいカーソル(というかカーソルの
現在位置)だけ書くようにすればよいはず
0454デフォルトの名無しさんNGNG
>>453
どうも有難うございます!
0455デフォルトの名無しさんNGNG
>>431
自分が何をしたいかを考えれば、たいていの場合、
Get〜〜かSet〜〜になるだろう!
0456デフォルトの名無しさんNGNG
>>455
> >>431
> 自分が何をしたいかを考えれば、たいていの場合、
> Get〜〜かSet〜〜になるだろう!

Create〜 とかもそれなりにあるし、Enum〜 も気付きにくかったりするね。
0457デフォルトの名無しさんNGNG
Path〜が便利
0458デフォルトの名無しさんNGNG
UpdateLayeredWindow使って半透明描画処理したいんですが、
アルファ値を持ったデバイスコンテキストを作るってどうやるんですかね?
0459デフォルトの名無しさんNGNG
sageてどうする漏れ
0460デフォルトの名無しさんNGNG
最大化しているwindowの
通常時(元のサイズ)のRECTを取得するには
どの関数ですか?
0461デフォルトの名無しさんNGNG
GetWindowPlacement
0462デフォルトの名無しさんNGNG
なぜかフォアグラウンドが効きません。なぜでしょうか?
MessageBox(NULL, "TEST", "TEST", MB_SYSTEMMODAL|MB_SETFOREGROUND|MB_OK);
0463デフォルトの名無しさんNGNG
>>462
親がいないから?
0464デフォルトの名無しさんNGNG
>>458
32ビットDIBをCreateDIBSectionで作ってDCに選択
0465デフォルトの名無しさんNGNG
>>463
そうなんですか?
やってみまつ。
0466デフォルトの名無しさんNGNG
>>463
すみません。よく考えるとウィンドウを持たないアプリケーションでした。
0467デフォルトの名無しさんNGNG
>>464
THX! やってみます
0468デフォルトの名無しさんNGNG
フォーカス枠の描画を自前でやるのですが、矩形でないので DrawFocusRectが
使えません。

あの点線は、どうやって書くのでしょうか?

ペンで PS_DOTやPS_USERSTYLEで点線のスタイルを指定しても点線の間隔が長す
ぎるし、PS_ALTERNATE は Windows NT/2000/XPってなってるし...
0469デフォルトの名無しさんNGNG
ちょっとスレ違いな気もしますがDrawDib系APIの質問ってことで。
任意の圧縮形式のフレームデータをウインドに描画にしたいのですが。。

ある種のフォーマットのデータを描画する際、そのフォーマットのデコンプレッサがインストールされて無い場合、そのフレームの描画ができないようです。
そこで代替手段としてDirectDrawを検討してるのですがそもそもデコンプレッサが入ってない圧縮形式の場合DirectDrawでも扱えないのでしょうか?
それとも両者は別モノでDirectDrawが自前で用意しているデコンプレッサなどが利用できるのでしょうか?
0470デフォルトの名無しさんNGNG
WIN32アプリケーションでおすすめな参考書とかあります?どなたか教えて!
0471デフォルトの名無しさんNGNG
>>470
書店へ。
0472470NGNG
>>471
こっちは田舎だからいい本がないからどうしてもネットで買いたいです
いい本教えて下さい
0473デフォルトの名無しさんNGNG
>>472
田舎のせいにするな。
0474470NGNG
>>473
書店行ってもいい本はわからないよ
本がないんだから
0475デフォルトの名無しさんNGNG
ネットでも十分勉強できるぞ。Win32なら「猫でも分かる〜」
あたりがいいんじゃないか?
0476デフォルトの名無しさんNGNG
>470 バイブル
0477デフォルトの名無しさんNGNG
>>469
「任意の圧縮形式のフレームデータ」とは、具体的にどんなんだ?
動画か?それなら、codecが入っていれば展開できるし
入ってなければDirectDrawだろうが、なんだろうができない。
静止画か?それは、自分でその展開用のライブラリを使って
展開するしかないだろう。静止画の圧縮・展開はOS(API)は
ノーサポートだからね。(jpegやgifみたいな一部例外もあるが)
0478デフォルトの名無しさんNGNG
>470 バイブ
0479 NGNG
ツールバーのボタンを文字列を含めて同じ大きさにしたいと思います。
どなたか方法を教えてください。
0480デフォルトの名無しさんNGNG
>>470よ、>>1は見たか? 猫がどうたらってリンクがあるだろ?
本が買えない事情を持つ者へまず一押しでおすすめできるサイトだぞ
0481デフォルトの名無しさんNGNG
>>477
遅くなりました。レスありがとうございます。
フォーマットとはたとえばYUY2とかIF09とかです。
一応動画ですがフレーム毎にデータがきてそれを描画します
ですから静止画の展開と同様だと考えてます。
こういうコーデックって自分で作るにはどうすればいいんでしょうか?
参考になるサイトとかどなたかご存知ですか?
VCM系APIではなにやらICInstallといった関数でアプリのインスタンスのスコープで自作関数を登録できるようですが、これも使い方がよくわかりません
こちらは関係ないのかな?
ではでは。
0482かおりん祭りNGNG
http://saitama.gasuki.com/kaorin/
〜oノハヽo〜 / ̄ ̄ ̄ ̄ ̄ ̄ ̄                
  ( ^▽^) < こんなのがございまーす♪ 
= ⊂   )   \_______
= (__/"(__) トテテテ...
0483あぼーんNGNG
 ( ・∀・)< こんなのみつけたっち♪
http://muryou.gasuki.com/moe/hankaku10.html
http://muryou.gasuki.com/moe/hankaku09.html
http://muryou.gasuki.com/moe/hankaku08.html
http://muryou.gasuki.com/moe/hankaku07.html
http://muryou.gasuki.com/moe/hankaku06.html
http://muryou.gasuki.com/moe/hankaku05.html
http://muryou.gasuki.com/moe/hankaku04.html
http://muryou.gasuki.com/moe/hankaku03.html
http://muryou.gasuki.com/moe/hankaku02.html
http://muryou.gasuki.com/moe/hankaku01.html
0484デフォルトの名無しさんNGNG
ShellExecute()でIE6.0を起動するプログラム書いてるんだけど、
Microsoft Photo Editor 3.01 を起動した状態だとなぜか以下のコードが
動かない。ShellExecute()からのエラーさえ返らず、ダンマリ状態になる。
これが相性ってやつ?ファイルの対応付けの関連かな?
ret = ShellExecute(NULL, "open", ".\\xxx.html", NULL, NULL, SW_SHOWNORMAL);

環境は
Win2k
VC++6.0 SP5
0485デフォルトの名無しさんNGNG
>>484
ShellExecuteはWM_DDE_INITIATEをブロードキャストするので
応答しないウィンドウがあると黙り込みます。
2chブラウザでリンクをクリックしてもしばらく反応がないという
現象の原因もたいていがこれ。
0486デフォルトの名無しさんNGNG
>>485
レスありがとうございます。助かりました。

>WM_DDE_INITIATEをブロードキャスト
そうでしたか〜
スレッド分けてタイムアウトを監視するしかなさそうですね。
0487デフォルトの名無しさんNGNG
エクスプローラのファイル検索ダイアログを独自の機能で置き換えることはできますか?
もしできるとしたら、どういった技術について調べればよいのでそうか。よろしくお願いします。
0488デフォルトの名無しさんNGNG
>>487
サブクラス化あたりかなぁ・・・
0489デフォルトの名無しさんNGNG
エクスプローラのコンテキストメニューに追加したらいいだけちゃうんかと
0490デフォルトの名無しさんNGNG
>>481
VCM系API?ああ、VideoForWindowsのVideoCompressionManagerの事か。
自分でICInstall等を使って展開関数を登録する事は自分でcodecを
作って登録するのと一緒だから、かなり大変だと思うよ。

結局、最初に言ったとうり、codecが入っていればMCIでも何でも展開できるけど
codecが入っていなければ、DirectDrawでも何でも無理だと思うよ。
0491デフォルトの名無しさんNGNG
>>490
どうもありがとうございます。

codecを自作しました。
huffyuvというフリーのコーデックがソース付きで参考になりました。
いろいろなフォーマットも
http://www.fourcc.org/indexyuv.htm
で調べることができました。自作される方はどうぞ
0492デフォルトの名無しさんNGNG
PCのメモリの容量や
new, mallocなどで得られるメモリの残量を知る関数を教えて下さい
0493デフォルトの名無しさんNGNG
>>492
GlobalMemoryStatusのこととおもうけどnew, mallocはわからない。
0494492NGNG
>>493
サンクス!
0495492NGNG
実際にGlobalMemoryStatus使ってみましたが
残りメモリ(dwAvailPhysの値)が0MBになってるにもかかわらず
そうなっていてもメモリを1M2Mと普通に確保できる・・・なぜ・・・?

0496デフォルトの名無しさんNGNG
仮想メモリ……
0497492NGNG
>>496
あ、やっぱり・・・

でもそれじゃ困るんだよなぁ・・・(w
0498デフォルトの名無しさんNGNG
WM_ACTIVEってメッセージはどこに定義されているのでしょうか。
grepしても見つからないということは、なにか盲点が・・・。
0499デフォルトの名無しさんNGNG
WM_ACTIVATE?
WA_ACTIVE?
0500デフォルトの名無しさんNGNG
>>498
適当な場所(cpp.h内)に
#define WM_ACTIVE 12342124
みたいに定義すれば警告メッセージがでると思う
そのメッセージ項目をクリックすればその定義されてるファイルが開かれる
0501500NGNG
WM_ACTIVEはないぞゴルァ!!
ちょうどVC起動してたんでやってみた

winuser.h 1298行目
#define WM_ACTIVATE 0x0006
0502デフォルトの名無しさんNGNG
VCのF12キー(定義部分へジャンプ)ってみんな使わないのね……
0503デフォルトの名無しさんNGNG
>501
一応確認している誠実さにワロテしまいました。
0504デフォルトの名無しさんNGNG
>>502
ブラウザ情報ファイル作るの結構処理重いしなぁ…。
0505500NGNG
>>502
あ、そんなのあったんだ
サンクス!
0506デフォルトの名無しさんNGNG
WNDCLASS の hbrBackground は、
RegisterClassEx() して CreateWindow() した後に
変更ができないのでしょうか?

SetWindowLong()には、それらしい方法がない
ようだったのですが
0507デフォルトの名無しさんNGNG
SetClassLong
0508506NGNG
>>507
おぉ、ありがとうございます

ところで、これでブラシをセット(上書き?)した場合、
もともとのブラシは、きちんとWindowsが消去する
のでしょうか?

たしか、RegisterClassEx()すると、渡したブラシを
削除する仕事はWindowsがすることになっていたと
思うのですが…
(管理権がプログラマの手から離れたと思う)
0509デフォルトの名無しさんNGNG
リッチエディットコントロールで
特定の文字、行だけの背景色を変えたいんですけど、
方法教えてください。
0510509NGNG
解決しました
0511511(1)NGNG
UpdateWindow()関数って何するものなんですか?

本(Windows2000プログラミング標準講座)見てそこに載ってるスケルトンプログ
ラムをコンパイルして実行した後、UpdateWindow()関数を呼び出す部分をコメント
アウトしてもう一度コンパイル→実行したが何も変化せーへん…

そこで、その本に載ってるスケルトンプログラムを改変し、メッセージループや
ウィンドウ関数などに送られてきたメッセージをファイル(MES.LOG)に記録する
ようにしました。
0512511(2)NGNG
そのプログラムを、UpdateWindow()関数を消したり付けたりして実行したとき
のMES.LOGの違いは以下のようになりました(抜粋):

・UpdateWindow()あり
-------------------- end: ShowWindow()
-------------------- start: UpdateWindow()
hWnd=********, MESSAGE=WM_PAINT , WPARAM=0, LPARAM=0
-------------------- end: UpdateWindow()
-------------------- start: Message Loop
----- in Message Loop: MESSAGE=WM_PAINT
----- in Message Loop: MESSAGE=WM_KEYUP
hWnd=********, MESSAGE=WM_KEYUP , WPARAM=13, LPARAM=-1071906815

・UpdateWindow()なし
-------------------- end: ShowWindow()
-------------------- start: UpdateWindow()
-------------------- end: UpdateWindow()
-------------------- start: Message Loop
----- in Message Loop: MESSAGE=WM_PAINT
----- in Message Loop: MESSAGE=WM_PAINT
hWnd=********, MESSAGE=WM_PAINT , WPARAM=0, LPARAM=0
----- in Message Loop: MESSAGE=WM_KEYUP
hWnd=********, MESSAGE=WM_KEYUP , WPARAM=13, LPARAM=-1071906815


…両方ともWM_PAINTメッセージが送られてきているんですけど…

参考にさせていただいたURL:
http://msdn.microsoft.com/library/en-us/gdi/pantdraw_4zef.asp
http://www7.plala.or.jp/keny01/win32/01-07.html
0513511(3)NGNG
実行方法:
 ・余計なメッセージが送られてこないように、マウスカーソルが該当ウィンドウ
  の中に入らないようにする
 ・実行後 Alt(Grph) + F4 を押して終了
0514511(4)NGNG
というわけで、よろしくお願いします
0515デフォルトの名無しさんNGNG
http://yahooo.s2.x-beat.com/html/yahooobbs.html
0516デフォルトの名無しさんNGNG
>>511
MSDN読めよ...
0517デフォルトの名無しさんNGNG
DispatchMessageってプロシージャが処理されるまで同期(待機)するのだっけ?
0518デフォルトの名無しさんNGNG
>>517
重い処理してるときウインドウの移動とかが不可能になるのなら待ってる気がする。
0519511NGNG
本(Windows2000プログラミング標準講座)に載ってるスケルトンプログラムの
ウィンドウ関数に
  PAINTSTRUCT pst;
  HDC hDc;
と
  case WM_PAINT:
    hDc = BeginPaint(hwnd, &pst);
    TextOut(hDc, 0, 0, "Hello, Windows!", 15);
    EndPaint(hwnd, &pst);
    break ;
を追加した状態で同じことをしてみましたが、起動直後に
  Hello, Windows!
がウィンドウの左上に表示されました。ということで、UpdateWindow()は削っても
大丈夫なようですね。

>>516 >>512の最後に書いたURLだけではダメということでしょうか?
0520デフォルトの名無しさんNGNG
>>519
>UpdateWindow
>ウィンドウの更新領域が空でない場合、ウィンドウにWM_PAINT メッセージを送って、
>そのクライアント領域を更新します。この関数は、アプリケーションキューを介さずに、
>指定されたウィンドウのウィンドウプロシージャに直接 WM_PAINT メッセージを送ります。
>更新領域が空のときには、メッセージは送りません。

0521517NGNG
>>518  
うん、長い処理のとき反応しなくなる。
その関数はウィンドウプロシージャの戻り値が帰ってくるとだけ書いてあったので
実際はどうなのかと思ってしまった・・・  Thx
0522デフォルトの名無しさんNGNG
>>520
どうもです。アプリケーションキューを「介さずに」というところが重要なわけで
すか。

UpdateWindow()がなくてもたいてい問題ないがCPUが忙しいときとかに問題が発生
する、と。そんなところですかね?
0523デフォルトの名無しさんNGNG
>>522
http://www.biwa.ne.jp/~m--tani/LecturesForSundayProgrammers/Clock01/Step14/Step1401.html#UpdateWindowFn03
0524デフォルトの名無しさんNGNG
Bitmapをとりこんで画像を回転させたいのですが
なにか命令はありましたか?
0525524NGNG
//ビットマップの作成
やっぱ自分でビットマップ回転をビットでしなあかんのけ?
CDC tempDC;
CBitmap bmp;
tempDC.CreateCompatibleDC(NULL);
bmp.LoadBitmap(IDB_BITMAP1);
tempDC.SelectObject(&bmp);
MFC使ってるからほかのとこで質問します
失礼
0526デフォルトの名無しさんNGNG
APIあったけど名前忘れた
0527デフォルトの名無しさんNGNG
>524-526
SetWorldTransform
ただしNT系のみ

CodeGuruとかで探した方がいいかも
0528524NGNG
>>527
さんくすこ
0529デフォルトの名無しさんNGNG
指定時刻になると、休止状態から復帰して実行できるようなプログラムを作成したいのですが
どのようにすればいいのでしょう?
過去ログを見ると
http://pc3.2ch.net/test/read.cgi/tech/1036654893/131-133n
タスクスケジューラを使用せよ、との回答がありましたが、
ログオンパスワードを設定していない状態だと、WinXP Proではタスクを実行できません。
(参考: http://www.canopus.co.jp/tech/faq/faq000264.htm)
上記URLとは別の、私が所有しているTV録画ソフト(bitcast.TV)は
ログオンパスワードを設定していなくても休止状態から復帰できているので、
タスクスケジューラを用いずに済む方法があるのではないかと思っているのですが…
0530デフォルトの名無しさんNGNG
>>524
GDI+を使う手もあるね。
0531デフォルトの名無しさんNGNG
すみません質問なのですが、
ダイアログボックスを
子ウィンドウのように
親ウインドウの外に出られないようにするには
どうすればよいのでしょうか。
0532デフォルトの名無しさんNGNG
リストコントロールでグリッドを表示しつつ背景色変えたいのですが、
アイテムが無い背景部のグリッドが見苦しい。
背景部はグリッドを引かないようにする良い方法無いですか?
0533デフォルトの名無しさんNGNG
>>532
オーナードロー
0534デフォルトの名無しさんNGNG
>>531
…子ウィンドウの意味わかってる?
0535デフォルトの名無しさんNGNG
ダイアログボックスを閉じ込めたい用途って、一体何なのか激しく気になるます。
0536デフォルトの名無しさんNGNG
>>531
リソースを使用せずにダイアログ作れば良い。
0537デフォルトの名無しさんNGNG
>>529
Waitable Timerかな?
0538デフォルトの名無しさんNGNG
>>531
キャプションの無いダイアログに設定する。
ダイアログ起動と同時に親ウィンドウのど真ん中に移動させる。
これでOK。感謝汁!
0539デフォルトの名無しさんNGNG
というか普通にWS_CHILD | DS_CONTROL
0540DLLはここでいいのでしょうかNGNG
DLL_PROCESS_ATTACH の条件で
DllEntryPoint() が呼ばれるのは
必ず1回だけになっているのでしょうか?

プロセス - p0, p1
DLL - a.dll

p0 が a.dll を動的にロードした
p1 が a.dll を動的にロードした
(このタイミング)
p0 が a.dll を動的にアンロードした
p1 が a.dll を動的にアンロードした

a.dll は、p0 と p1 の2つのプロセスから
ロードされている(?)にも関わらず、
(このタイミング)のときでも、2度目(?)の
DLL_PROCESS_ATTACH を感知してないような…
0541デフォルトの名無しさんNGNG
>>540
自分も勘違いしていたが、その通りらしい。
p1 が(この場合はマッピングと言う呼び方が適切か)ロードした時には例の参照カウンタをインクリメントするだけ。
以上、Advanced Windows より。
0542540NGNG
>>541
やっぱりですか…

認識を改めて、もう一度、ヘルプを読むことにします。
意味を確かめるよう、気を付けながら…
0543540NGNG
>>541
ところで、この「Advanced Windows」という本は良書ですか?

今検索して紹介文を読んだら、少し煽られたのですが
0544デフォルトの名無しさんNGNG
メニューを表示すると、ブロックしてしまってザ・ワールドになるんですが、
これを回避する方法は無いですか?
0545デフォルトの名無しさんNGNG
>>543
禿げしく良書
0546デフォルトの名無しさんNGNG
フォルダのツリービュー(エクスプローラの左側にあるやつ)を作成する方法(もしくはキーワード等)を教えて下さい。
0547あNGNG
>546
FindFirstFile?
0548デフォルトの名無しさんNGNG
>>546
猫
0549デフォルトの名無しさんNGNG
>>546
TVINSERTSTRUCT SysTreeView32
0550デフォルトの名無しさんNGNG
質問。
extern "C" __declspec(dllexport)
void Omikuji(char* Input, char* Output){
 return;
}

上のソースで某IRCのマクロ用DLLを作ろうと思い、
VC6でDLL用のプロジェクトの"afx..."とか付かない、空っぽの方のプロジェクトを使ったのですが、
コンパイル時に、[error C2059: 構文エラー : 'string']と出てしまいます。
これを解決する方法ってありますでしょうか?
0551デフォルトの名無しさんNGNG
キーボードやマウスの入力発生を、割り込みかEventで通知してくれるようにする
標準的なWin32 APIってありますか?
0552デフォルトの名無しさんNGNG
>>550
提示された情報が全く持って役に立たないわけだが……
STLのstring使ってるならインクルードする。
場合によってはusing namespace std;を忘れないように。

>>551
ない
0553デフォルトの名無しさんNGNG
>>550
そのソースファイルの拡張子を .c から .cpp に変える。
もしくは extern "C" ... を extern ... に書き直す。

>>551
フックかな。
0554546NGNG
>>547-549
レスどうもです。
TreeViewを作成してフォルダを順次登録していくしかないみたいですね。
いちおうMFCスレでも聞いてみます。
0555550NGNG
552&553レスありがとう。
結局553のほうでした。
知らなかったとはいえ、何かすっごい情けないです。(汗

とにかく多謝!
0556デフォルトの名無しさんNGNG
>>543
ちと古過ぎないか?
0557540NGNG
> >>543
> ちと古過ぎないか?

ではほかに、今に即した本でオススメはありますでしょうか?

「Adv...」の紹介文では、Windows2000がでたころに
改訂版がでたようでした。
0558デフォルトの名無しさんNGNG
>>556
俺の持ってる「Ad......」には、64bitについても説明があるよん
0559デフォルトの名無しさんNGNG

 マルチスレッドプログラミングのクリティカルセクションに
関してなんですが、ペゾルトを読みながら勉強中なんですが、
クリティカルセクションのオブジェクトというのは、一般には
どの辺で宣言するものなのでしょうか? 2つ以上のスレッド
で共有することになるので、やはりグローバル領域が適当でしょうか?
できればグローバル変数は使いたくないので参照やポインタ渡しも
考えてみましたが、新しく作成するスレッドは1つのPVOID引数しか
取れないのでかえって複雑になりそうな気もします。

0560デフォルトの名無しさんNGNG
WindowsOSでファイルの途中に高速にデータを挿入する方法はありますか。
WindowsOSがWindows Media Video/Audioのヘッダを編集するのが高速なのはなぜ?

#昨日、すれ立てるまでもないで投稿したのですが、
#今日、こちらを見つけまして投稿しました。
0561デフォルトの名無しさんNGNG
>>560
単に、効率よく処理してるだけじゃないのか?

Windows Media Video/Audio・・・が特別な高速な処理を行っているという
記述をどこかで見かけたので質問しに来たのなら、その文献を詳しく調べて
見るのが答えへの近道だと思うが。
0562デフォルトの名無しさんNGNG
>>560
領域予約
0563デフォルトの名無しさんNGNG
>561, 562

やっぱり、領域予約でしょうか?
ファイルヘッダ領域(コメント保存領域)を拡張して保存するのが高速で、
何か方法があるのではないかと、会社の先輩から調査を依頼されまして。

もしそうとすれば、Platform SDKなどに非シーケンシャルなファイル操作があるのかも、
しれないと思い、投稿しました。

特に文献を知っているわけではありません。

拡張などしていない、ポインタでファイル末尾に追加したなどの、
間違いかもしれません。
または、ファイルシステムが自動的に再利用?
あり得ないですね。。。
0564デフォルトの名無しさんNGNG
一部タグはファイル末尾に記録されるよん。>>560
0565デフォルトの名無しさんNGNG
>564

> 一部タグはファイル末尾に記録されるよん。>>560

やっぱりそういうことで裏技はないんですね。
ありがとうございました。
0566デフォルトの名無しさんNGNG
Platform SDKのダウンロードページが見つからない。
変なオンライン・インストール・プログラムはあったんですけど。
これ使わないとダメ?
0567デフォルトの名無しさんNGNG
次スレから>1に入れたほうが良いかも
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
0568566NGNG
>>567
ありがとうございます。
以前見つけたときはダイアルアップ環境だったのであきらめていたんです。
0569デフォルトの名無しさんNGNG
Internet Explorer のバージョンを調べたいのですが、
レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer の Version
を見る以外に方法はないのでしょうか?
0570デフォルトの名無しさんNGNG
>>569
DLLのバージョンを調べて見るとか。
0571デフォルトの名無しさんNGNG
IEXPLORE.EXE のバージョンを調べるとか
0572山崎渉NGNG
(^^)
0573デフォルトの名無しさんNGNG
山崎age
0574569NGNG
>>570-571

ありがとうございます。
DLLは shdoc*.dll ですよね?
ただ9x系とNT系で格納場所が変わっててやっかいそうなので、
IEXPLORE.EXEを調べる方法でうまくいきました。
0575デフォルトの名無しさんNGNG
iexplore.exeの場所なんてもっとまちまちだと思うが…
インストール時に選べるんだし
0576デフォルトの名無しさんNGNG
IE6SP1だがiexplore.exeのバージョンが4.72.3110.0…
0577デフォルトの名無しさんNGNG
>>576
んなアホな。おれんとこは、6.0.2800.1106 だよ。
IE の ヘルプ(H)-バージョン情報(A) は、どう表示される ?
0578デフォルトの名無しさんNGNG
>>576
explore.exe見てんじゃねーよ。
0579デフォルトの名無しさんNGNG
iexplore.exeの本体は別のところにあるから、
iexplore.exeだけヴァージョンが違ってても、どうってことなさそうだな。
0580576NGNG
バージョン情報は普通に6.0.2800.1106
素性不明のファイルがあるのは怖いなぁ
0581デフォルトの名無しさんNGNG
レジストリでいいじゃん。なんでダメなのよ。
0582デフォルトの名無しさんNGNG
>>580
C:\ を iexplore.exe で検索してみ。
0583576afoNGNG
>>582
サンクス
ただのIE4の残骸でした
とりあえず安心しましたが、かわりに自分の知性に対する不安がさらに増大しました
0584デフォルトの名無しさんNGNG
GetLastError()でエラーコードは取得できるんですけど
エラーメッセージは取得できないのでしょうか?
0585デフォルトの名無しさんNGNG
そのためにFormatMessageという関数がある
0586デフォルトの名無しさんNGNG
>>585
それが返ってこないんです。エラーコードは12007なんですけど。
0587デフォルトの名無しさんNGNG
>>586
Visual Studioに Error Lookupと言うツールがあるんだが・・・12007はエラーメッセージが定義されてないっぽ

直前に呼んでいる関数は何よ?


0588デフォルトの名無しさんNGNG
>586-587
WinInet系のエラーだよ。

12007 ERROR_INTERNET_NAME_NOT_RESOLVED
サーバー名を解決できませんでした。
0589デフォルトの名無しさんNGNG
>>587
InternetConnect
です。

>>588
それはどうやって取得したんですか?

あとですね。
C:\Documents and Settings\Administrator\NetHood
ディレクトリにあるフォルダにFtpGetFileでファイルをダウンロードできないんです。
せめてエラーになってくれればよいのですけど。
0590デフォルトの名無しさんNGNG
>589
エラーコードがMSDNに載ってる。(エラーメッセージを取得した訳ではない)
12007で検索汁。
0591デフォルトの名無しさんNGNG
>>590
ありました。これはプログラムで取得することはできないということですね。
まあ、しょうがないです。はい。
0592デフォルトの名無しさんNGNG
WinMainの引数のlpCmdLineの内容をコンソールアプリのように
コマンドライン引数を分割するAPIありますか?
0593デフォルトの名無しさんNGNG
CommandLineToArgvW
0594デフォルトの名無しさんNGNG
>>593
あるとおもわなかった。さんくす
0595デフォルトの名無しさんNGNG
Wなのが気にくわんよなそれ
0596デフォルトの名無しさんNGNG
使いにくそうなのでやめました。
0597デフォルトの名無しさんNGNG
RECTを与えて、その領域から(横が)はみ出ないようにテキストを描画したいんですけど、
DrawTextで DT_WORDBREAK を使うと、

A is Hogehoge の場合は
  | A is     |
  | Hogehoge |

で、これはいいんですが、AisHogehoge(単語間のスペースが無い場合)
だと
  | AisHogehog|e
  |        |
こうなってしまいます。
  | AisHogeho |
  | ge      |
このように描画することはできるのでしょうか?
0598デフォルトの名無しさんNGNG
特定のアプリケーションがインストールされていたり、インストールされたら何か反応するプログラムを作りたいのですけど
とりあえずどうすればいいでしょうか?
0599デフォルトの名無しさんNGNG
>>598
レジストリ見ればいいんでないのー
0600デフォルトの名無しさんNGNG
>>591
できるよ
FORMAT_FROM_HMODULE
12007, "サーバー名またはアドレスは解決されませんでした"
0601デフォルトの名無しさんNGNG
>>597
おまえヤル気あるのか?パラメータ位、幾らでも試せるだろう!
DT_WORDBREAK | DT_????
DT_???? はテメーで考えろ!
0602デフォルトの名無しさんNGNG
レジストリ使わない場合もあるしな・・・
ファイル名が固定なら全ディレクトリを検索するとか。
ファイル名が不定だとインストール前の全実行ファイル名と
インストール後の全実行ファイル名を比較するとか。
ああ、別の実行ファイルに寄生するファイルだとダメか・・・
てことはCRCなりMD5なりでチェックが必要だな。
0603598NGNG
くわしくヨロ
0604597NGNG
>>601
もうね、描画したい場所にエディットコントロール貼りつけて(w それら
しく描画するという力技で実装した矢先、>601を読んで DT_EDITCONTROLに
気づいた次第。
0605デフォルトの名無しさんNGNG
最強の開発言語
http://www.borland.co.jp/delphi/personal/
0606601NGNG
>604
笑える。でもいいじゃないか。手段はともかく実現するってのは大切だからな。
0607デフォルトの名無しさんNGNG
>>584
winerror.hを見ろ
0608デフォルトの名無しさんNGNG
>>584
FormatMessage
0609デフォルトの名無しさんNGNG
WaitForSingleObjectのタイムアウト時間は、どの程度の精度が
あるんですか?timeGetTimeくらい?

0610デフォルトの名無しさんNGNG
>>609
通常の3倍
0611デフォルトの名無しさんNGNG
>>609
> WaitForSingleObjectのタイムアウト時間は、どの程度の精度が
> あるんですか?timeGetTimeくらい?

WaitForSingleObject() なんかのタイムアウト時間は、最低保証値だよ。
timeGetTime なんかと比べるもんじゃない。
0612609NGNG
>>610-611
ありがとう。助かりました。
0613デフォルトの名無しさんNGNG
>>607
>>590-591で既出
>>608
>>585-586で既出
お前らあほ?
0614デフォルトの名無しさんNGNG
>>613
winerror.hは出ていませんが。
お前、うんこ?
0615598NGNG
だれか漏れの質問に答えてくれ
0616デフォルトの名無しさんNGNG
wininet.dllのエラーメッセージはリソースタイプ11のリソース1に入っているが
APIで取得する方法は不明
0617デフォルトの名無しさんNGNG
>>616
>>600で既(略
0618デフォルトの名無しさんNGNG
Win32APIそのものの質問ではないんですけど、WinNT系を
セーフモードで再起動させる方法ってありますか?
Win9x系なら、MSDOS.SYSを編集した後にExitWindowsExを
使って再起動すればOKっぽいんですけど。。。
0619デフォルトの名無しさんNGNG
>>617
wininet.dllは出ていませんが。
お前、うんこ?
0620デフォルトの名無しさんNGNG
>>600
FORMAT_MESSAGE_FROM_HMODULE ぢゃない?
0621デフォルトの名無しさんNGNG
>>598
ReadDirectoryChangesWかFindFirstChangeNotificationでも使って
ディスクを監視しとけば?
0622デフォルトの名無しさんNGNG
>>614
いやお前がうんこ
> これはプログラムで取得することはできないということですね。
の解決になってないことに変わりはない
>>619
>>588で(ry
↓「.dll」が出ていないと強引にうんこ呼ばわり
0623608NGNG
>>613
あ? ボランティアで答えてやったのを
なんであほとか言われにゃならんのだ?

回答する前に過去ログくらい調べてこいだと?
本気でそう思うなら言ってみろや、はっきりと

誰のためにそんな手間かけんだよ
人を動かす動機がまるでわかってないな、こいつ
0624デフォルトの名無しさんNGNG
>>615
「くわヨロ」じゃ、お前さんが何がわからんのかがわからんぞ

RegOpenKeyEx関数で
HKEY_CURRENT_USER\Software\メーカ名\製品名\
か
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\製品名\
あたりを開いてみる位のスキルはあるか?
0625デフォルトの名無しさんNGNG
>>623
はっきり言ってやる
回答する前に過去ログくらい調べてこい

間抜けを指摘されて逆ギレするなんて
かっこいい人が世の中にはいるもんだなあ・・・
0626デフォルトの名無しさんNGNG
つい最近の既出に気づかないのは確かに間抜けだな
0627デフォルトの名無しさんNGNG
俺は、よしゆきの味方だぜ。
0628デフォルトの名無しさんNGNG
>>625
もう一度言う
誰のためにそんな手間かけんだよ? え?
そのために日当でも出すんか?
聞いた風なセリフしか使えんようだが
通じる筋合いかどうかよく見て言えや
てめえみたいのを本当の間抜けって言うんだよ
0629動画直リンNGNG
http://www.agemasukudasai.com/movie/
0630デフォルトの名無しさんNGNG
そんなに手間を掛けるのが嫌なら答えるなよ大間抜け
0631デフォルトの名無しさんNGNG
過去ログも何も質問のすぐ次のレスだろ
どういう読み方をすれば見逃すんだよ。
手間うんぬん以前の問題だ大馬鹿
0632デフォルトの名無しさんNGNG
つい最近の既出に気づかないのは確かに大馬鹿だな
0633Win32SDK勉強中 ◆T5XFff2FOQ NGNG
え〜と、お取り込み中申し訳ないのですが、
標準のBUTTONはTextOutを使って文字を描画して
いるのですか?それともDrawTextでしょうか?
教えてください。
0634デフォルトの名無しさんNGNG
DWORD nFileSizeHigh,nFileSizeLow でファイルサイズを計算するときって

nFileSizeHigh * (MAXDWORD+1) + nFileSizeLow
だよね?

nFileSizeHigh * MAXDWORD + nFileSizeLow
とかって書いてるWebページが結構あるのだが...大丈夫かなぁ
0635デフォルトの名無しさんNGNG
>>633
MSに尋ねてくだちい
0636デフォルトの名無しさんNGNG
>>630
もう一度言う
通じる筋合いかどうかよく見てほざくんだな
答えるか答えないかを、おまえの許しで判断してるボケがどこにいる?
まるで駅前の不特定多数を叱りつけている危ないオヤジだな

筋合いを判断するオツムがなけりゃずっとそうやってろ
0637デフォルトの名無しさんNGNG
許し云々じゃなくて間抜けだなって話だろ。
0638デフォルトの名無しさんNGNG
                     |\
┌──────────┘- \
│  気の触れた方が          \
│                     /
└──────────┐- /
      ヽ(´ー`).ノ       |/
        (  へ)
        く
                  - = ≡三                    |\
               - = ≡三  ┌──────────┘- \
               _ = ≡三    │                     \
                ̄ = ≡三    │ 一人いらっしゃいます       /
               - = ≡三  └──────────┐- /
        (´ー`)        - = ≡三                     |/
      ( ヽ ヽ)
       /  >
0639デフォルトの名無しさんNGNG
>>637
勝手にそう思ってりゃいいんだよ
既出がどうのと一席ぶちながら
スレ違いの無駄口たたきおって
0640デフォルトの名無しさんNGNG
>>639
つーかそんな無駄口でいちいちageんなタコ
0641デフォルトの名無しさんNGNG
スレのS/N比から個人批判にトーンダウンか?
0642デフォルトの名無しさんNGNG
一貫してマヌケでage厨だという認識で全員一致しています。
0643デフォルトの名無しさんNGNG
一人芝居のな
0644デフォルトの名無しさんNGNG
(´-`)。oO( sage方知らないんじゃ… )
0645bloomNGNG
http://www2.leverage.jp/start/
0646デフォルトの名無しさんNGNG
あの程度でキレたり駄レスでageたり相手が一人だと思い込んだり


    2 c h に 向 い て な い よ  

0647デフォルトの名無しさんNGNG
sageるかどうかの選択権も自分だけ特別だと思てけつかるなこのガキ
0648デフォルトの名無しさんNGNG
あーあ、こいつマジで初心者だ。
0649デフォルトの名無しさんNGNG
文句たれる相手間違ってんじゃねえよ
ヒロユキが怖いか坊主?
0650デフォルトの名無しさんNGNG
何故ここでヒロユキが出てくるんだろう。2chのルールだとでも思ってるのだろうか。
純粋な質問が埋もれるのでデフォルトsage進行なのはム板の常識ですが何か。

つーか意地でもsageられなくなってるおまえがガキ。
0651デフォルトの名無しさんNGNG
そんなに気に入らねんなら削除依頼でもしてきたらどうだ?
やり方知らねってか? 初心者じゃあんめえし
操作方法より削除屋が動かせねえってんなら道理だな
その話し方じゃ
0652デフォルトの名無しさんNGNG
>純粋な質問が埋もれるのでデフォルトsage進行

プ
0653デフォルトの名無しさんNGNG
何故ここで削除依頼が出てくるんだろう。このスレが問題などと一言も言っていないのに。
ただ マ ヌ ケ だなと思ってるだけだよ。
0654デフォルトの名無しさんNGNG
気に入らねんだろ? え?
0655デフォルトの名無しさんNGNG
意地でもsageられなくなった哀れな>>654がいるスレはここですか?
0656デフォルトの名無しさんNGNG
コンテキストメニューをWinZipみたいにオーナードローするにはどうやったらいいすか?
0657デフォルトの名無しさんNGNG
お前の脳内で何が起きてるかに誰が興味持ってんだよ?
お前のお好みのために誰が過去ログ調査すんだよ?
0658デフォルトの名無しさんNGNG
>>656
ShellExtension
0659デフォルトの名無しさんNGNG
何かあちこちのスレで煽ってるけど、食中りでも起こしたの?
0660デフォルトの名無しさんNGNG
他のプロセスのデフォルトヒープ領域の開始位置とサイズ、
拡張ヒープ領域の開始位置とサイズをすべて取得するのはどうやるの
自分の取得方法なら分厚いAPIマニアルに書いてあるけど相手のを
取る方法はどこにもない
0661デフォルトの名無しさんNGNG
>>657
誰も君が悪いことをしてるなんて言ってないよ。

ただ間抜けだなと言ってるだけで(ププ
0662デフォルトの名無しさんNGNG
age/sageのアルゴリズムさえまともに考えられない低脳こそ
このスレでは一番の非常識だぜ?
0663デフォルトの名無しさんNGNG
>>662
スレ違い
0664デフォルトの名無しさんNGNG
放置したら?
0665デフォルトの名無しさんNGNG
↓ここから元のWin32API質問箱に戻ります。
0666デフォルトの名無しさんNGNG
>>661
ここはお前の日記帳じゃねえ
何が過去ログだ
それ以前の節操ができてないくせに
0667デフォルトの名無しさんNGNG
>>664 今は放置するときではない。徹底的に叩き殺すのだ。
0668デフォルトの名無しさんNGNG
>>667
うっせー。氏ねよ。
0669デフォルトの名無しさんNGNG
>>667
くやしいもんなあ(藁
0670デフォルトの名無しさんNGNG
しっかしこのスレでこんな厨房見たの久しぶりだよ。
0671デフォルトの名無しさんNGNG
とうとうジエンまで始めました。
0672デフォルトの名無しさんNGNG
祭?ねぇこれ祭なの?
0673デフォルトの名無しさんNGNG
わかりやすいから>>666って名づけることにしました。
0674デフォルトの名無しさんNGNG
>>669
うざいから裏2ちゃんねる逝ってくれ
0675デフォルトの名無しさんNGNG
>>653
こいつスレ削除とレス削除があるの知らないなw
0676デフォルトの名無しさんNGNG
痛々しくなってきた
0677デフォルトの名無しさんNGNG
>>671, >>676
オマエガナー
0678デフォルトの名無しさんNGNG
レスした奴はみんな馬鹿です。
0679デフォルトの名無しさんNGNG
まぁ未だに相手は一人しかいないと思ってる>>677だが
0680デフォルトの名無しさんNGNG
  |        /\ |  /|/|/|  ドッドッドッドッドッド!!
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|     (´⌒(´⌒`)⌒`)
  |  /  /  |文|/ // /  (´⌒(´祭だ!!祭だ!!`)⌒`)
  |/  /.  _.| ̄|/|/|/    (´⌒(´∧ ∧⌒`)`)`)⌒`)
/|\/  / /  |/ /     (´⌒(´(,゚Д゚ )つ `)`)
/|    / /  /ヽ  (´⌒(´⌒  (´⌒( つ |〕 /⌒`)⌒`)
  |   | ̄|  | |ヽ/|  遅れるな!!   ( |  (⌒)`)⌒`)
  |   |  |/| |__|/.   ∧_∧ ⌒`).ドし'⌒^ミ `)⌒`)ォ
  |   |/|  |/  (´⌒(´( ´∀` )つ  ド  ∧_∧⌒`)
  |   |  |/    (´⌒(´( つ/] /    ォと( ・∀・ ) 突撃――!!
  |   |/        ( |  (⌒)`)  ォ ヽ[|⊂[] )`)
  |  /         (´ ´し'⌒^ミ `)`)ォ (⌒)  |   
0681デフォルトの名無しさんNGNG
>>679
まあ、ある特徴で判断しているわけだが(藁
0682デフォルトの名無しさんNGNG
あー、いっとくけどレスしてんの俺じゃねーよ。
荒らしたい奴が書き込んでるだけ。
俺はもう反省したから、放置した方がいいと思う。
0683間違い探しNGNG
  |        /\ |  /|/|/|  ドッドッドッドッドッド!!
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|     (´⌒(´⌒`)⌒`)
  |  /  /  |女|/ // /  (´⌒(´祭だ!!祭だ!!`)⌒`)
  |/  /.  _.| ̄|/|/|/    (´⌒(´∧ ∧⌒`)`)`)⌒`)
/|\/  / /  |/ /     (´⌒(´(,゚Д゚ )つ `)`)
/|    / /  /ヽ  (´⌒(´⌒  (´⌒( つ |〕 /⌒`)⌒`)
  |   | ̄|  | |ヽ/|  遅れるな!!   ( |  (⌒)`)⌒`)
  |   |  |/| |__|/.   ∧_∧ ⌒`).ドし'⌒^ミ `)⌒`)ォ
  |   |/|  |/  (´⌒(´( ´∀` )つ  ド  ∧_∧⌒`)
  |   |  |/    (´⌒(´( つ/] /    ォと( ・∀・ ) 突撃――!!
  |   |/        ( |  (⌒)`)  ォ ヽ[|⊂[] )`)
  |  /         (´ ´し'⌒^ミ `)`)ォ (⌒)  |   
0684デフォルトの名無しさんNGNG
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
純粋な質問が埋もれるのでデフォルトsage進行
0685間違い探しNGNG
  |        /\ |  /|/|/|  ドッドッドッドッドッド!!
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|     (´⌒(´⌒`)⌒`)
  |  /  /  |鬱|/ // /  (´⌒(´祭だ!!祭だ!!`)⌒`)
  |/  /.  _.| ̄|/|/|/    (´⌒(´∧ ∧⌒`)`)`)⌒`)
/|\/  / /  |/ /     (´⌒(´(,゚Д゚ )つ `)`)
/|    / /  /ヽ  (´⌒(´⌒  (´⌒( つ |〕 /⌒`)⌒`)
  |   | ̄|  | |ヽ/|  遅れるな!!   ( |  (⌒)`)⌒`)
  |   |  |/| |__|/.   ∧_∧ ⌒`).ドし'⌒^ミ `)⌒`)ォ
  |   |/|  |/  (´⌒(´( ´∀` )つ  ド  ∧_∧⌒`)
  |   |  |/    (´⌒(´( つ/] /    ォと( ・∀・ ) 突撃――!!
  |   |/        ( |  (⌒)`)  ォ ヽ[|⊂[] )`)
  |  /         (´ ´し'⌒^ミ `)`)ォ (⌒)  |
0686山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0687なんとなく・・・NGNG
  |        /\ |  /|/|/|  ドッドッドッドッドッド!!
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|     (゚∀(゚∀゚)∀゚)
  |  /  /  |文|/ // /  (゚∀(゚祭だ!!祭だ!!゚)∀゚)
  |/  /.  _.| ̄|/|/|/    (゚∀(゚∧ ∧∀゚)゚)゚)∀゚)
/|\/  / /  |/ /     (゚∀(゚(,゚Д゚ )つ ゚)゚)
/|    / /  /ヽ  (゚∀(゚∀  (゚ つ |〕 /∀゚)∀゚)
  |   | ̄|  | |ヽ/|  遅れるな!!   ( |  (∀)゚)∀゚)
  |   |  |/| |__|/.   ∧_∧ ∀゚).ドし'∀^ミ ゚)∀゚)ォ
  |   |/|  |/  (゚∀(゚( ゚∀゚ )つ  ド  ∧_∧∀゚)
  |   |  |/    (゚∀(゚( つ/] /    ォと( ・∀・ ) 突撃――!!
  |   |/        ( |  (∀)゚)  ォ ヽ[|⊂[] )゚)
  |  /         (゚ ゚し'∀^ミ ゚)゚)ォ (∀)  |   
0688デフォルトの名無しさんNGNG

何?祭り???
0689デフォルトの名無しさんNGNG
  |         |  |
  |         |  |_____
  |         |  | ̄ ̄ ̄ /|
  |         |  |   / /|
  |        /\ |  /|/|/|
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|
  |  /  /  |文|/ // /     ∧∧
  |/  /.  _.| ̄|/|/|/      /⌒ヽ)
/|\/  / /  |/ /       [ 祭 _]    ∧∧
/|    / /  /ヽ         三____|∪   /⌒ヽ)
  |   | ̄|  | |ヽ/l         (/~ ∪    [ 祭 _]
  |   |  |/| |__|/       三三      三___|∪
  |   |/|  |/         三三       (/~∪
  |   |  |/         三三      三三
  |   |/                    三三
  |  /                    三三
  |/                    三三
0690山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0691デフォルトの名無しさんNGNG
IEやSDKをインストールすると新しく追加されるAPIの一覧てどこかにありますか?
だいぶ後からMSDNで見つけることが多いので、あらかじめどんなAPIが追加されるのか
が知りたいです。
0692デフォルトの名無しさんNGNG
>>691
C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib\Win32.csv
C:\Program Files\Microsoft Visual Studio\Vc98\Lib\Win32Api.csv
E列でフィルタかけてみるとか
0693デフォルトの名無しさんNGNG
┏━━━━━━━━━━━━━━━━━━━┓
┃    ,, - ―-  .、       ホモ用しおり   ┃
┃  ,. '" _,,. -…;   ヽ                ┃
┃  (i'"((´  __ 〈    }                   ┃
┃  |__ r=_ニニ`ヽfハ  }   ふう・・・          ┃
┃  ヾ|!   ┴’  }|トi  },  ここまで読んだぜ  ┃
┃    |! ,,_      {'  }                 ┃
┃   「´r__ァ   ./ 彡ハ.  おまえらのレスで ┃
┃    ヽ ‐'  /   "'ヽ    腹ン中が    ┃
┃     ヽ__,.. ' /     ヽ    パンパンだぜ ┃
┃     /⌒`  ̄ `    ヽ\.            ┃
┗━━━━━━━━━━━━━━━━━━━┛
0694デフォルトの名無しさんNGNG
質問です。

USB接続した外付けドライブなどを、安全に取り外す時に
タスクバーのアイコンをクリックして、安全に取り外す処理をしますよね?
この処理をVBで作った画面から、API関数を呼び出して行う事ってできるのでしょうか?
できれば、自動で安全に取り外しができる状態になるのが理想なんですが、
駄目なら、取り外し処理の画面が出てくるだけでも良いのですが・・・。

やり方わかる方いらっしゃいますか?
よろしくお願いいたしますm(_ _)m
0695デフォルトの名無しさんNGNG
質問です。
文字の半透明描画ってどうすればできるの?

不透明ならこんなのでいいのだが、

SetBkMode(hdc, TRANSPARENT);
SetTextColor(hdc, RGB( 255 , 255 , 255));
SelectObject(hdc, hfont);
RECT rect;
SetRect( &rect , x , y , strlen(x) * font_w , y + font_h);
DrawText( hdc , p_str , -1, &rect , 0 );
0696デフォルトの名無しさんNGNG
>>695
どっか別のDCに字を書いてから、半透明に混ぜる。
0697 ◆b0UXJ88Ngw NGNG
すいません。
私も、>694さんと、類似のことを行いたいのですが、
SetupDi関数を使用すればよろしいのでしょうか?
参考文献が英語のページしかみつからなくて、何がなにやら (TT

ご存知の方いらっしゃいましたら、ご教授お願いします。
0698デフォルトの名無しさんNGNG
PGは英語は逃げらんねえ
あきらめろ
0699デフォルトの名無しさんNGNG
>>698
お姉ちゃんに読んでもらうからいいの
0700デフォルトの名無しさんNGNG
>>694,697
hotplug.dll::HotPlugEjectDevice
非公開API故詳細不明
0701デフォルトの名無しさんNGNG
文字の色反転表示ってCreateFont()で可能ですか?
通常はバックが白、文字色が黒のところを、一部分だけバックが黒の、文字色白にしたいんですが。
(GDI関数使って、四角く塗りつぶした上に文字をかぶせるなんてことしなくてもできますよね…?)
0702デフォルトの名無しさんNGNG
XOR
0703697@ ◆b0UXJ88Ngw NGNG
>700さん
レスありがとうございました。
非公開でできないということで、ハードウエア取り外しウインドウを表示し、
Sendkeysで、むりやり取り外すマクロを書いてみたんですが、
「こんなのだったら、いらね〜」って言われました (TT
今度は、USBデバイスがちゃんと外れたかどうか確認する関数を探してみます
(ますます>694さんと類似!!)

あと、英語読んでくれるお姉ちゃんも探してみますw
0704デフォルトの名無しさんNGNG
InitializeCriticalSection が STATUS_NO_MEMORY を
投げるらしいのですが、
コレを受けるにはどの様にしたら良いのでしょうか?

try { 〜 } catch (long e) { 〜 } ?
GetLastError?
0705デフォルトの名無しさんNGNG
try{ Initialize〜}catch(...){ }
0706デフォルトの名無しさんNGNG
VC++なら_set_se_translatorとかあるわけだが。
0707デフォルトの名無しさんNGNG
>>705,706
(・∀・)サンクスコ!!
BCBを使用しているので >>705さんのやり方でやってみます。

try{
 Initialize〜
 〜
} catch (unsigned long e) {
 switch (e) {
 case STATUS_NO_MEMOTY:
  〜
  break;
 default:
  〜
  break;
}
こんな感じで。
0708デフォルトの名無しさんNGNG
え?
catch(...) と
catch(unsigned long) は別物だけど、、、
0709デフォルトの名無しさんNGNG
>>708
…忘れてました。
サンクスコ。
0710デフォルトの名無しさんNGNG
もうPlatform SDK February 2003出てたのか。
0711デフォルトの名無しさんNGNG
すいません。質問させて下さい。私は今VC++でWin32のアプリを作成しております。
で、一つわからない事があるんです。それは、
「自分自身の名前(カレントパスだけでなく、ファイル名)」って、どうやって取得したらいいんでしょうか、
って事なんですが。
どなたかご存知の方おられますでしょうか。

#P.S. さっきうっかりC++相談室に質問してしまい、こちらへ誘導されました。
#マルチポスト、失礼。
0712デフォルトの名無しさんNGNG
>711
GetModuleFileName
0713デフォルトの名無しさんNGNG
GetModuleFileNameでフルパスを取得
パスが欲しいのなら取得したフルパスをPathRemoveFileSpec
ファイル名が欲しいのなら取得したフルパスをPathStripPath
0714711NGNG
>>712-713
取れました。ありがとうございました。

ちなみに教えていただいた PathStripPath(LPTSTR lpPath) 関数は、
"Shlwapi.dll"(Shell&Common Control ver 4.71) からインポートされるとMSDNにあったのですが、
これってIE3環境時代のマシンには入っていないですよね?
例えばアプリが完成して、自分が配布するアーカイブの中にソレを含ませても
問題無い(ライセンシー的に、というよりは動作的に)モノなんでしょうか。
0715711NGNG
>>714 自己レス、追記。
ちなみに IE5以降がインストールされると、同梱の "Comctl32.dll"から
インポート可能になるそうです。以上、余談。
0716デフォルトの名無しさんNGNG
Win32APIでランダムな数値返す関数ありませんか?
Cライブラリのrandみたいなやつ
0717デフォルトの名無しさんNGNG
なんでそんなことしたいんだろう。逆なら分かるが。
0718デフォルトの名無しさんNGNG
CryptGenRandom
0719デフォルトの名無しさんNGNG
>>717
Cライブラリをリンクしたくないので。
>>718
ありがとうございます。
0720デフォルトの名無しさんNGNG
そーゆー目的なら、MTでも使ったらよろし。
0721デフォルトの名無しさんNGNG
>>720
機械翻訳(Machene Translation)?
0722デフォルトの名無しさんNGNG
main()
{
    int a = 0;
    printf("%d\n", &a);
}

これでランダムな数字出てくれないかな(;´Д`)
0723名無しNGNG
>>722
奇数が出てこないヨカン
0724デフォルトの名無しさんNGNG
ベースアドレスからcode->data->heap->stackとPEヘッダで予約されているサイズ確保されるから
普通のWin32環境ではランダムにはならんだろ
0725デフォルトの名無しさんNGNG
>>698
PGってなんですか?
0726デフォルトの名無しさんNGNG
>>432とは別の者でつが漏れも知りたいので可能なら教えてくだちい。
MSDN読むと、
SetWindowLongPtrは他のプロセスには使うなって
書いてある(というか実際使えない)し、
SetWindowsHookExだとフック終了後に
メッセージはウィンドウプロシージャに渡されるって
書いてある(やっぱり実際ダメだった)し…
0727デフォルトの名無しさんNGNG
>>725
ParentalGuard
0728デフォルトの名無しさんNGNG
>>726
フックでプロセスに進入してSet..Ptrはどうよ?
0729デフォルトの名無しさんNGNG
>>728
神!アリガ�d(涙)
これくらいすぐ思いつかず
人に聞いた漏れは失格でつね。
逝ってきまつ。
0730デフォルトの名無しさんNGNG
特定のURLをフィルタリングするようなソフトを作りたいのですが…
例えば何かのソフトが2chにアクセスしようとしたらYahooに飛ばすような。

そこで、HTTPの通信をフックすることはできますか?
SetWindowsHook(Ex)だとメッセージしかフックできないみたいですし、
今のところwsock32.dllをすりかえるくらいしか思いつきません。
他に何か方法がありますか?
0731デフォルトの名無しさんNGNG
>>730
APIフックをしてみたらどうですか?
0732730NGNG
>>731
貴重なキーワードどうもです。
Advanced Windows あたりに載ってるかな……
0733デフォルトの名無しさんNGNG
wininetを乗っ取るとかな。
winsockを直接使うアプリはブロックできないが
httpsな通信も覗けてしまってウマー
0734デフォルトの名無しさんNGNG
指定したアプリケーションの状態を検知したいのです。
検知したい状態とは、タスクマネージャで「応答なし」となる状態なのですが、
何か良い案は無いでしょうか?
ToolHelp系の関数で、プロセスとモジュールのハンドルの取得には成功しています。

開発プラットホームはWin2Ksp3
実行プラットホームはWin2K以降とWin98以降です。
0735デフォルトの名無しさんNGNG
SendMessageTimeout
0736デフォルトの名無しさんNGNG
Settlement APIだけどそのまんまのがあった
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/ishungappwindow.asp
0737734NGNG
>>735-736
ありがとうございます。
IsHungAppWindow は元々隠しAPIだったようですね。
でもWin2K以降でしか使えないようなので、LoadLibrary と GetProcAddress の
例のお約束で取得して、取得できなかったら SendMessageTimeout + WM_NULL を使ってみたいと思います。
#結構長くやってるつもりなんですが、SendMessageTimeout の存在には全然気付きませんでした。

たまに GetProcAddress で取得できても、中身の無い関数がありますが、
実際に試してみてそうなるようならば、Windowsのバージョンで分岐させたいと思います。

ありがとうございました。
0738デフォルトの名無しさんNGNG
恥ずかしい質問ですが…

猫でも〜の118章にある分割ウィンドウ作成(親に子を二つくっつける方法)についてですが、
二つの子ウィンドウの外枠の厚さが、どうにも同じにならないんです。

118章にあるプログラムのままでは、なんか、気持ち右枠の方が厚い気がしますし、
だからと言って、右ウィンドウのWS_BORDERを消すと今度は左枠の厚さが目立つし…。
こんな状態です。↓
ttp://itopen.hp.infoseek.co.jp/bunkatu.jpg

綺麗に分割できないものでしょうか?
宜しければお教えください。なんか気になるので…。

猫でも118章
ttp://www.kumei.ne.jp/c_lang/sdk2/sdk_118.htm
0739デフォルトの名無しさんNGNG
そのページにちゃんと書いてあるだろ。
WS_EX_CLIENTEDGEもボーダーの外観を決める
0740デフォルトの名無しさんNGNG
ウイルス対策ソフトのリアルタイム検索(ファイルアクセスの監視)って
どんな方法を使ってるんでしょうか?
0741デフォルトの名無しさんNGNG
>>740
API hook
0742740NGNG
>>741
どうもです。
0743デフォルトの名無しさんNGNG
win32api.hlpってどっかに置いてないですか?
なくしちまいました。鬱
0744デフォルトの名無しさんNGNG
俺んち、あるぜ?
0745デフォルトの名無しさんNGNG
くれ!!
0746デフォルトの名無しさんNGNG
>>741
普通はAPIよりもっと低レベルじゃないか?
(フィルタドライバを導入するとか)
0747デフォルトの名無しさんNGNG
ウイルス対策ソフト自体がウイルス
0748デフォルトの名無しさんNGNG
フローティングバーをドッキングしたりはずしたりしたときに
Viewのサイズが変化します。このときに画面を書き直したいのですが
こういう場合どのメッセージが来ますか?
できればViewのサイズが何らかの理由で変化したときに発生するメッセージが良いです
よろ
0749デフォルトの名無しさんNGNG
PostMessage(Handle, WM_USER + 1001, 0, 0);
このメッセージってなにをしようとしてるの?
0750デフォルトの名無しさんNGNG
>>749
作った奴に聞け。
以上。
0751デフォルトの名無しさんNGNG
WM_APPのほうがいいだろうなあ
0752デフォルトの名無しさんNGNG
>>751
理由は?
0753デフォルトの名無しさんNGNG
>>752
751じゃ無いけれど。。。
ttp://cgi23.plala.or.jp/a-w-h/mfc/message.html
なんか参考になるかと。
0754デフォルトの名無しさんNGNG
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues/MessagesandMessageQueuesReference/MessagesandMessageQueuesMessages/WM_USER.asp
0755デフォルトの名無しさんNGNG
>>748
書き直したい画面ってのはViewじゃないの?
そうだけどViewのサイズ変更が掛からないと言う話しなのかな..
0756デフォルトの名無しさんNGNG
while(Msg.message != WM_QUIT){//終了ボタンが押されるまで繰り返し
  if(PeekMessage(&Msg, NULL, 0U, 0U, PM_REMOVE)){//メッセージの取得
TranslateMessage(&Msg);//メッセージの解析
DispatchMessage(&Msg);//メッセージの破棄
  }else//メッセージがない場合
Render();//描画
VC++を扱ったある本のサンプルプログラムをビルドして動かすとこの部分で
メッセージループの先頭でエラーが起こるんですが
これだけで分かるでしょうか?
0757165NGNG
>>756
分かる訳ないだろ
そもそも Msg の型はなに?
0758756NGNG
>>757
メッセージ構造体変数です。
サンプルこう書き換えると普通に動くのですが
while(TRUE)
{
  if(PeekMessage(&Msg, NULL, 0, 0, PM_REMOVE))
  {
if(Msg.message == WM_QUIT)
  break;
  TranslateMessage(&Msg);
  DispatchMessage(&Msg);
}
else
  DrawScreen();
}
0759デフォルトの名無しさんNGNG
本当に動かしたときにエラーがでるのか?
コンパイル時ならMsg.message初期化前にアクセスしているから警告が出るかもしれないが
0760デフォルトの名無しさんNGNG
>>759
コンパイルは通ります。
デバックすると
Run-Time Check Failure #3 - The variable 'Msg' is being used without being defined.
とメッセージボックスが出てメッセージループの先頭に矢印が付きます。
0761デフォルトの名無しさんNGNG
>>760
エラーメッセージそのままではないか?
0762756NGNG
>>761
Msgがdefineなしで使われてるよと伝えているのでしょうか
さっぱり分かりませぬ
0763752NGNG
>>753
なるほど、ありがとう。
WM_USERだと他で使われる可能性があったのか……

>>756
whileの前にMsgへ何か値を入れていない(PeekMessageしていない)から
不定の値が参照されてエラーになるのでは?
0764デフォルトの名無しさんNGNG
>>756
適当でいいならwhileの前に一度PeekMessage呼び出せば動くと思うよ
本来ならちゃんと初期化しなきゃいけないと思うがw
0765756NGNG
有難うございました。
0766デフォルトの名無しさんNGNG
Windows2000にあるタスクトレイにメッセージを表示するAPIがしりたいのですが。
0767デフォルトの名無しさんNGNG
>>766 過去スレ読んでみた?ぐぐってみた?
0768デフォルトの名無しさんNGNG
「過去ログも調べないでそんな事聞くな」は不親切
http://qb.2ch.net/test/read.cgi/accuse/1051392742/l50
0769デフォルトの名無しさんNGNG
厨を放置できない香具師も厨とはよく言ったもんで(略
0770デフォルトの名無しさんNGNG
ところで、Windows2000にあるタスクトレイにメッセージを表示するAPIがしりたいのですが。
0771デフォルトの名無しさんNGNG
>>770
メッセージって?
0772デフォルトの名無しさんNGNG
>>771
ダイアルアップしたときなどに出るツールチップのようなそうでないようなやつです。
クリックすると消えたりするやつです。
0773デフォルトの名無しさんNGNG
過去ログ(ry
0774デフォルトの名無しさんNGNG
過去ログにはありませんでした。
0775デフォルトの名無しさんNGNG
以前同じ質問に答えたんだが。
見もしないで「ありませんでした」とか嘘つく厨は逝け
0776デフォルトの名無しさんNGNG
defrag.exeが使ってる(と思われる)ようなセクタを直接読み書きするAPIって非公開?
0777デフォルトの名無しさんNGNG
>>776
http://www.sysinternals.com/ntw2k/info/defrag.shtml
0778デフォルトの名無しさんNGNG
>>775
名前だけでも教えてもらえませんか?
検索するにもキーワードが思い浮かばないのです。
0779デフォルトの名無しさんNGNG
ツールチップ
0780デフォルトの名無しさんNGNG
>>779
それは違うでしょ
0781デフォルトの名無しさんNGNG
>>778
NOTIFYICONDATA の szTip とは違うもの?
0782デフォルトの名無しさんNGNG
>>777
おぉ、サンクス。ついでに777ゲトおめ。
0783デフォルトの名無しさんNGNG
>>781
違うものです。閉じる×とかついてるやつです。
0784デフォルトの名無しさんNGNG
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp
これの下の方にある
Balloon Tooltipsってやつじゃない?
0785781NGNG
>>783
szInfo のほうだね。
0786デフォルトの名無しさんNGNG
>>784
>>785
やったー
ありがとやんす。バルーンかなるほど。
0787デフォルトの名無しさんNGNG
スレ立てるまでもないスレで質問したんですがスルーされちゃったのでこちらで。

ダイアログボックス内にエディットコントロールが複数あるんですが、
そのフォーカスが移動したことを知るメッセージというのはあるんでしょうか。
ダイアログボックスのプロシージャでフォーカスが移動したということだけ判ればいいんです。
もしないのならば、ダイアログ内のすべてのエディットコントロールをサブクラス化して
WM_KILLFOCUSとかを捕まえるという方法になってしまうのでしょうか・・・。
定石みたいな方法を知りたいのですが。
0788デフォルトの名無しさんNGNG
>>787
サブクラス化して WM_KILLFOCUS
他の方法はしらん。
0789787NGNG
>>788
どうもッ。それで行きます。
0790名無し@沢村NGNG
>>787
ヌヒよ、サブクラス化なんぞせんでも親ウィンドウにEN_KILLFOCUSが通知されるわい。
0791787NGNG
>>790
まじすかッ。と思ってやってみたんですが通知されませんッ。
0792787NGNG
連続すみません!
notificationメッセージはHIWORDでしたッ。
>>790でうまくいきました。ありがとー。
0793デフォルトの名無しさんNGNG
>>786
後半のTooltipsは無視して嘘つき呼ばわりのままですか
そうですか
0794デフォルトの名無しさんNGNG
>>793
ハァ?
0795デフォルトの名無しさんNGNG
テキストエディタを作ろうとしているのですが、
タブや改行などを表示させるのにどうすれば
いいのか悩んでいます。
文字色・背景色をカスタマイズできるエディタを
作りたいため、下の条件を満たしたく思っています

・背景を透過
・簡単に文字色を変更できる

どのようにすれば実現できるでしょうか?
よろしくお願いします。

※タブを「→」改行を「↓」で表示するとという手も
 ありますが、できれば任意のパターンにしたい
 のです。
0796デフォルトの名無しさんNGNG
>>795
まずお前は...

> ※タブを「→」改行を「↓」で表示するとという手も

は実現できるのか ?
0797デフォルトの名無しさんNGNG
指定したフォルダのなかのファイル数を取得するAPIを教えて下さい。
0798デフォルトの名無しさんNGNG
>>797
FindFirstFile(), FindNextFile(), FindClose() 使って自分で数える。
0799デフォルトの名無しさんNGNG
>>798
うっ、やっぱりそれ系で自分で数えるしかないですか、
何かフォルダを監視するAPIとかあるから数かぞえるのあるかなーとか
思ったりしたがやっぱ甘かったか、
0800デフォルトの名無しさんNGNG
質問です。
他のアプリがオープンしているCOMポートを
使用できなくしたり、逆に使えるようにするには
どうしたら良いでしょう?
0801デフォルトの名無しさんNGNG
>>800
おめ
0802デフォルトの名無しさんNGNG
右クリックで表示されるコンテキストメニューを作っているのですが、
ファイルを選択している場合は、アイテムIDリストを使って、
GetUIObjectOf, QueryContextMenu, TrackPopupMenu, InvokeCommandの流れでできるのですが、
エクスプローラ上でアイテムを選択しないで、空白を右クリックしたときの
コンテキストメニューが出せません。どうしたらできるのでしょうか。
よろしくおねがいします。
0803795NGNG
>>796
矢印を使う場合は、TextOutで出力すればいいかと。
フォントにないパターンを出力する方法があれば
教えてください。m(..)m
0804デフォルトの名無しさんNGNG
目がキモイので却下
0805デフォルトの名無しさんNGNG
m(☣_☣)m
0806デフォルトの名無しさんNGNG
>>803
ビットマップで書く
0807795NGNG
>>806
ビットマップで描こうと思ったのですが、
2色のビットマップだと、色が強制的に白と
黒になってしまうので困ってしまいまして。

CreateDIBSectionで多色のビットマップを
作成して、自力で重ね合わせを行うという
手も考えられますが、それだと画面中タブ
だらけの時に処理がかなり重たくなりそう
です。

他に方法はないものでしょうか?
0808デフォルトの名無しさんNGNG
>>807

何も毎回CreateDIBSectionせんでもアプリの起動時に一回BITMAP作って
画像入れといて、必要なときBitBltで転送じゃだめなのかな
別にこれならそこまで重くないような気もするが、、
これぐらいを重いっていうのかな?だとしたらスマソ
0809デフォルトの名無しさんNGNG
>>807
> 2色のビットマップだと、色が強制的に白と
> 黒になってしまうので困ってしまいまして。

SetBkColorしてBitBltのROPをいじるとかしてみれ。
0810795NGNG
>>809
ありがとうございます。
2色のビットマップを用意して、
下のコードを実行するとうまくいきました。

 // くりぬき
 ::SetBkColor( hDC, RGB( 255, 255, 255 ) );
 ::SetTextColor( hDC, RGB( 0, 0, 0 ) );
 ::BitBlt( hDC, x, y, w, h, hMemDC, 0, 0, SRCAND );

 // 赤で描画
 ::SetBkColor( hDC, RGB( 0, 0, 0 ) );
 ::SetTextColor( hDC, RGB( 255, 0, 0 ) );
 ::BitBlt( hDC, x, y, w, h, hMemDC, 0, 0, SRCPAINT );

ご回答下さったみなさま、ありがとうございました。
0811デフォルトの名無しさんNGNG
SetCapture()中、SetCursorで変更したカーソルをウィンドウの外側でも
そのままにしたいのですが、残念ながら外に出ると普通のカーソルに
戻ってしまいます。WM_SETCURSORを拾うとかしてみたのですが上手く
いかず、お手上げ状態です。激しく厨房質問ですがお許しを・・
0812デフォルトの名無しさんNGNG
          ∧_∧
        ⊂(´・ω・`)つ-、キャプチャ取りたい?キャプチャ・・・こぶ茶
      ///   /_/:::::/ ねえ。コンビニでこぶ茶買ってきてくんない。
      |:::|/⊂ヽノ|:::| /」
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |
0813デフォルトの名無しさんNGNG
最初に描画が可能になったときに一回だけ送られるメッセージってありますか?
0814デフォルトの名無しさんNGNG
2回目からは無視すればいいんじゃないの
0815813NGNG
>>814
ありがとうございます。
WM_PAINTメッセージでですか?
それしか無いのならそうします。
0816デフォルトの名無しさんNGNG
アホな質問なのですが、Win32でよく使われるアトムって
なんでそう呼ばれるのでしょう?
0817cccNGNG
自作のフォントをフォントファイルに登録したいのですが、
どのようにやればよいのでしょうか?
ご存じのかた、教えて下さい。
0818デフォルトの名無しさんNGNG
>816
http://www.kab-studio.com/Programing/Dictionary/Words.html#Atomic
を読むと、atom,atomicは「一意なもの」を指すらしい。
0819デフォルトの名無しさんNGNG
>>811
SetCapture()は、ドラッグしないでウィンドウ外にマウスカーソルが
出たメッセージは拾えないけど、それは知ってるよな?
0820デフォルトの名無しさんNGNG
>>813
なんでそんなものが必要なのかと小一時間問い詰めたいです。
0821816NGNG
>>818
ありがとうございますた。
原子ではなく、これ以上分割できないものと
考えるのでつね。。。
0822デフォルトの名無しさんNGNG
あれだ。フォントその他もろもろの、WM_PAINTのハンドラが呼ばれるたびに逐一
生成するには重い GDIオブジェクトの作成を初回の描画のときにやるっていう
魂胆でない?
0823デフォルトの名無しさんNGNG
>>821
つーか、排他制御とか知らんのか?
初心者の人に言いたいが、APIなんて知らなくていいから、排他制御は覚えてく
れよ…(心の叫び)
0824デフォルトの名無しさんNGNG
>>819
わぎゃん、知らんかった。ドラッグにしたらいけた・・・
LBUTTONDOWNはドラッグしなくても拾えてたので甘く見てました(泣
つまりはドラックなしには無理?
0825デフォルトの名無しさんNGNG
普通アトミックというとデータベースが浮かぶな。知識と知恵を混同する
気は無いのでどうでも良いが。
0826デフォルトの名無しさんNGNG
>>825
データベースが排他制御が最も必要なものの一つだからな。
トランザクションとか、ロールバックとか…

で、そんなもの知らなくていい。
0827デフォルトの名無しさんNGNG
アトミックというとロボキッドが浮かぶな。我ながら駄目人間だな。
0828デフォルトの名無しさんNGNG
SetupDIB(〜)みたいな関数でCreateDIBSectionを使ってるんですが、
その関数から戻ると、CreateDIBSectionでアドを渡した
BMPのデータ領域をさすポインタがNULLになっています。
その関数内ではNULLではないんですが・・・

ちなみにそのポインタはSetupDIB関数に引数として渡しています
なんか変なことしてるのでしょうか?
0829デフォルトの名無しさんNGNG
固定ピッチフォントの半角文字を表示するのに必要な幅
(すべての半角文字が収まる最小限の幅)を知りたいのですが、
どうすればいいのでしょうか?

いろいろ試してみたのですが、つまづいてしまいました。

・GetObjectを使う
→LOGFONTのlfWidthが0の時デフォルト値の意のようだが、
 デフォルト値取得の方法がわからない。

・GetTextMetricsを使う
→TEXTMETRICのtmAveCharWidthの幅に収まらない
 半角文字があった。tmMaxCharWidthは全角文字の幅だった。

・GetTextExtentPoint32を使う
→文字列を"A"にして幅を調べたが、この幅に収まらない
 半角文字があった。
0830デフォルトの名無しさんNGNG
描画時にクリップすれば大きさなんてどうでもいい。
と言ってみるテスト
0831デフォルトの名無しさんNGNG
>>829
200文字くらいしかないんだから全部文字幅調べれば?
0832デフォルトの名無しさんNGNG
>>829
おれは"Z"か"X"で測ってる。
ちなみにGetTextExtentPoint32
0833デフォルトの名無しさんNGNG
収まらない半角文字って何よ?
0834デフォルトの名無しさんNGNG
Wとか?
0835デフォルトの名無しさんNGNG
じゃあ、Wの幅で調べりゃいいと思うよ。
高さは”Wg”で調べるのが主流だね。
0836デフォルトの名無しさんNGNG
>>835
何でそんなあほな策を書き込めるんだ?
0837デフォルトの名無しさんNGNG
Hが|-|みたいな感じで特定の文字だけ幅がやけにでかいフォントだったらどうすんのよ?
0838デフォルトの名無しさんNGNG
じゃあ、文字全部の幅を調べりゃいいと思うよ。
0839デフォルトの名無しさんNGNG
つーかフォントを指定してから幅を計算するべきだと思うが
0840832NGNG
部外者だけど結局何が定石なの?
おれは自分の手段が正しいとは思っちゃいないっすよ。
今まで問題が出なかったというだけで。
0841デフォルトの名無しさんNGNG
半角文字でループして全部調べればいいと思うよ
つまり>>831
0842デフォルトの名無しさんNGNG
どんなフォントでそんなことが起こるんだ?
正しいフォントをselectしてんのか
0843デフォルトの名無しさんNGNG
全部の幅を調べるなら GetCharABCWidths() あたりを使ったほうが?
0844デフォルトの名無しさんNGNG
勧める割に自信なさげですね。
0845デフォルトの名無しさんNGNG
んだって使ったこと無いんだもの
0846デフォルトの名無しさんNGNG
固定ピッチフォントってfull-widthの半分の幅が
half-widthになるんじゃないの?
XP以前のグリフ選択機能にバグがあっただけかと
0847デフォルトの名無しさんNGNG
エクスプローラのあるフォルダをFindFirstChangeNotificationで監視してるのですが
たとえばそのフォルダに複数のファイルをコピーしているとき
そのコピー処理が終わるまで待機してある処理を開始したいのですが
コピー処理が終わるまで待機というのがどうやったらいいのかわかりません。
どなたかご教授を
0848デフォルトの名無しさんNGNG
>>828
ポインタじゃなくてポインタのアドレスを渡せ。
0849デフォルトの名無しさんNGNG
どれだけの数のファイルがコピーされるか分からないから、
コピー終了を検知するのは不可能
0850829NGNG
レス遅くなりました。

>>831、>>841
うーん、それになってしまうのでしょうか。

>>832-834
わたしが試した中では"@"が収まりませんでした。
"W"が幅広いだろうと思ってはいましたが、
どのフォントでも"W"が一番幅広いという保証はないでしょうし…

>>839、>>842
MS ゴシックをCreateFontで作成しました。

>>843
調べてみたところ、このAPIを使うとループを省略できそうですね。

>>846
固定ピッチフォントの半角文字は全部同じ幅だろうと
思っていたらそうではなかったので、その予想もちょっと
不安な気が…

とりあえず、全ての半角文字の幅を調べて、
最大値を採用してみることにします。
ありがとうございました。
0851デフォルトの名無しさんNGNG
>>850
CreateFontがなんか失敗してSystemあたりが使われたりしてないかい?
0852デフォルトの名無しさんNGNG
XPの「並べて表示」で表示されてるような
48*48のアイコンを取得するAPIってありますか?
ExtractIconExでは32*32と16*16しか取得できませんでした。
0853デフォルトの名無しさんNGNG
>>848
助かりました。
よく考えたら当たり前ですね。
0854名無し@沢村NGNG
>>852
LoadImage
0855デフォルトの名無しさんNGNG
CreateFontの引数を全部書いてちょーだい。
0856デフォルトの名無しさんNGNG
>>847
ひとつ変数をつくってコピー直前に値を変え、コピー後にまた値を元に戻せば
いいんじゃないの? 別のスレッドからそれを定期的に身にいくと。
0857デフォルトの名無しさんNGNG
>>855
MSDN見てちょーだい
0858デフォルトの名無しさんNGNG
>>857
そういう意味ではなくCreateFontに正しい引数を与えていない可能性があるので
全部書いてちょーだいということ。
0859デフォルトの名無しさんNGNG
>>858
よく上読んでなかった・・スマソ
0860デフォルトの名無しさんNGNG
CreateFontに渡す引数は直接作らないで必ず
EnumFontFamiliesExが返す内容を渡す
変えていいのはせいぜいTrueTypeフォントの場合に
サイズとかBold, Italicの有無程度
さもないとどんなフォントが選択されるかわかったもんじゃない
0861デフォルトの名無しさんNGNG
WindowsXPにおいてImagelist_draw()で半透明アイコンが正しく描画されないので
原因突き詰めた。で、マニフェストがあると正しく描画されることが判明(すなわ
ちComCtl32.dll のVer5を使うかVer6を使うか)

半透明アイコンを描画するには、ビジュアルスタイルに否応無しに対応しなければ
ならないということですか?
0862デフォルトの名無しさんNGNG
>>860
シルト本とかペゾルド本では、普通にCreateFont()やCreateFontIndirect()を使っていたと思うけど、それもやめた方がいいの?

0863デフォルトの名無しさんNGNG
>>862
この本に書いてあったことだから
立ち読みでもして適当に判断してくれ
http://www.amazon.co.jp/exec/obidos/ASIN/4774107808/ref%3Dpd%5Fbxgy%5Ftext%5F2/249-9396597-3063545
0864デフォルトの名無しさんNGNG
>>860
まあ確かにLOGFONT::lfFaceNameに"MS ゴシック"なんて書くのはスリリングだな。
しかしジェネリックなコードを書く気ならEnumFontFamiliesよかGetStockObjectちゃうか?
0865852NGNG
>>854
レスども。
LoadImageでアイコンファイル(.ico)の48ドットアイコンは取得できました。
でも、EXEやDLLのアイコンも取得したいんですよ。

画面のプロパティでアイコンを48ドットに変更して
SHGetFileInfoの引数にSHGFI_SHELLICONSIZEを渡せば取得できたんですが、
これはさすがに間抜けすぎて使えませんでした。

もうちょっと調べてみます。
0866デフォルトの名無しさんNGNG
しっかしSH系のAPIって、どういうつもりで作ったのかね。
0867デフォルトの名無しさんNGNG
>>866
3.1 -> 95
ってことだろ
COMからんでるし
0868デフォルトの名無しさんNGNG
>>864
と言うか、lfFaceName だけ設定してもそのフォントが選択されるとは限らない。
lfCharSet とかもきちんと設定しないと、マッチしないから適当なフォントが選択されたりすることがある。

と言いたいんじゃないか ?

ちょっと前に、そういう実例見たし。
0869デフォルトの名無しさんNGNG
>>864
そうそう、忘れてたけどGetStockObjectについても触れてた
0870デフォルトの名無しさんNGNG
Windows プログラミングって 難しいですね
0871862NGNG
>>863
サンクス。
今度読んでみる。
0872デフォルトの名無しさんNGNG
>>855 猫の http://www.kumei.ne.jp/c_lang/sdk/sdk_27.htm
0873デフォルトの名無しさんNGNG
WM_CREATEの時にCreatePenで自作(?)のペンを作成しない場合に、
WM_PAINT時にLineToなどで描画した場合ストックペンが使われてるのでしょうか?
API始めたばかりなので質問の仕方も変な気がしますが、
ご教授お願いいたします。
0874デフォルトの名無しさんNGNG
>>873
そうだよ。BLACK_PEN がデフォルト
0875デフォルトの名無しさんNGNG
>>874
ありがとうございます。
参考書の例題でWM_CREATE時に設定してたりしてなかったりなので不安でした。
これで心置きなく次へ進めます。
0876デフォルトの名無しさんNGNG
自アプリのインスタンスのハンドルを
取得する API ってありますか?

GetWindowInstance ( HWND )
↑これは見つけたのですがウィンドウハンドルが
必要みたいで・・・。
0877デフォルトの名無しさんNGNG
GetModuleHandle(NULL);
0878デフォルトの名無しさんNGNG
>>877
ありがとうございます。
助かりました。
0879デフォルトの名無しさんNGNG
VBじゃなくてAccessVBAの話なんですけど、

VB用のサブクラス化テクニックをまねすると、
ウィンドウを閉じるときに70%位の確率で無限ループに陥るのですが、
Accessでは根本的に無理でつか?
0880デフォルトの名無しさんNGNG
質問。
MCIのテストプログラムなのですが、ビルドを行うと、
--------------------構成: mci - Win32 Debug--------------------
コンパイル中...
main.c
リンク中...
main.obj : error LNK2001: 外部シンボル "__imp__mciGetErrorStringA@12" は未解決です
main.obj : error LNK2001: 外部シンボル "__imp__mciSendCommandA@16" は未解決です
Debug/mci.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー
ブラウザ データベースを作成中...

mci.exe - エラー 3、警告 0
と、エラーが出ます。<windows.h>はいれてあります。
ほかのリンクか何かに必要なものってありますか?
0881デフォルトの名無しさんNGNG
そのAPIをMSDNで調べれば必要なヘッダとライブラリが書いてあるが
0882880NGNG
>881
ほんとだ。
英語の方見てみたら書いてありました。
注意不足でした。THX!
0883デフォルトの名無しさんNGNG
CreatePatternBrush() か CreateDIBPatternBrushPt() で
パターンブラシを作成できます。

このパターンブラシで FillRect() を実行する時の動作について
聞きたいのですが…

第2引数の RECT で塗りつぶす範囲を決めます。
範囲を(10,10)-(60,60)とかにした場合は、
パターンブラシから利用される範囲も(10,10)-(60,60)に
なっている(?)ようなのですが、そういうものなのでしょうか?

パターンブラシから利用される範囲が(0,0)-(50,50)とでも
なりそうな気も少ししたのですが…
0884デフォルトの名無しさんNGNG
●貴方に代って恨み晴らします● 【復讐・特殊業務】
--------●○●別れさせ屋●復讐代行業務●○●----------
●騙された・裏切られた・弄ばれた・逃げられた・捨てられた・
相手に誠意が無い・異性問題・家庭内暴力・不倫疑惑解明・人間関係・金銭トラブル★ http://www.blacklist.jp/i
別離工作・情報収集・トラブル対策・ボディガ―ド・等々!
●真剣にお悩みの方、安心してご相談下さい。解決へ導きます★
□■各種データ・電話番号調査・住民票・戸籍謄本など調査■□
   http://www.blacklist.jp/i
【注意】ジャンプしない場合はURLをコピーしてファイルから開いて下さい●○● http://www.blacklist.jp/
--------------------------
◆リンク◆復讐現場密着24時◆ http://www.123456789.jp/
0885デフォルトの名無しさんNGNG
>>883
言ってる意味がはずれてたらスマソ。
多分それはブラシの原点がずれてる。
UnrealizeObjectとSetBrushOrg使うと原点移動できるはず。
詳しくはググってみると見つかるかと。

もっといい方法があるかもしれないが・・・
俺が知ってるのはこれだけ。
0886デフォルトの名無しさんNGNG
>>883
FillRect ならまだいいが、FillRgn とか Polygon とか Chord と
一貫した動作をさせることを考えると (10,10)-(60,60) の方が
良いのではないかと。
0887デフォルトの名無しさんNGNG
LonghornでいままでのWinAPI殆どばっさり捨てるらしい。
蓄えた知識は出し惜しみせずこのすれへどうぞ。
0888デフォルトの名無しさんNGNG
ListView の report と TreeView が一体になったコントロールを作りたいんですが、
どうすればいでしょうか。ヒントだけでもお願いします。
0889デフォルトの名無しさんNGNG
>>887
ソースほしいな
0890デフォルトの名無しさんNGNG
またGenericのお世話になるのかよ!
0891883NGNG
どうもありがとうございました。

>一貫した動作をさせることを考えると
これは知りませんでしたが、そういうことなら、
一貫しているとありがたいですね。
0892デフォルトの名無しさんNGNG
>>887
それは困るな
0893デフォルトの名無しさんNGNG
>>887
.NETFrameworkが基底になるってことか?
今のVisualC#.NETみたいな・・
で、Win32APIの呼び出しは不可と
0894デフォルトの名無しさんNGNG
win64APIになるだけだったりして
0895デフォルトの名無しさんNGNG
とりあえず今出てる話だと全てのウィンドウがLayered Window化して、
DirectX上で動くような感じになる、つー話だが。
0896デフォルトの名無しさんNGNG
頼むからソースを
0897デフォルトの名無しさんNGNG
ttp://itpro.nikkeibp.co.jp/free/NT/NEWS/20030506/2/
0898デフォルトの名無しさんNGNG
DirectXの話はハードウェアのスペックの話じゃん・・・
既存のアプリ(=Win32で作ったアプリ)も動くって書いてあるじゃん・・・
確かに今までとはウィンドウのレンダリング方法が変わるとは書いてあるが
プログラミングに関するネタはどこにも無いじゃん・・・
0899デフォルトの名無しさんNGNG
でこかでAPIを8,700まで減らすとかいう英語記事を読んだ記憶がある
0900デフォルトの名無しさんNGNG
>>897
CPUは常時フルスロットルかよ。そのうちパソコンの世界にも「省エネ化」が
義務付けられるような気がしてきたよ。
0901デフォルトの名無しさんNGNG
>>897
>1.5GHz動作のPentium 4に384Mバイトのメイン・メモリー,
>グラフィックス・カードは「ATI Radeon 9700」という
>ロー・レベルのパソコンで実行された。
うちのPCなんて…(以下略
0902デフォルトの名無しさんNGNG
http://www.internetwk.com/breakingNews/showArticle.jhtml?articleID=9400498
0903デフォルトの名無しさんNGNG
コントロールは再描画処理を行わなくても文字などが残ったままになるのは
デフォルトでそういう設定になってるからなんでしょうか?
0904デフォルトの名無しさんNGNG
そんなとこ。
0905デフォルトの名無しさんNGNG
即レスありがとうございました(_ _)
0906デフォルトの名無しさんNGNG
どうしたしまして。てきとうだけどね。
0907デフォルトの名無しさんNGNG
> 他のウインドウがあるかどうかにかかわらず,
> ウインドウ全体のレンダリングを常時実行する。

見えない部分も再描画かける、ってこと?
半透明Window以外でどういう意味があるんだ。

あー、Windowを動かした場合でもリアルタイムで後ろの画面が描画される、
ということなのか?
0908デフォルトの名無しさんNGNG
>>907
隠れてても印刷できるとか
0909デフォルトの名無しさんNGNG
MAPI関連なのですが、
未読メールを既読メールに変更する方法(関数名でも結構です)
をご存知の方お教えください。
MSDN Onlineでは全て英語。
翻訳サイトで和訳したものも読みましたが、
見つけることができませんでした。

環境:Win2000 VC++6.0

よろしくお願い致します。
0910デフォルトの名無しさんNGNG
lnk2001外部シンボル"_WinMainCRTStartup"は未解決です
というエラーがでます。
ググったりヘルプを参照した結果、/ENTRYを設定するのではないか?って
とこまでは行き着いたのですが、どう設定したらいいのかがわかりません。
どなたかこのエラーの対策ご教授お願いいたします。
0911デフォルトの名無しさんNGNG
デフォルトライブラリを無視するのチェックを外す
0912デフォルトの名無しさんNGNG
>>911
すいませんが、どこにソノチェックがあるか教えていただけないでしょうか?
使ってるコンパイラはVisual Studio.NETでして、ヘルプで「デフォルトライブラリ」を検索したり、
プロジェクトのオプションをみたりしたのですが、見つかりません。
よろしくお願いいたします。
0913!911NGNG
>912 リンカ−入力−すべての規定のライブラリの無視
つーか、オレの2002では「プロジェクトのオプション」なんて
無いんだが...
操作が判らないレベルなら製品名やその他もろもろの情報を書かないと
解らんよキミ。
0914デフォルトの名無しさんNGNG
>>902
ウホッ! いい削減!
0915!902NGNG
>914
Microsoft Plans Windows API Cleanup
だってさ。
0916デフォルトの名無しさんNGNG
16bit時代の互換用APIは削除されてもかまわんが・・・
0917名無し@沢村NGNG
おれは就職してから1ヶ月目に絶対に会社をやめないという誓約書を書かされたよ。
会社をやめたら膨大な違約金を取られてしまうんだよ。
また自宅にあるPCも会社に没収されてしまったよ。尾行をつけられたり、電話も盗聴されているんだよ!
会社はおれが他の会社に移ったり自宅でこっそりプログラムをつくったりすることをとても怖れているよ。
困ったもんだね…  
0918デフォルトの名無しさんNGNG
>>917
ネタですか?
犯罪じゃん、それ
0919デフォルトの名無しさんNGNG
誓約書は労基法違反のため無効、今すぐ破り捨てることができる(ただし証拠は残すべき)
没収は刑法の強盗罪の構成要素を満たす
尾行もしくは盗聴による威力業務妨害で生じた遺失利益は損害賠償を請求できる

すべて証拠と記録を残すことを心がけ、弁護士に相談せよ
0920デフォルトの名無しさんNGNG
沢村だよ
0921デフォルトの名無しさんNGNG
荒らしのいう事は真に受けないほうがいい
0922デフォルトの名無しさんNGNG
×荒らし
○なんか可哀想な人
0923デフォルトの名無しさんNGNG
沢村にマジレスする時代が来たか・・
0924デフォルトの名無しさんNGNG
>>909
自己レスですが、
Simple MAPIのMAPIReadMail()
で回避しました。
ありがとうございました。
0925デフォルトの名無しさんNGNG
Popupメニューをプログラム的に消すにはどうするんでつか?
0926デフォルトの名無しさんNGNG
USBの装置が付いているかどうか、
電源が入っているかどうかを調べる方法を教えて下さい。

よろしくお願いします。
0927デフォルトの名無しさんNGNG
>925
ESCキーを押した事にすれば消えるんでは?
0928デフォルトの名無しさんNGNG
>>925
WM_CANCELMODE
0929デフォルトの名無しさんNGNG
いろいろ調べたのですが分かりませんでした。質問させてください。

Num Lock キーを押しても、Num ランプが変化しないようにする
方法はありますか? あれば教えてください。よろしくお願いします。
0930デフォルトの名無しさんNGNG
質問お願いします。
他プロセスのコモンコントロールを、操作することは可能でしょうか。

適当なコントロールのハンドルまでは取得できたので、
試しにSETCURSEL等をSendMessageで送ってみたのですが、
さすがにそれだけでは、変化してくれませんでした。

やり方を御存知の方、よろしくお願いします。
0931デフォルトの名無しさんNGNG
>>929
なんでそんなことしたいんだよ・・・
0932デフォルトの名無しさんNGNG
>>929
VK_NUMLOCKが来たら、
GetKeyStateでトグルか調べてVK_NUMLOCKを送る。
0933デフォルトの名無しさんNGNG
>929
キーフックしてNumLockキーが来たら無視するといった手もある。
0934デフォルトの名無しさんNGNG
NumLockキーが押されたら隣にいる人がすかさず押すという手もある。
「ぽち」「ぱしっ」
0935デフォルトの名無しさんNGNG
>>931
話せば長くなるので割愛しますが、キー配置を
変更する必要が生じてしまったものですから…。

>>932
どうもありがとうございます。
ただ、もっとスマートな方法はないものかなーと思いまして。

>>933
SetWindowsHookEx() を使ってキーフックし、
無視したのですがうまくいきませんでした。

>>934
それは、たぶん本質的には >>932 の方法と同じです(w
0936デフォルトの名無しさんNGNG
>930
他プロセスへは、SendMessage()じゃなくてPostMessage()を使え。
あと、他プロセスにポインタを渡しても意味がないので、文字列なんかを渡すときは注意。

>935
GetKeyboardState()で全ての仮想キー状態をを読み出し、SetKeyboardState()で書き換えるってのはどう?
932に似てるけど、メッセージを使わない分スマートかも。
0937デフォルトの名無しさんNGNG
画像処理の質問ですけど
Win32APIじゃBMPなどの生フォーマットしか対応してないんですか?
JPEGなどは自前でルーチン組むしかないんでしょうか
それかJPEG/PNGグループのルーチン使うとか
MFCにもJPEGライブラリってないみたいだし
エクスプローラーってJPEG/PNG/GIFの画像の縮小とか表示
できますよねアレはどのAPI使ってるんでしょうか?
0938デフォルトの名無しさんNGNG
>>935
もう枯れた技術かも知れないが中の人にry
0939デフォルトの名無しさんNGNG
>>937
Explorer == IE
0940名無し@沢村NGNG
>>937
ヌヒよ、読み込みならOleLoadPicturePath()だ
0941名無し@沢村NGNG
>>937
ヌヒよ、GDI+を使うという手もあるぞ
0942デフォルトの名無しさんNGNG
「おにいちゃん、、あたし、おにいちゃんのことが好きなの・・、
だから、あたしにMP3を再生するAPI教えて・・、ね?
・・・あ、あと、、初めてだから、やさしくして・・・」
0943デフォルトの名無しさんNGNG
>>936
>>930じゃないですが、他プロセスにPostMessage()で文字列を渡したい時はどうすればいいんですか?
0944デフォルトの名無しさんNGNG
>>935
OS は ?
WindowsNT 系で、ずっと NumLock が効かなくていいんなら、キーマップを弄ると言う手があるよ。

ttp://www.jaist.ac.jp/~fujieda/winnt/scancode.html
0945デフォルトの名無しさんNGNG
>>943
PostMessageでポインタ渡すのはそもそも不可能
0946デフォルトの名無しさんNGNG
>>942
MCIで普通に再生できるぞ
0947デフォルトの名無しさんNGNG
>>943
CreateFileMappingで共有メモリを作るってのはどうよ
0948デフォルトの名無しさんNGNG
>>943
8byteに区切って送りまくり
0949929NGNG
>>936
確かに考え方としてはスマートですが、メッセージ処理よりも
オーバーヘッドが大きくなってしまいそうですね…。

>>944
できれば 9x系/NT系どちらでも動くようにしたいのです。
でも、この話は知りませんでした。どうもありがとうございます。
0950デフォルトの名無しさんNGNG
>>949
ツール使っていいのなら、俺なら 窓使いの憂鬱 で設定するけどな。
設定を日本語109キーボードにしてdot.mayu(のコピーしたファイル)に
key NumLock = &Ignoreと書けば終わり。(試してないから間違ってるかも)
ただXPでは基本的に動かない。(むりやりに動かす方法はある)
0951デフォルトの名無しさんNGNG
>>949
Win9x系だったら、「SwapScan.386」を使う手も。
自分しか使わないプログラムならね。

>>943
他プロセスとの情報共有なら、
ファイル入出力、クリップボード、パイプ、アトム、ミューテックス
メモリマップドファイル、システムフック、DDE・OLE
なんかいろいろある。これらと組み合わせて使え。
0952デフォルトの名無しさんNGNG
>>943
947と理屈は同じなんだが、大して多くないデータなら WM_COPYDATA が一番。
但しこっちは Send ね。
0953(;´Д`)NGNG
>>943
WM_SETTEXTという裏技もあるよ
0954デフォルトの名無しさんNGNG
>>953
以前、WM_SETTEXTを使ってだめだったけど。
たぶんlParamの指しているポインタが無効だから。
SetWindowText()は使えた。
0955デフォルトの名無しさんNGNG
他プロセスのポインタ分かるんだから、
他プロセスのアドレス読めば良いじゃん。
0956デフォルトの名無しさんNGNG
>>955
Win95以降は仮想アドレス空間を使っているから、他のプロセスのポインタ値は意味ないんじゃ?
http://www.bd.wakwak.com/~opapa/VC/System/Process.htm
http://yokohama.cool.ne.jp/yokohama/11147/win/memory.html
0957デフォルトの名無しさんNGNG
>>956
他プロセスのメモリを読み書きするAPIがあるという話だろ
正直使用はすすめられないが
0958デフォルトの名無しさんNGNG
ReadProcessMemoryか。デバッグ権限が要るんだよな、たしか。
0959930NGNG
>>936
Postしたら無事にできました
レスありがとうございました
ご忠告にも多謝、ポインタやバッファ渡しには気を付けます
0960945NGNG
>>947
>>951
Postで送ったあと渡したアドレスのメモリをいつ開放したらいいか
どうやって知るの
0961デフォルトの名無しさんNGNG
リソースエディタで、タブ付きダイアログ作るの面倒だなと思い、
他の人はどうやっているのか調べているうちに、一つ疑問がわきました

例えばVC6の、ツール>カスタマイズで出てくる
ダイアログのタブっぽいものを調べてみると、
タブじゃ無いみたいなんです(クラスがSysTabControl32じゃない)

あれは一体なんなのでしょうか?
0962デフォルトの名無しさんNGNG
>>960
バッファが不要になったら向こうからなんかのメッセージ送ってもらうとか。
0963デフォルトの名無しさんNGNG
>>961
PropertySheet?
0964943NGNG
レスありがとうございました。
いろいろと試してみます。(WM_COPYDATAに落ち着きそうですが)
0965961NGNG
>>963
まさにこれみたいです。
おかげでコントロールが重なって、訳が分からなくなるような
タブ付きダイアログを作らずにすみそうです。

レスありがとうございました!
0966929NGNG
>>950 >>951
実は自分のアプリケーションの中だけで実行したかったのですが、
よく考えてみると、それだとアプリケーションを切り替えるたびに
ランプの状態も切り替えなければならなくなり、かなり不自然に
なってしまうので、他の手段を模索してみようと思います。
レスしてくださった皆様、どうもありがとうございました。
0967デフォルトの名無しさんNGNG
ビットマップの透過をしたいんですが、できるAPIありますか。
探してみてそれっぽいのにBitBltがあったのですが、引数がhdcで使い方が分かり
ません。コピー元、コピー先それぞれのlpBMP,BmpInfoを引数にするようなのが
あるとよいのですが。うまく質問できませんが教えてください。
0968デフォルトの名無しさんNGNG
どう透過したいのかわからんので答えようがないが。
hdcが分からないつー時点で、
「とりあえずまともな入門書読め」
としかいいようがない。
0969967NGNG
>>968
>どう透過したいのか
ゲームでよくあるやつですが、草マップ16*16、人マップ16*16を予め
作っておいて、2つとも開いてメモリに記憶、草を土台にしてその上に
人の白の部分以外をコピー、てな感じです。1バイトずつ調べて自力で
やってしまう方法はわかるのですが。普通はどうやるんですか?
>hdcが分からない
ハンドル:ポインタみたいなのですよね。詳しい意味はわかっていませんが、
セットで使われるので使い方は知っていたのですが。BitBltの場合2つある
ので、普通は一つなので分からなくなりました。
0970デフォルトの名無しさんNGNG
>>937
普通にIJGかlibpng使えばいいと思うが……APIに拘るなら
出てない範囲だとSetDIBitsToDevice,StretchDIBitsなんかもある
0971デフォルトの名無しさんNGNG
>>969
例えば、ファイルをコピーするときは"r"と"w"で2個のFILE*がいるだろ?
それと同様、BitBltするときも受け側と送り側で2個のHDCがいるんだよ
0972デフォルトの名無しさんNGNG
>>969
>草と人
漏れならリージョンを使いそう
人を枠なしの子ウインドウにしておいてSetWindowRgn
データはPathToRegionで作るかも
0973969NGNG
>>971
HDCってウインドウに対しての物ではないのですか?セットで覚えただけなので、
詳しい意味がわからなくて。
なお探してて見つけたのはこんな感じのですが。下のからヒントを下さい。
http://www.google.co.jp/search?q=cache:1zmYZKUQU-MC:www.ichigo-cafe.com/prog_tips/09_membmp/membmp.html++%22BitBlt%22+-VB&hl=ja&lr=lang_ja&ie=UTF-8
>>972
そういうやり方もあるんですか。始めて聞いたので分からないですが、少し調べて
見ると、関数より機能を限定した感じなんですかね。その描画領域を複数用意して
普通の処理よりやりやすくする。ってほんと始めて聞いたので分からないです。
0974デフォルトの名無しさんNGNG
>>972
リソース食いすぎ。
0975デフォルトの名無しさんNGNG
>>973
デバイスコンテキストってのは確か対象のデバイスが何であってもプログラマが意識しないで使えるように
作った共通のインターフェースのことだったと思うけど・・(うろおぼえ
だからもちろんウインドウも含むし、描画元のビットマップもデバイスコンテキストに関連づける。
SelectObject(hDC, hBitmap);とかやったことはないですか?

で、描画はそのURLの方法でいいんじゃない?
ヒントというかそのままのような気がするが・・
0976デフォルトの名無しさんNGNG
PlaySoundで50MBクラスの*.wavが再生できません。
これは、このAPIのしようでしようか?
0977969NGNG
>>975
なるほど。それでわかりました。SelectObjectでHDCとBitMapが引数で、
HDCの方は参照渡しみたいにしてHDCを変化させる。その後ウインドウのHDC
とBitMapのHDCを比べて1段階ずつウインドウに透過描画する。それを繰り
返すんですね。ありがとうございました。
0978名無し@沢村NGNG
>>969
MaskBlt()
0979969NGNG
>>978
BitBltでもできましたがこれも透過ができそうです。使い方を勉強してみます。ありがとうございました。
0980デフォルトの名無しさんNGNG
次スレ作成時期か?
0981デフォルトの名無しさんNGNG
CreateThread() のタイミングだな
0982980 ◆oqSJWu4Ch2 NGNG
そしたら、私が作ってこよう。

こっちは、誰か ExitThread() してくれ。
0983980 ◆oqSJWu4Ch2 NGNG
次スレ

Win32API 質問箱 Build11
http://pc2.2ch.net/test/read.cgi/tech/1052651750/
0984デフォルトの名無しさんNGNG
TerminateThread(GetCurrentThread(), 0);
0985デフォルトの名無しさんNGNG
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
0986デフォルトの名無しさんNGNG
CloseHandle は新スレでやるの?
0987デフォルトの名無しさんNGNG
>>984
いきなり強制終了かよ !!
0988デフォルトの名無しさんNGNG
すみません、質問させてください。
Aプロセスと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
0989デフォルトの名無しさんNGNG
>>988
プロセスの同期を取るために、他のプロセスから SuspendThread でプロセスを停止させる...、最近はこう言うことができるようになったのか...。
0990デフォルトの名無しさんNGNG
Suspendしてもいいタイミングを伝えるとか、他の手段を併用しない限り、安全に同期できない気が
0991デフォルトの名無しさんNGNG
そういえば、自分のスレッドをSuspendして、他のスレッドからResumeしてもらうのはあり?
0992デフォルトの名無しさんNGNG
ありだけど、そういうスレッドのパターンはあまりみないね。

CreateThread時のパラメータでいきなりサスペンド状態にしておいて、
必要なときにResumeThreadするのはしたことあるけど。

普通ならセマフォかミューテックスで止まる側に明示的に待機させる。

動機オブジェクトの大気のコストが馬鹿にならないような場合
(待機スレッド数が多いときとか)は、Suspendってのもありかな。

パフォーマンスカウンタとか穿り返せばThreadIdからスレッドハンドルが
もらえるかも。

もらえても自プロセスにAttachしてないハンドルは使えないんだけどね。
0993デフォルトの名無しさんNGNG
ゴミ箱のパスがほしいのですが、
SHGetSpecialFolderPath( hDlg, szRecycleBinPath, CSIDL_BITBUCKET, 0 );
とやると、空っぽで返ってきます。
どうすればいいのでしょうか?
0994デフォルトの名無しさんNGNG
俺は使うけどなぁ>自分でSuspend
0995デフォルトの名無しさんNGNG
>993
失敗するってヘルプに書かれているが、仮にパスを得たとして何も出来んだろ?
何するつもり?
0996デフォルトの名無しさんNGNG
(・∀・)ニヤニヤ 埋め
0997デフォルトの名無しさんNGNG
            ∧_∧
            ( ´_ゝ`)
       ___∬_(つ____と)___
      /\ 旦          \
     /+ \________ヽ  今だ!コタツの中ゲットォォォォ!!
     〈\ + + +    + + `、   ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     \ \__ノ⌒⌒⌒⌒⌒ヽ______ヽ      ∧∧   )      (´⌒(´
      `、___ノ⌒⌒⌒⌒ヽ_____〉  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
                                  ̄ ̄  (´⌒(´⌒;;
                               ズザーーーーーッ

            ∧_∧
            ( ´_ゝ`)
       ___∬_(つ____と)___
      /\ 旦          \
     /+ \________ヽ
     〈\ + + +    + + `、
     \ \__ノ⌒⌒⌒⌒⌒ヽ______ヽ  (´⌒(´
      `、___ノ⌒`つ⌒≡≡≡≡≡(´⌒;;
             ̄ ̄  ズポッ
0998デフォルトの名無しさんNGNG
            ∧_∧
            ( ´_ゝ`)
       ___∬_(つ____と)___
      /\ 旦          \
     /+ \________ヽ
     〈\ + + +    + + `、
     \ \________________ヽ
      `、_____________〉


      \ぷ  | ∧_∧
        \ぅ | ( ´_ゝ`)
       ___∬__(つ____と)__
      /\ 旦          \
     /+ \________ヽ
     〈\ + + +    + + `、
     \ \________________ヽ
      `、_____________〉
0999デフォルトの名無しさんNGNG
       ;⌒`)  ∧_∧  (´⌒;;
      ;; `).`), ( ´_ゝ`) (´ ("
       ___∬_(つ____と)___(´(´⌒)
      /\ 旦          \
     /+ \________ヽ
     〈\ + + +    + + `、
     \ \________________ヽ
      `、_____________〉


                 ∧             ∧
                  / ヽ            ./ .ヽ
               /   `、______/   ヽ           (⌒;:)
              /'"                  "'ヽ.
              /"                     "ヽ,('';:⌒⌒ヽ丶,..
            i   ○     | ̄ ̄|  ○        へ        ;;:: j   (⌒::;
            |         |  ...::|     。   ;:::/  ::::: : ::⌒ ̄""⌒ヾ
             !.       丿 ::::::::| _ _。  ::::::::: /::: ; ": ̄       ::)
             ヽ       l  :::::::┴┐   ,,..:;::::::::::/:'(: : : ;;:;:      ⌒ ⌒)
              \     しw / .......::::::;;:;::::::/;:/:::::::::ノ;;::::::; :  .....   .....  ::::ノ
                ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄' ̄"" ̄" "  ̄ ̄ ̄"'""  ̄ ̄ ̄" '''' ̄'' ̄
1000デフォルトの名無しさんNGNG
           ∧⊂ヽ
           (゚Д゚)ノ
   ____/ |⊃ |\____
   \ 叩 / ̄ |   | ̄\ 氏 /
     \/    ⊂ ノ〜  \/
     /\ ((⊂∪⊃)) /\
   / 逝 \____/ 煽 \
     ̄ ̄ ̄ ̄\. 騙 ./ ̄ ̄ ̄ ̄
              \/

   1000ゲット生贄で召還!
    ゴゴゴゴゴゴゴゴゴ・・・・・・・・
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。