■過去ログ置き場に戻る■
1-
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build32
1
名前:
デフォルトの名無しさん
:2005/05/28(土) 18:17:09
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんたちが答えてくれるかも。
∧_∧
( ´∀`) < 0x20
過去スレ、関連リンクは
>>2-5
くらい。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう
・日本語版MSDN Online Libraryは不完全です。英語版(
http://msdn.microsoft.com
)の利用推奨
・APIフックなど高度な事をしたい場合はできるだけAdvencedWindowsを読みましょう
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
2
名前:
デフォルトの名無しさん
:2005/05/28(土) 18:18:52
-過去スレ
Build31:
http://pc8.2ch.net/test/read.cgi/tech/1114762194/
Build30:
ttp://pc8.2ch.net/test/read.cgi/tech/1112345886/
Build29:
ttp://pc8.2ch.net/test/read.cgi/tech/1110281860/
Build28:
ttp://pc5.2ch.net/test/read.cgi/tech/1108199304/
Build27:
ttp://pc5.2ch.net/test/read.cgi/tech/1106103119/
Build26:
ttp://pc5.2ch.net/test/read.cgi/tech/1104109858/
Build25:
ttp://pc5.2ch.net/test/read.cgi/tech/1101393155/
Build24:
ttp://pc5.2ch.net/test/read.cgi/tech/1098967135/
Build23:
ttp://pc5.2ch.net/test/read.cgi/tech/1095534704/
Build22:
ttp://pc5.2ch.net/test/read.cgi/tech/1092524669/
Build21:
ttp://pc5.2ch.net/test/read.cgi/tech/1090422324/
Build20:
ttp://pc5.2ch.net/test/read.cgi/tech/1088140233/
Build19:
ttp://pc5.2ch.net/test/read.cgi/tech/1084697545/
Build18:
ttp://pc5.2ch.net/test/read.cgi/tech/1081702990/
Build17:
ttp://pc5.2ch.net/test/read.cgi/tech/1077470361/
Build16:
ttp://pc2.2ch.net/test/read.cgi/tech/1073830065/
★
Build15:
ttp://pc2.2ch.net/test/read.cgi/tech/1069339866/
★
Build14:
ttp://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
Build13:
ttp://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
Build12:
ttp://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
Build11:
ttp://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
Build10:
ttp://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
Build9:
ttp://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
Build8:
ttp://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
Build7:
ttp://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
Build6:
ttp://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
Build5:
ttp://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
Build4:
ttp://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
Build3:
ttp://pc.2ch.net/tech/kako/1017/10170/1017072275.html
Build2:
ttp://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Build1:
ttp://pc.2ch.net/tech/kako/991/991576947.html
3
名前:
デフォルトの名無しさん
:2005/05/28(土) 18:18:56
ニダ
4
名前:
デフォルトの名無しさん
:2005/05/28(土) 18:20:23
- MSDN Online
http://www.microsoft.com/japan/msdn/
- 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
- Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
- Google
http://www.google.com/
Win32 API入門
http://wisdom.sakura.ne.jp/system/winapi/
Win32 プログラミング入門
http://www7.plala.or.jp/keny01/windows/win32/
Win32 SDK Programming
http://usr_vogel.at.infoseek.co.jp/Win32SDK/
■書籍
Advanced Windows
http://www.amazon.co.jp/exec/obidos/ASIN/4756138055
>>3
プッ
5
名前:
デフォルトの名無しさん
:2005/05/28(土) 18:37:07
ごんた
6
名前:
デフォルトの名無しさん
:2005/05/28(土) 18:46:29
無駄無駄無駄ァァァァァ
7
名前:
デフォルトの名無しさん
:2005/05/28(土) 19:05:45
七面鳥
8
名前:
デフォルトの名無しさん
:2005/05/28(土) 19:17:45
うっかり八兵衛
9
名前:
デフォルトの名無しさん
:2005/05/28(土) 19:18:37
九重佑三子のコメットさん
10
名前:
デフォルトの名無しさん
:2005/05/28(土) 19:19:53
十兵衛@ハレンチ学園
11
名前:
デフォルトの名無しさん
:2005/05/28(土) 19:34:25
獣医乳首
12
名前:
デフォルトの名無しさん
:2005/05/28(土) 20:06:46
女子十二楽坊
13
名前:
デフォルトの名無しさん
:2005/05/28(土) 20:14:04
阪急十三駅
14
名前:
デフォルトの名無しさん
:2005/05/28(土) 20:15:18
尾道市十四日町
15
名前:
デフォルトの名無しさん
:2005/05/28(土) 21:11:41
十五少年漂流記
16
名前:
デフォルトの名無しさん
:2005/05/28(土) 21:15:10
http://www.microsoft.com/downloads/details.aspx?familyid=EBA0128F-A770-45F1-86F3-7AB010B398A3&displaylang=en
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
17
名前:
デフォルトの名無しさん
:2005/05/28(土) 21:15:41
RegisterClipboardFormatで、
自分専用のクリップボードフォーマットの番号をOSから頂いたんですが、
この情報はレジストリに登録されるのでしょうか?
それとも、一時的なもので、再起動してRegisterClipboardFormatすると
再度割り当てが行われるものなのでしょうか?
(極力レジストリは汚したくないもので・・・)
18
名前:
デフォルトの名無しさん
:2005/05/28(土) 21:23:49
一時的だよ
19
名前:
17
:2005/05/28(土) 21:28:09
>>18
ありがとうございます。
心置きなく使えます。
20
名前:
デフォルトの名無しさん
:2005/05/28(土) 22:07:21
> OSから頂いた
わろた
21
名前:
デフォルトの名無しさん
:2005/05/28(土) 22:07:32
"C:\\"のプロパティ(Explorerの右クリックと同じもの)を表示するのはどうすればいいですか?
22
名前:
デフォルトの名無しさん
:2005/05/28(土) 22:30:34
>1
Z
23
名前:
デフォルトの名無しさん
:2005/05/28(土) 22:35:48
>>21
ShellExecuteの2番目の引数をTEXT("properties")にしたらいけるんじゃない?
24
名前:
デフォルトの名無しさん
:2005/05/28(土) 23:06:43
CreateDialogParamでダイアログボックス何個か作って各々WM_MOVEきたら座標を記録して終了時に保存、
起動時に読み込んでMoveWindowで位置を復元してみたところ
xyともに+3pixずれてるんですがそういうもんなんでしょうか。
25
名前:
デフォルトの名無しさん
:2005/05/28(土) 23:12:19
違います
26
名前:
デフォルトの名無しさん
:2005/05/28(土) 23:12:20
>>24
WM_MOVEはクライアント領域で、
MoveWindowはウィンドウ全体の座標ですよ。
27
名前:
デフォルトの名無しさん
:2005/05/29(日) 00:35:31
質問失礼します。
キャレットが表示されたら処理を行いたいのですが
キャレットが表示された、されない、の識別方法が解りません。
ウィンドウに左右されない
キャレットの状態を監視する方法がさっぱりです・・・。
どうすればいいのでしょうか?
28
名前:
24
:2005/05/29(日) 00:46:01
レスありがとうございました。多謝。
29
名前:
デフォルトの名無しさん
:2005/05/29(日) 00:46:07
WM_SETFOCUSとか?
30
名前:
デフォルトの名無しさん
:2005/05/29(日) 01:39:51
>>17
レジストリが気になるなら、れぐもんでも使って変更点調べてみ。
31
名前:
デフォルトの名無しさん
:2005/05/29(日) 01:44:44
3D関連のAPIは無いのでしょうか?
もしくはDCに書き込めるフリーの3Dライブラリ無いでしょうか?
ワイヤーフレーム、球、半透明、程度の機能でいいんですが、、、
(独自ウインドウに書き出すようなのはいくつか見つけました)
32
名前:
デフォルトの名無しさん
:2005/05/29(日) 01:51:27
DirectXはお嫌い?
33
名前:
31
:2005/05/29(日) 02:08:13
DirectXとOpenGLは無しでお願いします。
あまり大層じゃなくやりたいので、、、
34
名前:
デフォルトの名無しさん
:2005/05/29(日) 02:21:48
DirectGL作れ
35
名前:
デフォルトの名無しさん
:2005/05/29(日) 03:22:14
OpenGL = IndirectX
36
名前:
デフォルトの名無しさん
:2005/05/29(日) 03:48:20
>>31
大層なものじゃなくてもDirectX使ったほうが楽な結果に終わることもあるよ
GDIのみ→GDI+→DirectXと結局作り変えてる俺
ご利用は計画的にorz
37
名前:
デフォルトの名無しさん
:2005/05/29(日) 04:11:54
つーか、GDI+DIBSectionあたりでガリゴリやるほうがDirectXよりよっぽど大層なことだろ
38
名前:
デフォルトの名無しさん
:2005/05/29(日) 04:21:38
>>31
MoveToEx();
LineTo();
39
名前:
デフォルトの名無しさん
:2005/05/29(日) 11:54:24
ウインドウメッセージやスタイルを,0x0201→WM_PAINTといった感じに,数値から文字列に変換する方法を探しています。
FormatMessageの様な便利なAPIは用意されてないのでしょうか?
40
名前:
デフォルトの名無しさん
:2005/05/29(日) 12:26:09
前スレ1000は、ギャグのつもりでやっちゃたんだろうか
41
名前:
デフォルトの名無しさん
:2005/05/29(日) 13:23:03
>>39
ないよ
windows.hのWM_〜部分を全部持ってきて
Cならマクロで値と文字列のテーブル作るのが簡単
#defile WM_DEF(msg) {msg, #msg},
struct {
UINT msg;
const char *msg_str;
} msgtbl[] = {
WM_DEF(WM_CREATE)
WM_DEF(WM_DESTROY)
WM_DEF(WM_COMMAND)
:
};
で
struct {
UINT msg;
const char *msg_str;
} msgtbl[] = {
{WM_CREATE, "WM_CREATE"},
{WM_DESTROY, "WM_DESTROY"},
{WM_COMMAND, "WM_COMMAND"},
:
};
というのができる
42
名前:
デフォルトの名無しさん
:2005/05/29(日) 13:23:48
すいません、質問させてください。
MBCSかどうかをチェックするAPIがあったはずですが、
忘れてしまいました。
今Googleで調べてますが、ご存知な方がいらっしゃいましたら、教えていただけないでしょうか?
よろしくお願いいたします。
43
名前:
デフォルトの名無しさん
:2005/05/29(日) 13:28:29
>>42
IsDBCSLeadByte()
あとCharNext()とCharPrev()もある。
44
名前:
42
:2005/05/29(日) 13:32:37
>>43
即答いただきまして、ありがとうございます。
助かりました。
45
名前:
デフォルトの名無しさん
:2005/05/29(日) 15:01:34
キーボードやマウスの操作を無効にしたいと思いBlockInputを使ってみたのですが
Windows95などでは使えないみたいなんです。Hookする以外に方法は無いでしょうか?
46
名前:
デフォルトの名無しさん
:2005/05/29(日) 17:22:55
>>41
ありがとうございます。
Spy++等で表示されてるのを見てひょっとしたらと思ったのですが用意されてないのですね。
てきとーに置換してテーブル作ることにします。
47
名前:
デフォルトの名無しさん
:2005/05/29(日) 18:08:57
ttp://www.kumei.ne.jp/c_lang/sdk/sdk_100.htm
ここのスクロール量の正規化について疑問があるので、教えてください。
>dy = max(-1 * si.nPos, min(dy, si.nMax - si.nPos));
なのですが、外側のmaxが必要になるケースが思いつかないのですが、どんなときですか?
48
名前:
デフォルトの名無しさん
:2005/05/29(日) 18:16:40
その前の章に解説があるようだが?
49
名前:
デフォルトの名無しさん
:2005/05/29(日) 18:20:44
すいません、どうしてもわからなかったんで質問させてください。
↓このアプリのように、トレイに表示されているアイコンに対して、外部からクリック操作をするには
どのようなAPIを使えばいいんでしょうか?
http://www.forest.impress.co.jp/article/2005/05/24/traycommand.html
50
名前:
デフォルトの名無しさん
:2005/05/29(日) 18:23:59
おとなしくそのアプリを使えよ。
51
名前:
49
:2005/05/29(日) 18:29:03
>>50
うーん、自アプリにこの機能を組み込みたいんですよね。
どうかお願いします。
52
名前:
デフォルトの名無しさん
:2005/05/29(日) 18:29:25
こぴぺっぽい前スレ998だけど、北斗の拳は実写版があるぞ。
たしかハリウッドで。
53
名前:
デフォルトの名無しさん
:2005/05/29(日) 18:30:20
>>48
ありがとうございます、でも分かりませんでした。
外側のmaxはスクロール後の位置がマイナスにならないように正規化するためのものですよね。
でも、SetScrollInfoはオーバーフローとアンダーフローを自動的に補正してくれます。
また、内側のminでの計算でnPageが考慮されていないのでオーバーし放題です。
54
名前:
デフォルトの名無しさん
:2005/05/29(日) 19:04:27
( ・ω・)∩先生!質問です!
[hoge]
hage=100,200,300
という感じで一つのキーに複数の整数パラメータがあるiniファイルで
二つ目以降のパラメータを整数型で取得する方法は無いのでしょうか?
GetPrivateProfileIntは試してみたけど一つ目のパラメータしか取れないみたいだし、
GetPrivateProfileStructは文字コードのまま構造体に放り込むだけだし・・・
やっぱりGetPrivateProvileStringで文字列から整数に変換するしか方法はないんでしょうか?
55
名前:
デフォルトの名無しさん
:2005/05/29(日) 19:08:00
>54
API だけだと無理だと思う。素直に解析しましょう。
あるいは、ini ファイル側の仕様を変えて
[hoge]
foo1=100
foo2=200
foo3=300
みたいにするか。
56
名前:
デフォルトの名無しさん
:2005/05/29(日) 19:23:09
MFCなら GetProfileBinary WriteProfileBinary があるんだが
57
名前:
54
:2005/05/29(日) 20:41:08
>>55
やっぱり無理なんですね(´・ω・`)
作ろうとしているのが他の人が作ったソフトのiniファイルを編集するツールなので
iniファイルの仕様を変えることができないので素直に解析するようにします。
>>56
「へぇ〜そんな関数があるのか」とMSDNライブラリを見てみたけど
MSDNライブラリに載っていなかったのでぐぐったらあっさり見つけました。
これなら希望通りの動作をしそうですね。
今回はMFCを使わないのですが、MFCを使うことがあれば利用したいと思います。
もう一つ質問なんですが、
文字列を整数型に変化するにはatoiなどの標準ライブラリの関数を使うしかないのでしょうか?
初歩的な質問ばかりで申し訳ないですがよろしくお願いします。
58
名前:
デフォルトの名無しさん
:2005/05/29(日) 20:52:52
>>57
っ[ 文字コード表 ]
59
名前:
デフォルトの名無しさん
:2005/05/29(日) 20:54:57
>>57
StrToInt
60
名前:
デフォルトの名無しさん
:2005/05/29(日) 22:24:32
>>57
APIでなくてもいいならsscanf()
61
名前:
デフォルトの名無しさん
:2005/05/29(日) 23:52:26
>>49
Spy++でメッセージを拾うとか、
ApiMonで呼んでいるAPIを見るとか。
62
名前:
デフォルトの名無しさん
:2005/05/30(月) 01:00:11
そんな面倒なことやってられないからここで聞いているんだろうに、
使えない奴は答えるなよ、ボケ
63
名前:
54=57
:2005/05/30(月) 03:36:45
StrToIntを試してみたら希望通りの動作をしたので今回はStrToIntを使うことにしました。
初心者丸出しの質問に答えてくださった皆さんありがとうございました。
・・・もっと勉強しなきゃ・・・sscanfも知らなかったし(;´д`)
64
名前:
デフォルトの名無しさん
:2005/05/30(月) 05:18:19
>> 49
www.autohotkey.com
オープンソースらしい.
65
名前:
デフォルトの名無しさん
:2005/05/30(月) 08:17:32
リストビューの横スクロールバーだけ自動で出現しないようにする方法ありませんか?
66
名前:
デフォルトの名無しさん
:2005/05/30(月) 08:54:04
>>65
カラム幅を制御して横スクロールバーのいらない寸法を維持する。
67
名前:
siokosho
:2005/05/30(月) 09:00:34
素人の質問ですみません。うまく日本語化できないのですがどうしたらよいでしょう?
お願いします。
68
名前:
デフォルトの名無しさん
:2005/05/30(月) 09:12:00
まず日本語を勉強する
69
名前:
デフォルトの名無しさん
:2005/05/30(月) 09:58:56
>>66
WM_SIZEを乗っ取ってカラム幅とウインドウのクライアント幅を同じにしました。
ウインドウの縦サイズを調整して、縦スクロールバーがない状態からある状態にすると縦&横スクロールバーが出現するので、
カラム幅をクライアント幅に一致するように縮めスクロールしないでも収まるようにしたのですが、
それが横スクロールバーに反映されないので困っています。もう一段階サイズを変更すると消えるのですが・・・。
70
名前:
デフォルトの名無しさん
:2005/05/30(月) 12:19:05
CloseDriver
DRV_CLOSE
と同様の機能らしいAPIが二つあるのですが
使い方の違いですか?
71
名前:
デフォルトの名無しさん
:2005/05/30(月) 17:04:14
標準入出力のストリームをバイナリモードにするAPIを教えてください。
72
名前:
デフォルトの名無しさん
:2005/05/30(月) 17:31:18
>>71
後から変更することは出来ない。
が、改めてオープンしなおすことは出来る。
CreateFile(TEXT("CON"),
73
名前:
デフォルトの名無しさん
:2005/05/30(月) 18:25:12
>>72
それは標準入力ではない。
>>71
ファイルハンドルを複製せよ。
74
名前:
デフォルトの名無しさん
:2005/05/30(月) 18:42:49
Window Media Playerの設定を変更するアプリケーションが作りたいのですが
経験者の方はおられますか?
75
名前:
デフォルトの名無しさん
:2005/05/30(月) 21:52:13
おりますよ。何でも聞いてござれ。
76
名前:
デフォルトの名無しさん
:2005/05/31(火) 00:00:36
Explorerをシェル拡張するのではなく、
リパースポイントを使いたいのですが、
マイクロソフトと何か契約を結んだりしないとダメですか?
77
名前:
デフォルトの名無しさん
:2005/05/31(火) 00:59:00
質問です。
CreateEventをリモートで実現するにはどうしたらいいでしょう?
ソケットとか使わないとダメ?
78
名前:
デフォルトの名無しさん
:2005/05/31(火) 02:52:03
>>76
ttp://msdn.microsoft.com/library/en-us/fileio/fs/fsctl_set_reparse_point.asp
79
名前:
74
:2005/05/31(火) 07:15:14
>>75
[ツール]-[オプション]-[ネットワーク]タブにあるチェックボックスを
ON/OFFすることなんてできますか?
80
名前:
デフォルトの名無しさん
:2005/05/31(火) 13:10:46
メッセージ処理(WM_TIMER)に依存しないウェイトのかけ方を教えてください>w<
SetTimerは内部でメッセージ使ってるようなので‥‥
81
名前:
デフォルトの名無しさん
:2005/05/31(火) 13:30:55
Sleepとか?
82
名前:
デフォルトの名無しさん
:2005/05/31(火) 13:44:00
昔はリソースの関係でタイマーを大量に作れなかったので
Sleepで実装したりもした、と聞く。
83
名前:
デフォルトの名無しさん
:2005/05/31(火) 13:46:43
Sleepだとスレッドが寝ちゃうから中断できなくてダメなんです>w<
84
名前:
デフォルトの名無しさん
:2005/05/31(火) 13:55:24
MsgWaitForMultipleObjects
85
名前:
デフォルトの名無しさん
:2005/05/31(火) 14:05:51
タイマスレッド、イベントオブジェクト
86
名前:
デフォルトの名無しさん
:2005/05/31(火) 14:09:25
空ループ
87
名前:
デフォルトの名無しさん
:2005/05/31(火) 14:18:29
日本語版Windows2000 VC6にて 入力された文字をStaticで表示させるDLLを
作っている(MFC無し)のですが、英語版NT4(GlobalIME IE4)環境下にて、
日本語が文字化けします。どなたかうまく表示させる方法をご存知ではない
でしょうか?
以下はソース抜粋です。
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
void SetTxtMsg(LPCTSTR lpTxtMsg)
{
LOGFONT lf;
memset(&lf, NULL, sizeof(lf));
lf.lfCharSet= SHIFTJIS_CHARSET;
lf.lfOutPrecision= OUT_OUTLINE_PRECIS;
lf.lfClipPrecision= CLIP_STROKE_PRECIS;
lf.lfPitchAndFamily= DEFAULT_PITCH | FF_SWISS;
lstrcpy(lf.lfFaceName, TEXT("MS Gothic"));
hFont = CreateFontIndirect(&lf);
msg_hWnd = CreateWindowEx( NULL,
"STATIC", TEXT(lpTxtMsg),
WS_CHILD | WS_VISIBLE | SS_CENTER,
WNDMSG_X, WNDMSG_Y, WNDMSG_WIDTH, WNDMSG_HEIGHT,
hWnd, NULL, hInst, NULL);
SendMessage(msg_hWnd, WM_SETFONT, (WPARAM)hFont, TRUE);
}
88
名前:
デフォルトの名無しさん
:2005/05/31(火) 14:24:59
m9(^Д^)プギャーーーッ!
89
名前:
デフォルトの名無しさん
:2005/05/31(火) 15:08:37
やはwwwwwwwwwwwwwwwwwwうぇwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
90
名前:
デフォルトの名無しさん
:2005/05/31(火) 15:09:32
>>80
timeSetEvent() とか SetWaitableTimer() とかは?
91
名前:
デフォルトの名無しさん
:2005/05/31(火) 21:12:03
タイマーは、呼び出される関数のポインタをNULLにするとメッセージで来るんだけどな
正確なのがほしけりゃマルチメディアタイマー使ったら
92
名前:
デフォルトの名無しさん
:2005/05/31(火) 21:40:11
スレッドとプロセスの違いを教えてください。
93
名前:
デフォルトの名無しさん
:2005/05/31(火) 21:42:22
それはいい所に気付いたね。
94
名前:
デフォルトの名無しさん
:2005/05/31(火) 21:56:30
DirectDrawあたりのSetDisplayModeとかそのへんで
適当に解像度を落としてから解像度を戻すと
Windowの配置が目茶目茶になるので
EnumWindowsとGet/SetWindowPlacementで処理したは良いが、
なぜか最大化しているWindowがタスクバーの下にえぐれてしまうのです。
タスクバーに適当にメッセージでも流せば戻るのかと思ったんですが
試した限りでは駄目でした。
タスクバーのエッジをクリックするとか、何か新しいWindowでも開くと直るのですが
何とかする手立ては無いんでしょうか。
ちなみにWindows2000上でしか試していませんので他の環境では分かりません。
95
名前:
デフォルトの名無しさん
:2005/05/31(火) 22:23:20
質問させて頂きます。
アクセラレータのメッセージが親ウィンドウに来ないで
そのときフォーカスのある子ウィンドウに行くようになってしまったのですが
私は何をしてしまったのでしょうか。
96
名前:
デフォルトの名無しさん
:2005/05/31(火) 22:24:45
ミス。
97
名前:
デフォルトの名無しさん
:2005/05/31(火) 22:59:43
アクセラレータはTransrateMessageだけど
何か思い当たる事ないか
98
名前:
デフォルトの名無しさん
:2005/05/31(火) 23:16:21
TranslateAcceleratorじゃなかったっけ
99
名前:
デフォルトの名無しさん
:2005/05/31(火) 23:23:42
イベントログファイル(*.evt)からイベント情報を取得してダンプするためには、
ReadEventLog関数を用いて1つずつレコードの内容をファイル等に書き出して
いくしかないのでしょうか?
もし書き込み用関数やサンプルソース等がありましたら教えて頂きたいので
よろしくお願いします。
100
名前:
デフォルトの名無しさん
:2005/05/31(火) 23:24:31
>なぜか最大化しているWindowがタスクバーの下にえぐれてしまうのです。
えぐれる?
101
名前:
明日のために
:2005/05/31(火) 23:30:46
えぐるように打つべし!
102
名前:
デフォルトの名無しさん
:2005/05/31(火) 23:53:51
>>95
TranslateAccelerator( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg );
このHWNDに、呼び出すその時のMSG構造体のHWND渡してるとかじゃないか?
103
名前:
94
:2005/06/01(水) 00:00:42
最大化Windowがタスクバーの下にもぐりこんでいる状態と言えばいいでしょうか。
104
名前:
デフォルトの名無しさん
:2005/06/01(水) 00:05:18
普通に最大化するとタスクバーを避けるように大きさが決まるのに解像度変更から
復帰したときはなぜかタスクバーを無視して最大化されてしまうってこと?
105
名前:
デフォルトの名無しさん
:2005/06/01(水) 00:12:15
タスクバーが原点方向(左・上)にあるときの話ならGetWindowPlacement/SetWindowPlacementの仕様上の問題。というか罠。
106
名前:
デフォルトの名無しさん
:2005/06/01(水) 01:21:58
XPでWindowsキー + [U]を押してユーティリティ マネージャーを開くと、
まずsystemアカウントでutilman.exeが起動して、その子プロセスとして
現在ログオンしているユーザーの権限でutilman.exeが実行されているのですが、
どうやってパスワードなしで現在のユーザーのトークンを得ているのでしょうか?
107
名前:
94
:2005/06/01(水) 01:27:27
>>104
そんな感じですかね。SetWindowPlacementすると
最大化していたWindowがタスクバーの下に滑り込んでしまいます。
>>105
一応タスクバーはBottomに置いてあります。
今確認したところ左と上の時はいい感じですが、
右と下だとやっぱりタスクバーを無視した感じのサイズになるようです。
108
名前:
デフォルトの名無しさん
:2005/06/01(水) 02:15:02
>>99
BackupEventLog()じゃダメ?
リモート接続ならリモート先にしか保存できないという素敵な関数さんだけど
情報メッセージとかちゃんと変換して吐き出すなら
1レコード読み込んで吐き出すしかないと思われ
109
名前:
95
:2005/06/01(水) 03:35:46
>>102
その通りでした。
「猫でも〜」を見て作ったときは
TranslateAccelerator(hWnd, hAccel, &msg)
としていたのですが、VCにひな形を作ってもらうと
TranslateAccelerator(msg.hwnd, hAccelTable, &msg)
このように作るようです。
どうもありがとうございました。
110
名前:
デフォルトの名無しさん
:2005/06/01(水) 04:16:01
今までWANIPの取得はENVを表示するCGIにアクセスさせて取得させていたのですが
WANIPを取得できるような関数ってありますか?
111
名前:
デフォルトの名無しさん
:2005/06/01(水) 05:51:38
>>110
残念ながらOSが管理してる情報じゃないのでそんなAPIはありません
112
名前:
デフォルトの名無しさん
:2005/06/01(水) 06:21:20
>>110
DDNSで登録しといて、Winsockでgethostbynameするとか
113
名前:
デフォルトの名無しさん
:2005/06/01(水) 08:57:15
>>110
UPnPに対応しているルータならUPnPで取れる
114
名前:
110
:2005/06/01(水) 12:19:53
皆さんレスありがとうございます。検討してみます。
とても参考になりました。
115
名前:
デフォルトの名無しさん
:2005/06/01(水) 12:21:30
チルトホイールマウスのチルトに反応するにはどうしたらよいのでしょうか?
116
名前:
デフォルトの名無しさん
:2005/06/01(水) 13:41:10
・spyでなんかメッセージが出てないか見る
・MSでそれっぽいSDKが出てないか探してみる
117
名前:
デフォルトの名無しさん
:2005/06/01(水) 19:13:50
質問です。
スクリーンセーバーを作りたいのですが、
外部シンボル 'WinMain' が未解決
とエラーがでてしまいます。
ソースは「猫でも〜」のコピペなので間違いはないと思います。
コンパイラはBCCで開発環境はBCCDeveloperです。
原因があるとすればどこでしょうか?
118
名前:
デフォルトの名無しさん
:2005/06/01(水) 19:22:10
>>117
猫にはscrnsave.libを使うと書いてあるだろうが、これはVC++の本当のライブラリで、BCCには存在しない。
DLLのインポートライブラリではないからimplibで解決できるわけでもない。
119
名前:
デフォルトの名無しさん
:2005/06/01(水) 19:37:13
>>117
写したから間違いは無いと思うその思考がまず間違い
人間とは間違うはずの無いところで間違うもの
何よりも、間違いが無いならエラーが出るわけがない
エラーが出るということは間違っているということ
120
名前:
デフォルトの名無しさん
:2005/06/01(水) 19:52:01
>118-119
dクス ( ノД`)゚・。
121
名前:
デフォルトの名無しさん
:2005/06/01(水) 19:56:16
>>120
http://homepage2.nifty.com/tenk/prog/scrnsvr.htm
122
名前:
デフォルトの名無しさん
:2005/06/01(水) 20:25:41
>121
クスコ
123
名前:
デフォルトの名無しさん
:2005/06/01(水) 20:33:55
>>108
レスくれてありがとうございます。
BackupEventLog関数でファイルそのものを
バックアップすることはできるのですが、
1レコード読み込んで、そのメッセージ内容を
dllから読み込み変換、ファイルに出力という事を
やろうとしています。
そういう処理は、LoadLibrary、ReadEventLog、FormatMessage等を
駆使してやるしかなさそうですね。
数少ないながらもネット上にサンプルがありまして、
参考にして何とか実装することができました。
Windowsのイベントビューア上で、「ログファイルの名前を付けて保存」と
同じ事をしたいわけですが、どういう実装になってるか予想できますか?
(それ使えばいちいち作らなくてもいいわけですが…)
124
名前:
デフォルトの名無しさん
:2005/06/01(水) 20:59:33
>>123
プラットフォームSDKにサンプルがあったような希ガス。
125
名前:
デフォルトの名無しさん
:2005/06/01(水) 21:26:57
>>124
Platform SDKではないですが、サンプルがあっさりと見つかりました。
英語の本家サイトもきちんとチェックするようにしないといけませんね。反省。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/reading_the_event_log.asp
自分が作成したものとは全く違うわけで…。
自分の場合は、ログのレコードを格納するためのバッファのサイズを
取得するために、ReadEventLog関数を2回呼び出すようにしていました。
126
名前:
デフォルトの名無しさん
:2005/06/02(木) 02:41:30
質問です。
現在、テキストエディタを制作しているのですが、
保存処理で詰まっています。
CreateWindow()で生成したエディットコントロールから文字数を
取得してmalloc()でその分のバッファを用意します。
そのバッファにエディットコントロールの内容をコピーして、
WriteFile()でファイルに書き込む、という感で作りたいのですが
どうすればエディットコントロール文字数を取得できるのか
がわかりません。どうすればいいのでしょうか?
127
名前:
デフォルトの名無しさん
:2005/06/02(木) 03:19:19
エディットコントロールはコントロールの一つ。
コントロールはウィンドウの一種だ。
Windowsは1個のウィンドウに対して一つの名前(文字列)を付けることが出来、
その名前を操作するためのAPIを提供している。
タイトルバーのタイトル文字列はメインウィンドウの名前を表示している。
そして、コントロールはこの名前(文字列)をスタティックコントロールの文字列や
エディットコントールの編集しているテキストとして扱っている。
128
名前:
126
:2005/06/02(木) 03:30:46
>>127
ありがとうございます。
GetWindowText()ってことですよね?
GetWindowText()でバッファに文字列を格納する前に
malloc()でバッファを作りたいのですが・・・
129
名前:
デフォルトの名無しさん
:2005/06/02(木) 03:32:59
つGetWindowTextLength
130
名前:
126
:2005/06/02(木) 03:57:33
>>127
>>129
ありがとうございます!解決しました。
こんな関数があったとは知りませんでした。
131
名前:
デフォルトの名無しさん
:2005/06/02(木) 05:20:50
こんな関数があったとはって、MSDNでGetWIndowTextの次に出てくるんだがなぁ・・・
132
名前:
デフォルトの名無しさん
:2005/06/02(木) 07:20:41
こういう奴はいつまでたっても無能
133
名前:
デフォルトの名無しさん
:2005/06/02(木) 10:32:13
無能といえば無能だが、title bar の caption を取るのも GetWindowText() ってのは
最初はとっつきにくい感じはある。空の window で文字列があるのは title bar
だけだから text はそこしかないが、多くの window にはあちこちに text が
あるように「見えて」そんなことは最初は分りにくい。
dialog には GetDlgItemText() が用意されているが、GetEditControlText() や
GetTitleBarText() とかあると直感的には分りやすいと思う。
マクロ定義で済むのにね。
134
名前:
デフォルトの名無しさん
:2005/06/02(木) 11:01:07
違うだろGetWindowTextLengthを探せないのが無能なんだよ
135
名前:
デフォルトの名無しさん
:2005/06/02(木) 13:43:04
>>133
Edit_GetText()
136
名前:
デフォルトの名無しさん
:2005/06/02(木) 17:09:06
ISAPIの一覧が見たいのですがどこにあるかわかりますでしょうか?
137
名前:
デフォルトの名無しさん
:2005/06/02(木) 20:25:44
16x16のビットマップをアイコンとして使用したいのですが
hIcon = LoadImage(hInst, "test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
としてロードしたものを
ImageList_AddIcon(hIList, hIcon)
として利用可能でしょうか?
138
名前:
デフォルトの名無しさん
:2005/06/02(木) 20:48:46
Altキーを押したり、マウスカーソルを一番上に持っていった時だけメニューが出るようにするAPIはどれ?
139
名前:
デフォルトの名無しさん
:2005/06/02(木) 20:49:40
無い
140
名前:
デフォルトの名無しさん
:2005/06/02(木) 21:04:56
ビットマップを横に並べて表示させたいのですが、
何も表示されません
case WM_PAINT:
hdc = BeginPaint(hWnd , &ps);
for(i = 0;i > 256;i+=64) {
BitBlt(hdc , i , 0 , 64 , 64 ,
hMem2 , 0 , 0 , SRCCOPY);
BitBlt(hdc , i , 0 , 64 , 64 ,
hMem1 , 0 , 0 , SRCCOPY);
}
EndPaint(hWnd , &ps);
break;
原因を教えてください。お願いします。
141
名前:
デフォルトの名無しさん
:2005/06/02(木) 21:06:48
ループが1回も回らないから。
142
名前:
デフォルトの名無しさん
:2005/06/02(木) 21:10:56
>>133
それはWindowsのWindowの構造が理解できてないからだ
>>137
LoadImageでIMAGE_BITMAPで何が返って来ると思う?
てか似たような質問前スレにもあったぞ
>>140
まずhMem1とhMem2の出所を教えてくれ
143
名前:
140
:2005/06/02(木) 21:18:55
HDC hdc;
static HDC hMem1 , hMem2;//メモリデバイスコンテキスト
PAINTSTRUCT ps;
HBITMAP hBmp;
int i;
case WM_CREATE:
hdc = GetDC(hWnd);
hBmp = LoadBitmap(
((LPCREATESTRUCT)lp)->hInstance ,
TEXT("BASE")
);
hMem1 = CreateCompatibleDC(hdc);
SelectObject(hMem1 , hBmp);
DeleteObject(hBmp);
hBmp = LoadBitmap(
((LPCREATESTRUCT)lp)->hInstance ,
TEXT("BASE_M")
);
hMem2 = CreateCompatibleDC(hdc);
SelectObject(hMem2 , hBmp);
DeleteObject(hBmp);
ReleaseDC(hWnd , hdc);
break;
小出しスマソ。
マスク画像を表示するプログラムにしようと思ってます。
144
名前:
141
:2005/06/02(木) 21:26:30
俺は無視かい
145
名前:
137
:2005/06/02(木) 21:26:48
>>142
すんません、過去ログみれないんです;;
146
名前:
デフォルトの名無しさん
:2005/06/02(木) 21:30:57
>144
スマソ。よく分かりません。。。
147
名前:
141
:2005/06/02(木) 21:35:28
for(i = 0;i > 256;i+=64)
~~~~~~~
148
名前:
デフォルトの名無しさん
:2005/06/02(木) 21:39:24
>>137
最初のインスタンスハンドルはリソースを読み込むときに使うものだから、
LR_LOADFROMFILEを指定するときにはNULLで良い。
149
名前:
デフォルトの名無しさん
:2005/06/02(木) 21:40:33
>147
神様ありがとう。馬鹿だ漏れ。。。
150
名前:
デフォルトの名無しさん
:2005/06/02(木) 21:48:27
DeleteObject(hBmp);
もつっこんどいてやったほうが親切?
151
名前:
137
:2005/06/02(木) 21:58:46
>>148
NULLですね・・すんません;;
で、やはり .bmpを読み込んで
ImageList_AddIconに渡しても-1が戻ってだめぽ、なんで
何らかの解決方法ってないですかね・・
bmpを読み込んで動的にiconに変換させるとか
そのままiconとして扱えるとか、お手軽なAPIとか手法はないものでしょうか?
おとなしくiconファイルに変換したものを渡した方が無難でしょうか・・・?
152
名前:
デフォルトの名無しさん
:2005/06/02(木) 22:27:07
CreateIconIndirect
153
名前:
デフォルトの名無しさん
:2005/06/02(木) 22:56:28
HDCをstaticにするのも感心しないが・・・
154
名前:
デフォルトの名無しさん
:2005/06/02(木) 22:58:04
NTFSに複数同時にログを書き込むと高確率でフラグメントが発生してしまうんですが
最終的に書き込むサイズが(だいたい)わかっている場合ヒントを与えるような仕組みってないですか?
155
名前:
デフォルトの名無しさん
:2005/06/02(木) 22:59:56
ファイルマッピングでやったら確実かもね
156
名前:
デフォルトの名無しさん
:2005/06/03(金) 00:01:02
>>154
SetFilePointer
SetEndOfFile
157
名前:
149
:2005/06/03(金) 06:56:48
>150
ごめん、気になるから教えて神様。
>153
グローバルにすればいいですか?
158
名前:
デフォルトの名無しさん
:2005/06/03(金) 07:06:21
>>157
必要な時に宣言するという思考は無いのか?
159
名前:
デフォルトの名無しさん
:2005/06/03(金) 07:25:03
>>157
case の中でも、{ } でくくればブロックの先頭で変数の宣言できるよ
160
名前:
デフォルトの名無しさん
:2005/06/03(金) 07:48:36
そもそも複数の処理を記述するのに{}でブロックを作らないVCの雛型がおかしい
161
名前:
デフォルトの名無しさん
:2005/06/03(金) 09:25:27
そんな雛型に頼るのがおかしい。
162
名前:
デフォルトの名無しさん
:2005/06/03(金) 10:07:15
Windows 2000 で
USBメモリ等のリムーヴァブルメディアの
とりはずし操作
# 物理的なとりはずしではなく,
# 前もってOS上でやる「安全なとりはずし」
が行われたらそれを検知したいのですが,
方法はありますか?
163
名前:
デフォルトの名無しさん
:2005/06/03(金) 10:41:49
>>162
WM_DEVICECHANGEはどう?
164
名前:
162
:2005/06/03(金) 10:54:46
>>163
いまドキュメントを読んでも
要領をえないんですが,
WM_DEVICECHANGE
が実際にメディアを抜いたときにくる
メッセージなんですか?
OS の「ハードウェアの取り出し」操作を
キャッチしたいのですが,
このメッセージでできるんでしょうか?
165
名前:
デフォルトの名無しさん
:2005/06/03(金) 10:56:04
質問する前に試せ
166
名前:
163
:2005/06/03(金) 11:25:38
>>164
『OS のハードウェアの取り出し操作をキャッチ』というのは
ハードウェアの取り外しダイアログで[停止]ボタンを押したときのことか?
今試したらWM_DEVICECHANGEが来たぞ。
何かLPARAMに値がセットされてたが、それは面倒なので調べてないが。
(調査にはWin2000&WTLを使用)
167
名前:
164
:2005/06/03(金) 12:31:29
>>166
> ハードウェアの取り外しダイアログで[停止]ボタンを押したときのことか?
まさにそれです
> 今試したらWM_DEVICECHANGEが来たぞ。
ならばいけそうです
168
名前:
デフォルトの名無しさん
:2005/06/03(金) 12:54:48
実際の経過時間を知りたいのですが。
time()やGetSystemTime()などでは時刻の設定をされたり「Windows Time
サービス」がSetSystemTimeAdjustment()をしていたりするので、正しい
経過時間が不明です。ハード的な誤差はあってもよいがソフト的な設定
による影響を避けたい。
169
名前:
デフォルトの名無しさん
:2005/06/03(金) 13:16:25
GetTickCount
170
名前:
149
:2005/06/03(金) 13:45:23
>159-160
亀レスですが、よく分かりません。
詳細キボンです。
171
名前:
デフォルトの名無しさん
:2005/06/03(金) 13:55:11
>>170
こういうことかと思われ
×な例
case WM_PAINT:
int a;
○な例
case WM_PAINT:
{
int a;
}
172
名前:
デフォルトの名無しさん
:2005/06/03(金) 14:04:41
>>170
PAINTSTRUCT ps; が戦先頭にあったもんでね。
WM_PAINTでしか使わないようなこういうのは、
case WM_PAINT:
{
PAINTSTRUCT ps;
・
・
break;
}
とかね
173
名前:
デフォルトの名無しさん
:2005/06/03(金) 14:04:57
>171
な〜る。dクス
174
名前:
149
:2005/06/03(金) 15:02:13
>172
d
しかし
>>150
の言いたいことがよく分かりません。
誰かつっこんでくれる方いませんか?
175
名前:
デフォルトの名無しさん
:2005/06/03(金) 15:28:11
>>174
hDCにSELECT中のhBmpをDeleteObjectしてどーすんの
176
名前:
デフォルトの名無しさん
:2005/06/03(金) 15:31:41
>169
望みどおりのことができました。ありがとうございます。
177
名前:
164
:2005/06/03(金) 15:54:25
WM_DEVICECHANGE
このメッセージなんですが
> ハードウェアの取り外しダイアログで[停止]ボタンを押したときのことか?
のときにたしかにくるんですが,
当然,USBメモリをさしたときとか
CD をぬきさししたときにもきます.
このメッセージがきたときに
> ハードウェアの取り外しダイアログで[停止]ボタンを押したときのことか?
かどうかを判定し,どのドライヴ文字にわりあてられていた
記憶装置かを知ることはできますか?
178
名前:
デフォルトの名無しさん
:2005/06/03(金) 16:05:21
>>177
PlaformSDK or MSDN LibraryのWM_DEVICECHANGEの説明嫁
179
名前:
149
:2005/06/03(金) 16:29:04
>175
dです。
つまり二番目のビットマップをロードする前に
Deleteする必要ないってことですか?
180
名前:
デフォルトの名無しさん
:2005/06/03(金) 16:35:38
>>179
おそらくそのDeleteObject失敗してるよ。
戻り値調べてごらん。
DeleteObjectするときは、hDCを使わなくなったときに
別のhBmpをSelectしたときに返ってくるhBmpを使うか
しないとね。
hDCにSelectされた状態でDeleteするなって書いてなかったか?
181
名前:
180
:2005/06/03(金) 16:53:12
何か日本語変だけど、めんどくさいので察してくれたまい
182
名前:
デフォルトの名無しさん
:2005/06/03(金) 16:59:05
>>179
とりあえずおまいはMSDNをよーく読め
183
名前:
180
:2005/06/03(金) 17:09:39
実際にやってみたらDeleteObjectはTRUEを返して
かつ表示はできてたな、、、、
まあやっちゃいけないことではあるが
184
名前:
149
:2005/06/03(金) 17:18:27
>180
色々とdクス。
何となく理解できますた希ガス。
185
名前:
デフォルトの名無しさん
:2005/06/03(金) 19:52:24
すべての Windows API の関数プロトタイプを
プログラムから操作したいのですが、
API の宣言を、C 言語のヘッダーではなくて、
XML などの扱いやすい形式で入手することはできないでしょうか?
186
名前:
デフォルトの名無しさん
:2005/06/03(金) 19:55:18
フォルダ内のアイコンの表示位置を取得・設定することってできますか?
187
名前:
デフォルトの名無しさん
:2005/06/03(金) 19:58:54
>>186
マルチは芯でいいよ(´・ω・`)
188
名前:
デフォルトの名無しさん
:2005/06/03(金) 20:07:39
>>185
可能
189
名前:
デフォルトの名無しさん
:2005/06/03(金) 20:10:52
>>185
既に出来上がってる関数の宣言を弄って何をしようと言うのだ・・・
190
名前:
デフォルトの名無しさん
:2005/06/03(金) 20:17:45
>>189
とある言語で、Win32 API を使いたくて、
すべての宣言をコンバートしたい。
191
名前:
デフォルトの名無しさん
:2005/06/03(金) 21:39:03
昔のSDKはCSVで関数名とライブラリ名が
入ったファイルがついてたけど今は無いのかな
192
名前:
デフォルトの名無しさん
:2005/06/03(金) 21:41:06
関数名だけならBccのimpdefとかで取り出せばいいじゃないか。
193
名前:
デフォルトの名無しさん
:2005/06/03(金) 23:19:43
>>192
もちろん、プロトタイプが必要だよ。
構造体のサイズとかアラインメントとかも。
194
名前:
デフォルトの名無しさん
:2005/06/04(土) 01:59:14
とある言語ってなんだ?
195
名前:
デフォルトの名無しさん
:2005/06/04(土) 02:30:04
すいません、メインウィンドウのみで子ウィンドウを一つも
持たないアプリケーションがあってそのアプリケーション上で
ふつうにキー入力をする分には認識しますがプログラムで
メインウィンドウにWM_CHARを送っても認識していません。
恐らくそのアプリケーションでそういったことを対策してると思うのですが
どういったトリックを使ってるのでしょうか?教えてくださいお願いします
196
名前:
デフォルトの名無しさん
:2005/06/04(土) 02:33:21
ハァ?
WM_CHAR 以外でキー処理してるんじゃねーの?
197
名前:
デフォルトの名無しさん
:2005/06/04(土) 02:33:39
ちなみにそのアプリーションはdirectXを使っています。
明らかにメインウィンドウのほかにも別のコントロールが存在してると
思うのですがEnumChildWindowsでは検出できませんでした。
198
名前:
デフォルトの名無しさん
:2005/06/04(土) 02:34:08
>>196
馬鹿はすっこんでろボケ
199
名前:
デフォルトの名無しさん
:2005/06/04(土) 02:52:42
DirectX使ってるならWM_CHARでキー入力処理してないって推論で何も間違ってないと思うが。
煽り口調でレスされると中身とは無関係にとにかく煽り返さないと気が済まない人ですか?
200
名前:
デフォルトの名無しさん
:2005/06/04(土) 02:55:45
198はボクではありません
201
名前:
デフォルトの名無しさん
:2005/06/04(土) 03:59:15
200はボクではありません
202
名前:
ボク
:2005/06/04(土) 04:12:06
さて問題です。
ボクとは誰でしょうか?
203
名前:
デフォルトの名無しさん
:2005/06/04(土) 04:15:31
ボクではありません。
204
名前:
デフォルトの名無しさん
:2005/06/04(土) 05:23:14
急速にスレの質が低下してまいりました
205
名前:
デフォルトの名無しさん
:2005/06/04(土) 08:59:57
>>195
普通キー入力の処理はKEY_DOWN
DirectXアプリならDirectInput使ってる可能性もある
206
名前:
デフォルトの名無しさん
:2005/06/04(土) 09:32:17
ページテーブルを見たくてCR3を調べたのですが、変な値(1とか20hとか)しか出てきません。
この値は本当の値なのでしょうか、それとも例外ハンドラに引っかかってでたらめな値になっているのでしょうか?
ページテーブルを取得する方法があったら教えて下さい。
207
名前:
デフォルトの名無しさん
:2005/06/04(土) 10:05:32
ボクの振りしないでください。
208
名前:
デフォルトの名無しさん
:2005/06/04(土) 12:25:10
ボクボク、ボクだよ。
鯛焼き屋さんのおじさんに捕まっちゃった。
今まで盗った鯛焼き代払えって放してくれないんだよ。うぐぅ。
今すぐ口座に100万円振り込んでよ、
ねえ、アッコさん。
209
名前:
デフォルトの名無しさん
:2005/06/04(土) 13:13:59
現実と空想の区別がつかなくなった妄想オタが引っかかりそうだな。
210
名前:
デフォルトの名無しさん
:2005/06/04(土) 16:08:59
今あるCのプログラムでSTLを利用した機能をつけたいのですが、
C++で作成したdllやlibを、Cで作成したプログラムから使用することはできるのでしょうか?
(クラスを使用するとしてもライブラリの中だけで使用して、exportは行いません。)
211
名前:
デフォルトの名無しさん
:2005/06/04(土) 16:14:02
>>210
extern "C" でCリンケージを指定すれば、その関数は普通にCから使えるよ
212
名前:
デフォルトの名無しさん
:2005/06/04(土) 17:55:02
>>211
志村、逆! 逆!
213
名前:
デフォルトの名無しさん
:2005/06/04(土) 18:03:31
>>206
デバイスドライバ書いてください。
214
名前:
デフォルトの名無しさん
:2005/06/04(土) 19:51:49
>>212
逆じゃないだろ。
C++で作成するライブラリの外に見せる部分を
extern "C" {
}
で囲うのが正解。
Cからextern "C++"を使うのは邪道。
215
名前:
デフォルトの名無しさん
:2005/06/04(土) 19:53:42
>214
よく嫁よ
216
名前:
デフォルトの名無しさん
:2005/06/04(土) 20:08:49
Cの方を修正で ってことだよねぇ?
extern "C++"やるよりかは、C++の方直してやったほうが良いと思うに一票
ってかWinAPIと関係ねぇw
217
名前:
デフォルトの名無しさん
:2005/06/04(土) 20:13:25
C++でCリンケージが指定されてないんなら、ねーむあんまんぐる
された名前でCから呼ぶしかなくなるが、あれってCシンボルとして
つかっていい文字以外とかも使われてるからダメかもな。
試したことないからわからんが。
218
名前:
デフォルトの名無しさん
:2005/06/04(土) 20:54:49
>>210
のやりたいことって、dllにするほどのことなんだろうか。
単に、Cで書いたobjファイルとC++で書いたobjファイルをリンクすればいいだけのような気もするが。
219
名前:
デフォルトの名無しさん
:2005/06/04(土) 21:19:17
>>218
それは今回の問題にはあまり関係がないけどな
どっちみちリンケージ指定は必要だし
220
名前:
デフォルトの名無しさん
:2005/06/04(土) 22:09:36
>>218
!
221
名前:
デフォルトの名無しさん
:2005/06/04(土) 23:44:23
ファイルマッピングって、メモリに読み込むわけじゃ無いんですか?
222
名前:
デフォルトの名無しさん
:2005/06/05(日) 00:01:03
アクセスする段階ではメモリに読み込まれている。仮想メモリの応用だな。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_manamemo.asp
223
名前:
デフォルトの名無しさん
:2005/06/05(日) 05:01:07
ローカルエリア接続に割り当てられたネットワークデバイスに
ネットワークケーブル(LANケーブル)が接続されているかどうかを検出するAPIってありますか?
224
名前:
デフォルトの名無しさん
:2005/06/05(日) 05:52:36
無い
225
名前:
デフォルトの名無しさん
:2005/06/05(日) 05:52:52
>>223
あります。
226
名前:
デフォルトの名無しさん
:2005/06/05(日) 09:42:08
>>225
あるというなら提示してみろ。
227
名前:
デフォルトの名無しさん
:2005/06/05(日) 09:51:51
ip helper apiにあるんでねーの?
228
名前:
デフォルトの名無しさん
:2005/06/05(日) 11:14:08
>>223
もちろんあるが、今、出先だから思い出せない。
ところで対象OSは何?
229
名前:
デフォルトの名無しさん
:2005/06/05(日) 13:27:35
ありますん
230
名前:
デフォルトの名無しさん
:2005/06/05(日) 14:14:41
有無だけ聞いているんだから有るだけでいいよ
231
名前:
デフォルトの名無しさん
:2005/06/05(日) 14:43:22
昔はヘルプファイルとかCSVファイルとかにAPIの一覧とか解説がビッシリあったのに
最近は凄く説明がいい加減になっているのは何故ですか?
もうAPIという物を無くしたいのかなM$は('A`)
232
名前:
デフォルトの名無しさん
:2005/06/05(日) 14:54:20
昔はなかったサンプルコードが増えてる
233
名前:
223
:2005/06/05(日) 16:55:17
GetIfEntry()でネットワークケーブルの接続されているか検出できました。
MibIfRowのdwOperStatusで5だったら接続されてて0だったら切断されてるっぽいです。
それ以外のステータスがよくわからない・・・orz
234
名前:
デフォルトの名無しさん
:2005/06/05(日) 17:10:14
>>231
Blogや掲示板が増えている。
235
名前:
デフォルトの名無しさん
:2005/06/05(日) 17:56:49
>>231
日本語ドキュメント作るのマンドクセ(M$談)
236
名前:
デフォルトの名無しさん
:2005/06/05(日) 19:14:36
GetWindowModuleFileName()って役立たず?
237
名前:
デフォルトの名無しさん
:2005/06/05(日) 19:25:15
うん
238
名前:
デフォルトの名無しさん
:2005/06/05(日) 19:31:49
オマエのチソコと同じだなww
239
名前:
デフォルトの名無しさん
:2005/06/05(日) 19:32:32
Windows XP上で、FDからプログラムを立ち上げた場合、プログラム中でスレッドを作成
(CreateThread()や_beginthreadex()を実行)するたびにディスクへのアクセスを行うようです。
おそらく、ライブラリを検索しているんだと思うのですが(違っていたらご指摘ください)、
この(FDへの)ディスクアクセスを抑制する方法がありましたらご教示ください。
240
名前:
デフォルトの名無しさん
:2005/06/05(日) 19:33:56
スマン、知らん
241
名前:
デフォルトの名無しさん
:2005/06/05(日) 19:34:35
SetCurrentDirectory
242
名前:
デフォルトの名無しさん
:2005/06/05(日) 19:50:27
>>241
ありがとうございます。早速試してみたのですが、残念ながらだめでした。
どうやらカレントディレクトリを調べているというわけではなさそうです。
ちなみに、リストビューのアイテムを最初にクリックしたときも
>>239
と同じ現象が見られるんですよね…。
243
名前:
デフォルトの名無しさん
:2005/06/05(日) 21:08:20
CDみたいなリムーバブルメディアから起動したときのための
何かがあった気がする
244
名前:
239
:2005/06/05(日) 22:48:36
>>243
どうもありがとうございます。
で、ヒントをもとに探してみたのですがやっぱり分かりませんでした_| ̄|○
245
名前:
デフォルトの名無しさん
:2005/06/06(月) 00:30:36
>>243
たまたまAdvancedWindowsのメモリ管理のページ読んでたら、
それ関連の記述があった。リンク時に/SWAPRUNなんとかってオプション付けると、
実行時にメモリ上に実行イメージ全てを読み込むらしい。
98や2000だと、FDから実行した場合は標準で/SWAPRUNな動作になるらしいんだが、
それだと
>>239
みたいな動作にはならなさそうだよな。標準動作が変わったのかね?
246
名前:
デフォルトの名無しさん
:2005/06/06(月) 01:48:17
.exeのあるディレクトリを探索する何かが実行されてんだろうか
よそうだけど、SWAPRUNが影響するのは、
.exeとそれに暗黙にリンクされたdllだけだろうし・・・
247
名前:
デフォルトの名無しさん
:2005/06/06(月) 02:20:24
LoadLibraryとかが呼ばれるとexeのあるフォルダから検索される。
248
名前:
239
:2005/06/06(月) 02:36:47
>>245
Advanced Windows を持っているのにそのあたりは読み飛ばしていました_| ̄|○
>>243
さんがおっしゃっているのは、どうやら /SWAPRUN のことみたいですね。
試していなかったのですが、Windows 98 と 2000 ではFDへのアクセスは発生しないようです。
しかし、リンク時に /SWAPRUN を付けてもXPだとやはりFDへのアクセスが発生してしまいます。
>>246
>>247
そうですね…「.exeのあるフォルダ」の情報を上書きするAPIでもあると
一気に解決するのですが、それも見つからないので困ってしまいます。
249
名前:
デフォルトの名無しさん
:2005/06/06(月) 12:37:02
こんにちは
ユーザーに色を選ばせる様なポップアップ
またはダイアログを表示したいんだけど、
VBのプロパティのBackColorで出てくるような
ポップアップとかChooseFontみたいな便利な
関数ってありますか?
やさしいお兄さん教えて
WinXPpro、VC++6.0
250
名前:
デフォルトの名無しさん
:2005/06/06(月) 13:27:54
ChooseColor
■過去ログ置き場に戻る■
1-
次250
最新50
DAT2HTML
0.33f Converted.