■過去ログ置き場に戻る■ 1- 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API 質問箱 Build12
1 名前:SDK :03/06/19 23:40
.NET Framework!? 知らんな!!
そんなヤル気のあるネィティブプログラマ集まれ!
スレ立てるまでもない、Win32APIについての質問はこちらへどうぞ。
やさしい お兄ちゃん 達が答えてくれるかも。
でも、質問する前に検索ぐらい汁!!
過去スレ・参考は>>2 ぐらい...

2 名前:SDK :03/06/19 23:41
● MSDN Online
http://www.microsoft.com/japan/msdn/default.asp
● 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/index.html

● 過去スレ
Win32API 質問箱 Build11
http://pc2.2ch.net/test/read.cgi/tech/1052651750/
Win32API 質問箱 Build10
http://pc2.2ch.net/test/read.cgi/tech/1047819779/
Win32API 質問箱 Build9
http://pc2.2ch.net/test/read.cgi/tech/1044929160/
Win32API 質問箱 Build8
http://pc2.2ch.net/test/read.cgi/tech/1040964626/
Win32API 質問箱 Build7
http://pc3.2ch.net/test/read.cgi/tech/1036654893/
Win32API 質問箱 Build6
http://pc3.2ch.net/test/read.cgi/tech/1032548635/
Win32API 質問箱 Build5
http://pc3.2ch.net/test/read.cgi/tech/1028580373/
Win32API 質問箱 Build4
http://pc3.2ch.net/test/read.cgi/tech/1023361418/
Win32API 質問箱 Build3
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API【2】
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API 質問箱
http://pc.2ch.net/tech/kako/991/991576947.html


3 名前:デフォルトの名無しさん :03/06/19 23:45


4 名前:デフォルトの名無しさん :03/06/19 23:46


5 名前:Bフレッツァー :03/06/19 23:46
MSDN Online巡回して根こそぎローカルにダウンロードする方法教えて。


6 名前:デフォルトの名無しさん :03/06/19 23:54
貧乏人は大変だな(w

7 名前:デフォルトの名無しさん :03/06/20 00:08
うpロダ巡回して根こそぎローカルにダウンロードする方法教えて。

8 名前:デフォルトの名無しさん :03/06/20 01:16
>>7
Win32 APIを使えば出来ます。

9 名前:デフォルトの名無しさん :03/06/20 04:07
がばっりまーーーーす

10 名前:デフォルトの名無しさん :03/06/21 12:09
もまいら暑いですが元気ですか!!
おせてくさい。m(__)m
VBとかDelphiのコンボボックスをSpy++で見ると
独自のウィンドウクラスを使用していますが、
コンボのドロップダウンの部分とかはOS実装だと
思うので"ComboBox"を使用しないと実現できないと
僕は思うのですが(また独自実装だとOSがEditとか
ComboBoxとかのコモンクラスを提供する意味がない)
これってどうやっているのでしょう??

11 名前:デフォルトの名無しさん :03/06/21 12:19
>>10
実は俺も知りたい。
コンボボックスのドロップダウンや、ポップアップメニューは、
ポップアップウィンドウなのに、表示されてもオーナーウィンドウのキャプションバーが青いままなんだよなぁ。
自前のウィンドウクラスでやろうとしてもなかなかうまく行かない。

12 名前:デフォルトの名無しさん :03/06/21 13:04
クリックしてもアクティブにならないようにするだけじゃないの?

13 名前:デフォルトの名無しさん :03/06/21 13:49
他のウィンドウの遠隔操作をするのに
クラス名を指定してマウスの左クリックを送信したいのですが
WIN32APIはに関しては初心者のためあまりわかりません。
今までは、SetForegroundWindowを送った後にTABキーとエンターキーだけで左クリックの
代わりをしていたのですがそれでは動作が不安定がちになり困っています。
だれか教えていただけないでしょうか?
使用している言語はHSPです

14 名前:デフォルトの名無しさん :03/06/21 14:53
>>13
WIN32APIでボタン押すなら
PostMessage(hwnd,WM_LBUTTONDOWN,0,0)
これでだめならHSPスレで

15 名前:デフォルトの名無しさん :03/06/21 15:05
>10
独自のウィンドウクラスって言ったってクラス名だけだろ。
ドロップダウン部のクラス名は変わってなさそうだからサブクラスされていると思われ。

16 名前:デフォルトの名無しさん :03/06/21 16:24
mciSendString 使って、あるスレッドでオープンした曲を
他のスレッドで操作することはできないのかな?
ちょっとやってみたかんじ、うまくいかないんだけど。

17 名前:デフォルトの名無しさん :03/06/21 17:21
>>14
ありがとうございます。
今から試してみたいと思います

18 名前:デフォルトの名無しさん :03/06/21 18:31
以下のコードを音声を再生しながら、
ループさせると音声にノイズが入ります。
原因がまったくわからず、困ってます。
みなさんの、お力を貸してください。

OS:Windows2000pro
SOUND:Creative Sound Blaster Live!
GRAPHIC:Matrox Parhelia 128MB


19 名前:デフォルトの名無しさん :03/06/21 18:32
つづき
-- source --

BITMAPINFO bi;
HBITMAP bitmap, save;
HDC dc,memdc;
LPBYTE bits;
int width=640,height=480;
bits = malloc(width*height*4);
bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bi.bmiHeader.biWidth = width;
bi.bmiHeader.biHeight = height;
bi.bmiHeader.biPlanes = 1;
bi.bmiHeader.biBitCount = 32;
bi.bmiHeader.biCompression = BI_RGB;
bi.bmiHeader.biSizeImage = width*height*4;
bi.bmiHeader.biXPelsPerMeter = 0;
bi.bmiHeader.biYPelsPerMeter = 0;
bi.bmiHeader.biClrUsed = 0;
bi.bmiHeader.biClrImportant = 0;
bi.bmiColors->rgbBlue = 0;
bi.bmiColors->rgbGreen = 0;
bi.bmiColors->rgbRed = 0;
bi.bmiColors->rgbReserved = 0;


20 名前:デフォルトの名無しさん :03/06/21 18:33
BITMAPINFO bi;
HBITMAP bitmap, save;
HDC dc,memdc;
LPBYTE bits;
int width=640,height=480;
bits = malloc(width*height*4);
bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bi.bmiHeader.biWidth = width;
bi.bmiHeader.biHeight = height;
bi.bmiHeader.biPlanes = 1;
bi.bmiHeader.biBitCount = 32;
bi.bmiHeader.biCompression = BI_RGB;
bi.bmiHeader.biSizeImage = width*height*4;
bi.bmiHeader.biXPelsPerMeter = 0;
bi.bmiHeader.biYPelsPerMeter = 0;
bi.bmiHeader.biClrUsed = 0;
bi.bmiHeader.biClrImportant = 0;
bi.bmiColors->rgbBlue = 0;
bi.bmiColors->rgbGreen = 0;
bi.bmiColors->rgbRed = 0;
bi.bmiColors->rgbReserved = 0;

21 名前:デフォルトの名無しさん :03/06/21 18:33
dc = GetDC(NULL);
memdc = CreateCompatibleDC(dc);
bitmap = CreateCompatibleBitmap(memdc,width,height);
save = SelectObject(memdc,bitmap);
BitBlt(memdc,0,0,width,height,dc,0,0,SRCCOPY);
SelectObject(memdc,save);
DeleteDC(memdc);
GetDIBits(dc,bitmap,0,height,bits,&bi,DIB_RGB_COLORS);
ReleaseDC(NULL,dc);
DeleteObject( bitmap );
free(bits);

>>19は、間違いました。無視してください。

22 名前:デフォルトの名無しさん :03/06/21 18:37
>>18-21
そのコードがなければ正しく再生されるんだな?
って事はそのコードの負荷が多すぎるってことじゃね?
ループ内の
bits = malloc(width*height*4);
memdc = CreateCompatibleDC(dc);
bitmap = CreateCompatibleBitmap(memdc,width,height);
は外に持ってった方がいいんじゃ無いか?


23 名前:デフォルトの名無しさん :03/06/21 22:37
省電モードでディスプレイの電源がオフになっているかをしらべるには
どのAPIをつかえば良いのですか?

24 名前:デフォルトの名無しさん :03/06/22 03:51
>>22
ありがとうございます。
そうです。このコード以外は問題はありません。
普通に何もないWinMainに、このコードを書いても
ノイズがのるので。ノイズは主に
>BitBlt(memdc,0,0,width,height,dc,0,0,SRCCOPY);

>GetDIBits(dc,bitmap,0,height,bits,&bi,DIB_RGB_COLORS);
でノイズが発生しているっぽいです。
(ここをコメントアウトするとノイズは無くなる)
ノイズは「ブッ」って感じの音でループすると「ブッツブッツ・・・」
という感じになります。

他の環境で、この問題が起こらなければ「自分の環境の問題」と
して、この問題は無かった事にしようと思うのですが・・・。


25 名前:デフォルトの名無しさん :03/06/22 10:42
「自分の環境の問題」でも、もしかしたら「他でも起こる問題」かもしれないので、やっぱり対処しておいた方がいい。
問題が起きたときに、「お前のところ出てるのに(ry」とかいわれると困る。

26 名前:デフォルトの名無しさん :03/06/22 12:22
BitBltで発生してるのに対処のしようがあるの?

27 名前:デフォルトの名無しさん :03/06/22 15:38
質問です。フルパス名と相対パス名で処理を分岐させたいのですが
以下のような判別方法で良いでしょうか?

(判別方法)
・先頭文字が'\'か'/'ならフルパス名。文字列が':'を含むならフルパス名。

(例)
C:\A\B\C\SAMPLE.TXT / \A\B\C\SAMPLE.TXT →フルパス名
B\C\SAMPLE.TXT / SAMPLE.TXT → 相対パス名

もしかして簡単に調べるAPIがあるのでしょうか…?
よろしくお願いします。

28 名前:デフォルトの名無しさん :03/06/22 15:41
2文字目が「:」

29 名前:27 :03/06/22 15:51
>>28
ご教示ありがとうございます。
なるほど…、ドライブ名は1文字固定でした。

・先頭文字が'\'か'/'。2文字目が':'ならフルパス名。

これでいいのかな…。

30 名前:デフォルトの名無しさん :03/06/22 16:02
ネトワークのパスは?
\\client\SharedDoc

31 名前:デフォルトの名無しさん :03/06/22 16:09
>>27
PathIsRelative()

パス関係は自前でやろうとすると
ttp://www.ipa.go.jp/security/awareness/vendor/programming/b08_01_main.html
とか見て鬱になる。UNCパスもあるし。

32 名前:27 :03/06/22 16:25
>>30
あ…、ネットワークドライブのことを考えていませんでした。
なかなか一筋縄ではいきませんね。

>>31
URL先読ませていただきました。これは本当に複雑ですね…(絶句)…。
判定するAPIがあるんですね。よかった…。(汗)
このAPIに従いたいと思います。

皆様にご教示いただいて、助かりました。
ありがとうございます。

33 名前:デフォルトの名無しさん :03/06/22 16:59
HSPを使っているのですがGetForegroundWindowで
ハンドルを取得してそのハンドルから子ハンドルを
取得取得しようとしているのですがうまくいきません
一応ネットなどで探してみたのですがHSPでの子ハンドル
の取得方法が書いてあるページが無くて困っています
だれかこんな私に力を貸していただけないでしょうか?

↓ソースです

34 名前:1/2 :03/06/22 17:00
#include "llmod.as"


sdim buf,1000;      タイトルバーの文字列を入れる変数
sdim name,100
alloc hwnd_buf,256

screen 0,240,100:gsel 0,2
font "MS ゴシック",12,16

repeat:wait 1

dllproc "GetForegroundWindow",prm,1,D_USER;最前面ウィンドウのハンドル取得
hwnd=dllret;変数dllretにハンドルが返る

getptr ptrm,buf
dim prm,3

prm.0=hwnd
prm.1=ptrm
prm.2=1000
dllproc "GetWindowTextA",prm,3,D_USER;ウィンドウのタイトル取得
hwnd_buf=buf

getptr cls_name,name
prm.0=hwnd
prm.1=cls_name

prm.2=100
dllproc "GetClassNameA",prm,3,D_USER


35 名前:2/2 :03/06/22 17:02
prm.0=hwnd
prm.1=GW_CHILD
dllproc "GetWindow",prm,2,D_USER
child_hwnd=dllret

getptr perm,buf
dim prm,3
prm.0=child_hwnd
prm.1=perm
prm.2=1000
dllproc "GetWindowTextA",prm,3,D_USER;ウィンドウのタイトル取得
child_buf=buf

redraw 0
color 255,255,255
boxf:pos 0,0
color 0,0,0

mes hwnd_buf
mes " HWND:"+hwnd+"
mes " Class:"+name
mes ""
mes " CHILD_HWND:"+child_hwnd
mes " CHILD_buf:"+child_buf
redraw 1
loop
stop


36 名前:デフォルトの名無しさん :03/06/22 17:07
このスレでHSP絡みってあんまり見ないな…

37 名前:デフォルトの名無しさん :03/06/22 17:27
まぁ、HSPでAPIをいじってる人ってごく一部だと思うから…

38 名前:デフォルトの名無しさん :03/06/22 18:19
>>24
waveOut系の処理がウィンドウ任せなら優先順位高めのスレッドに擦り付けてみれ。

39 名前:デフォルトの名無しさん :03/06/22 18:32
HSP読めん

40 名前:デフォルトの名無しさん :03/06/22 21:31
>>33 その取得したフォアグラウンドウィンドウが子ウィンドウを持っていない罠とか

41 名前:33 :03/06/22 21:57
>>40
そうでもないんですよ・・。
上のソースをexeにしてみたので誰か確認おねがいします。
http://proxy.ymdb.yahoofs.jp/users/76095b11/bc/sample.exe.exe?bcY5gR_ASpwWU7dH

何度もすみません。

42 名前:お〜い :03/06/22 21:59
ダウンロードするとき時計みたいのがでるんですけど・・・
なんででしょう?

43 名前:33 :03/06/22 22:10
>>42
私のことでしょうか?
もしそうでしたら直接リンクをクリックするとYahoo側で拒否されるので
アドレスをブラウザにコピペしてダウンロードしてみてください。

44 名前:デフォルトの名無しさん :03/06/22 23:48
>>33

#define GW_CHILD 5

が必要。

45 名前:デフォルトの名無しさん :03/06/22 23:59
sample.exeってファイル名を見るとウイルスを連想してしまうな(w

46 名前:デフォルトの名無しさん :03/06/23 00:00
>>33
ところで MSDNには
|すべての子ウィンドウを取得する場合、EnumChildWindows 関数を使った方が
|GetWindow 関数をループ処理で呼び出すよりも信頼性の高い結果が得られます。
|GetWindow 関数を呼び出してウィンドウを列挙すると、無限ループに陥ったり、
|すでに破棄されているウィンドウのハンドルを参照する危険性がでてきます。
ってあるけど、いいのかな?

47 名前:デフォルトの名無しさん :03/06/23 01:49
HSPでコールバック関数って使えるの?

48 名前:デフォルトの名無しさん :03/06/23 02:07
配列変数にマシンコードを書いて、配列のアドレスを
関数ポインタとして渡すという暴挙を使います。

49 名前:デフォルトの名無しさん :03/06/23 02:54
ちょい質問。
1.マルチCPUにおいて、CPU負荷を分散させるには、
 A.別スレッドにする
 B.別プロセスにする
2.デュアルCPUにおいて、軽い処理二つと重い処理二つの計4つをほぼ同時に開始した時、
 片方のCPUに重い処理二つが集中するのを防ぐ方法は?

APIとはちと違う質問だと思うが、知ってる奴いたら教えてくれ。


50 名前:デフォルトの名無しさん :03/06/23 06:21
CPUの割り当てを制御するAPIがあったような
えーとSetThreadAffinityMask

51 名前:デフォルトの名無しさん :03/06/23 06:25
>>49
>1
別プロセスなら確実かと。スレッドの場合は
共有メモリの関係でキャッシュに気をつけないと
CPUに無駄に負荷がかかりそう。
>2
処理をある程度小さく分割してスレッド数を監視しながら
並列に処理するように工夫するくらいしか思いつかないですが・・。

その手の方面ではインテルが並列処理のためのCコンパイラを
開発していたような。

52 名前:14 :03/06/23 15:22
>>33
46が言うようにGetWindowはあんまり当てにならないから
EnumChildWindowsかFindWindowExで。
あとAPI使うようになったらCやC++に変えたほうがいいよ。

お節介スマソ

53 名前:デフォルトの名無しさん :03/06/23 16:50
駄質問スマソ、

char *buffer;

と宣言したポインタに長い文字列を入れました。

このbufferの10文字目から20文字目までを別の変数に入れたい場合、
どのようにすればよいのでしょうか?

54 名前:デフォルトの名無しさん :03/06/23 16:51
>>53
memcpyでいいのでは...

55 名前:デフォルトの名無しさん :03/06/23 16:53
>>53
まずCの勉強をしろ。

56 名前:デフォルトの名無しさん :03/06/23 16:58
スレてきにはCopyMemoryだな

57 名前:デフォルトの名無しさん :03/06/23 16:59
ありがとう!逝っちゃってきます!

58 名前:デフォルトの名無しさん :03/06/23 17:16
lstrcpyn

ここいらのAPIをいまだに使ってるヤシっているのかな?

59 名前:デフォルトの名無しさん :03/06/23 17:27
>>58
何が言いたいのかわからん

60 名前:デフォルトの名無しさん :03/06/23 17:47
Cのライブラリじゃなく、Win APIの文字列操作関数を使っている
ヤシはいるか、という話なんだが、わかりにくかったか?

61 名前:デフォルトの名無しさん :03/06/23 17:54
ちっちゃいプログラムを作るために使うかもしれん。

62 名前:デフォルトの名無しさん :03/06/23 17:58
「いまだに」の意味が。別に流行で使い分けるものでもなかろうに。

63 名前:デフォルトの名無しさん :03/06/23 18:26
フックdll使うときは可能な限りMFCもRTも使わないようにしてるな。


64 名前:33 :03/06/23 19:18
>>44 >>46
アドバイスありがとうございました。
GW_CHILD 5を定義したらうまく取得できました。

>>52
API初心者なもので、EnumChildWindows関数はちょっと私にはちょっと難しそうです
HSPばかり使っていると将来役に立ちそうではないので、将来的にはC,C++に変えたいと思っています

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


65 名前:デフォルトの名無しさん :03/06/23 20:26
>>64
将来仕事に使うならともかく、趣味の範囲ならHSPで十分だと思うが…
まぁ、人それぞれだし(HSPが理解不能で逃げてきただめ人間な折れ)

66 名前:r :03/06/23 22:24
タイマの使い方がわかんねぇ!誰か教えてくれ!
使ってるのは VC++6.0だ。

俺の作ったプログラムに、こんな記述をしてみたんだ。
void CALLBACK Hoge( UINT timerID, UINT uMsg, DWORD_PTR dwUser, DWORD dwParam1, DWORD dwParam2 ) {
    MessageBox( 0, "(゚д゚)ウマー", "ウマー", MB_OK );
}
で、画面に張ったあるボタンのイベントリスナ(←?)にこんな記述を含めた。
timeSetEvent( 5 * 60 * 1000, 100, Hoge, 0, TIME_ONESHOT );


これをWinXPで試したところ、もうばっちり。
そのボタンを押してきっかり5分後にウマーダイアログが表示された。

が!そのバイナリをWin98(たぶんSE以前)にもってって動かしたら、
なんとボタンを押してから37秒後にウマーダイアログが表示されやがるんだ!
なんでだ!

「コンテクストによって、タイマ値をミリ秒単位で与えたり、0.12ミリ秒単位で与えたり」すんのか?
とも思ったが、VC++の、[F1]で開くドキュメント(MSDN?)で見ても
「timeSetEventの第一引数は、ミリ秒だよ」としか書いてねぇ!
どうすんだ!おい!timerSetEvent!!!

67 名前:デフォルトの名無しさん :03/06/23 22:29
>>66
タイマーの精度によるんじゃない?

68 名前:デフォルトの名無しさん :03/06/23 22:39
TLS を自前で実装しようとしとるんだども、カレントスレッドの識別子を高速に取得する方法がわかんねべ。
技術的にはスタックさの一番奥にでも入れておけばいんはずだがら
きっと簡単に取れるはずだべ?
いい方法はないっぺか?

69 名前:デフォルトの名無しさん :03/06/23 22:40
精度とかいうレベルじゃないような・・

70 名前:68 :03/06/23 22:44
# Win32 的には,fs レジスタがスレッド固有領域のセレクタです。
あぎゃ、これか?これでええのんか?
で、これをお行儀よく取得するにはどうしたらいいんじゃ?

71 名前:デフォルトの名無しさん :03/06/23 23:05
>>66
5*60*10000%65536 = 37856
というわけで、きっと16ビットに切り捨てられてるよ。

72 名前:デフォルトの名無しさん :03/06/23 23:06
> 66

5 * 60 * 1000
= 300000
= 0x493E0

( 0x493E0 & 0xffff )
= 0x93E0
= 37856
≒ 37 sec

UINT が 16 bits 扱い?


73 名前:r :03/06/23 23:18
71-72
そうだったのかあああ!
ありがとう!
二人の永遠の幸せをお祈りします♪

74 名前:デフォルトの名無しさん :03/06/24 00:03
つかなんで16bitなんだろ・・・すげー気になる

75 名前:デフォルトの名無しさん :03/06/24 00:07
よー分からんがtimerSetEventは使うのやめといた方がいい。


76 名前:デフォルトの名無しさん :03/06/24 00:26
じつはWin3.1愛用者だたりとかw

77 名前:r :03/06/24 00:32
>>75
しかし、SetTimerはウィンドウハンドルが必要だし、
WaitForSingleObjectとかで待つのは、
本質的に「イベントの擦違い」の危険を孕んでしまうし、
Sleepだと途中でとめるの難しいし....

つーか、

なんでたかだかタイマごときでこんなに苦労するんだ!

78 名前:デフォルトの名無しさん :03/06/24 00:44
>>77
> しかし、SetTimerはウィンドウハンドルが必要だし、

別にウィンドウハンドルは必須じゃないよ


79 名前:r/77 :03/06/24 01:08
>>78
まじですか?
なんか漏れ、そのへん誤解してるな。
もいっかいドキュメントよんでみます。サンキュ

80 名前:デフォルトの名無しさん :03/06/24 07:28
>>74
Win9xのマルチメディアサブシステムは16ビット側に
実装があるからだと思われ
>>78
ウィンドウハンドルはいらないけど
DispatchMessageは必要という罠が

81 名前:デフォルトの名無しさん :03/06/24 21:13
>>80
>>DispatchMessageは必要という罠が

SetTimer()の4つ目の引数を指定するだけじゃだめなの?


82 名前:デフォルトの名無しさん :03/06/24 22:06
マルチメディアタイマを複数起動させた場合、
タイマのスケジューリングはどうなってんのか
教えてください。


タイマ1:1ms
タイマ2:10ms
タイマ3:100ms(ところどころでスリープする)

OS=Win2K


83 名前:デフォルトの名無しさん :03/06/24 22:19
WinMain関数の場合、
return msg.wParam;
の代わりに
return TRUE;
でもいいんですか?

84 名前:_ :03/06/24 22:27
http://homepage.mac.com/hiroyuki44/

85 名前:デフォルトの名無しさん :03/06/24 22:31
>>81
SetTimerの場合たとえコールバック関数を使っても
メッセージポンプを回してないと呼ばれない。詳しくはこちら
http://www.microsoft.com/msj/0397/hood/hood0397.aspx
(timeSetEventの場合はコールバックが別スレッドなので呼ばれる)

86 名前:デフォルトの名無しさん :03/06/24 22:37
>>83
たぶんだめぽ(´・ω・`)
手持ちの本っていうか「プログラミングWindows」によると
PostQuitMessage(0)でWM_QUITを発生させてなんやらかんやらで
return msg.wParamは終了時に0を返してアプリを終了させる
でも、TRUEは0以外って規定してあるから…
そんな感じ


87 名前:デフォルトの名無しさん :03/06/24 22:46
>>86
ありがとう
その本かって見ます

88 名前:デフォルトの名無しさん :03/06/24 22:52
>>86
> return msg.wParamは終了時に0を返してアプリを終了させる

そこはPostQuitMessageに渡した値が入ってるんでは?

んで、結局終了コードを返すわけだから適当な値なら何でもいいってことかな。
正常終了なら0を返しなさいってことだろう。

だから、正常終了の意味でTRUEはダメだが。

89 名前:デフォルトの名無しさん :03/06/24 23:38
>>88
たしかに渡した数がreturnされるけど0以外みたことないっすよ

>>87
この本たかいよ(つд`)
ちなみに、書いてたのはP96だから参考までに

90 名前:デフォルトの名無しさん :03/06/24 23:49
>>89
確かに高いよなー
漏れ上官しか持ってないし

91 名前:87 :03/06/25 08:36
やっぱり高いのか
書店で見かけてスルー下記憶があるからなー(つд`)


92 名前:デフォルトの名無しさん :03/06/25 10:32
昔は終了コードでバッチ内分岐とかやったけど、今はどうでもいいのかもね。


93 名前:82 :03/06/25 12:01
TRACE して分かりました。
一晩寝て頭がリフレッシュされました。

失礼しました。


94 名前:13 :03/06/25 14:50
>>13でWIN32APIで左クリックの送信方法を質問したものですが
ひとつ問題が発生してしまいました。
クリックイベントは送信されているのですが
送信した後に別なウィンドウを開いてしまうと(ファイルを開くなど)
スクリプトが途中で止まってしまい、なかなか次の作業をしてくれません
何が悪いのでしょうか?(ちゃんとWM_LBUTTONDOWNも送信しています。)

95 名前:デフォルトの名無しさん :03/06/25 20:01
ネットワークの検索ダイアログを表示したいのですが
次のコードで表示されません。

HMODULE lib;
lib = LoadLibrary("shell32.dll");

typedef BOOL (WINAPI SHFINDCOMPUTER)(LPCITEMIDLIST, LPCITEMIDLIST);
SHFINDCOMPUTER *SHFindComputer;
SHFindComputer = (SHFINDCOMPUTER*)GetProcAddress(lib, (LPCSTR)91);

SHFindComputer(0, 0);

ttp://soramimi-i.com/my2/vb/02/020113.htm
にあるVBコードだと表示されるのですが。

環境は
Windows2000/IE6/VC6
です。
よろしくおねがいします。


96 名前:DQN :03/06/25 20:40
switch(msg){
case WM_TIMER:
if(上矢印が押されている)処理1;
break;

(省略)
}

WM_TIMERメッセージが呼び出された時に特定のキーが押されているか
どうかを判定するにはどうすればいいか教えて下さい

97 名前:デフォルトの名無しさん :03/06/25 20:52
>>96
たぶん、

case ボタン押した:
if(右おした)
key=KEYNO_MIGI:
break;

case WM_TIMER:
if(key==KEYNO_MIGI) 処理1;
break;

という感じでは?
最近winプログラムやってないのでうろ覚えだが
最近といっても2年ぐらいだが

98 名前:13 :03/06/25 20:55
>>94
もう少し簡単に説明しますと

ファイルをを開くボタンをWM_LBUTTONDOWNで送信
               ↓
     ファイルを開くウィンドウが開く
               ↓
     WM_LBUTTONDUPでボタンを戻す
               ↓
しかし、そのままの状態で次の処理に進まない

という現象がおきてしまいます。これはHSPが悪いんでしょうか?
それとも命令の仕方が何か足りないのでしょうか?

99 名前:デフォルトの名無しさん :03/06/25 21:21
>>96
GetKeyState関数の引数に↑の仮想キーコード"VK_UP"を
セットして戻り値を調べる。MSDNでこのあたりのAPIを調べれば
他にもいろいろと調べる方法はあるはず。









ひょっとしてネタなのか?

100 名前:デフォルトの名無しさん :03/06/25 21:28
100get's

101 名前:デフォルトの名無しさん :03/06/25 23:10
>>99
なんでもネタというのはだめだよ


ネタか?

102 名前:DQN :03/06/25 23:30
>99
上手くいかないです
以下のようにしたのですが、一度押したキーを離しても
if(r!=0)*x=*x+2;が実行されてしまいます


void p_mov(int *x,int *y){
short r;

r=GetKeyState(VK_RIGHT);
if(r!=0)*x=*x+2;
}


(略)

case WM_TIMER:
p_mov(&x,&y);
InvalidateRect(hw,NULL,TRUE);
break;
(略)

103 名前:DQN :03/06/25 23:38
>97
それだといちど右矢印キーを押したら
WM_TIMERメッセージが来るたびに処理1をする形になると思うのですが
私がやりたいのは、WM_TIMERメッセージが来た時に
キーが押されていれば処理1をしてキーが押されていなければ
処理1をしないようにしたいのです。
分かりにくくて申し訳ありません。

104 名前:デフォルトの名無しさん :03/06/25 23:39
if (r < 0)
だろ

105 名前:デフォルトの名無しさん :03/06/25 23:40
そんなときはDirectXだ!!

106 名前:デフォルトの名無しさん :03/06/25 23:40
>>102
r!=0って・・・。

戻り値くらいちゃんと調べろよ。

107 名前:デフォルトの名無しさん :03/06/25 23:48
>>102
GetKeyState()はメッセージキューにKeyDownがたまってしまうからね(多分)

if(::GetAsyncKeyState(VK_SHIFT) & 0x8000 )
 //キーが押されている
else
 //キーが押されていない

で。

108 名前:デフォルトの名無しさん :03/06/25 23:49
あ VK_SHIFT じゃなかった。

109 名前:DQN :03/06/25 23:53
>104,>106
上手くいきました、ありがとうございます

教科書をみたら(r<0)の形で書いてあったのですが
「最上位ビットが1なら指定されたキーが押されている、0なら押されていない」
という説明が教科書に書いてあったので、
0じゃなければ押されている状態だと思って>102のように書いたのです。
なんかすごい勘違いしてたみたいです。

110 名前:デフォルトの名無しさん :03/06/25 23:53
しかも
× GetKeyState()はメッセージキューにKeyDownがたまってしまう
○ GetKeyState()はメッセージキューにたまったKeyDownを見る

酔ってる漏れ。

111 名前:デフォルトの名無しさん :03/06/26 00:16
下のような感じでフォルダを選択するダイアログを
SHBrowseForFolder()で出したいのですが、
C言語で書いていると、
pMalloc->Release();
がコンパイルエラーで通ってくれません。
C++を使わずにCで代用するための方法がありましたらご教授いただけないでしょうか?

LPMALLOC pMalloc = NULL;

SHGetMalloc(&pMalloc);
pidlSelected = SHBrowseForFolder(&bi);
pMalloc->Free(pidlRoot);
pMalloc->Release();

112 名前:デフォルトの名無しさん :03/06/26 00:21
■■■かわいそうな「ゲーム君」を2ちゃんの力でトップにしよう!■■■

HSPプログラムコンテスト2003オンライン投票           
http://www.onionsoft.net/hsp/contest2003/entryn1.html
                       
HSPプログラムコンテスト2003に一番乗りで出展したものの          
Windowsに標準でついてくるゲームを手軽に起動できるという(というかただのショートカットつめあわせ)
しょーもないプログラムでたたかれまくっているプログラミング暦3年(!)の高校生の
作品、ゲーム君をみんなの力で一位にしよう。
【【【 投票方法 】】】                                                
http://www.onionsoft.net/hsp/contest2003/entryn1.html の一番下、エントリーNo8の「ゲーム君」
評価を「A」で選んでコメントを記入して「送信」(コメントいれるとなおよし)           
http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi?md=cmt&id=8
でいままで送信されたコメントが見えるよ!(けっこう笑える)                 

113 名前:デフォルトの名無しさん :03/06/26 00:32
pMalloc->lpVtbl->Release(pMalloc);

114 名前:111 :03/06/26 00:47
>>113
ありがとうございました。
呼び出し方が違うんですね。
http://www.hidecnet.ne.jp/~sinzan/tips/vc/vc_tip05.htm

115 名前:デフォルトの名無しさん :03/06/26 07:10
>>98

dialog ""
mes "この文字がいつ表示されたかを考えましょう"
stop

↑を実行すればわかるかと…

116 名前:デフォルトの名無しさん :03/06/26 12:34
>>113 の隣(?)のページに個人的に凄く不思議なことが書いてあるんだけど

http://www.hidecnet.ne.jp/~sinzan/tips/vc/vc_tip04.htm
> 関数 CoCreateInstance() の第1引数と第4引数は、C言語とC++言語とでは、異なる型を使用しています。

なんでリンクできて動作しちゃうの?
ポインタと参照って内部的には同じ扱いなの?
誰か知ってる人いたら教えてくれます?

117 名前:デフォルトの名無しさん :03/06/26 12:35
>>116
誤) >>113
正) >>114

118 名前:デフォルトの名無しさん :03/06/26 19:09
>>116
同じ

119 名前:13 :03/06/27 00:27
>>115
こんな感じになりました。
ファイルをを開くボタンをWM_LBUTTONDOWNで送信
               ↓ →「処理OK」
     ファイルを開くウィンドウが開く
               ↓ →「処理OK」
     WM_LBUTTONDUPでボタンを戻す
               ↓ →音沙汰なし。
               ↓  (だけど、クリックして開いたウィンドウを閉じると処理が再開する)

こんな感じです。



120 名前:デフォルトの名無しさん :03/06/27 00:34
ちと板違いかもですが、VC.NET買って現在勉強中なんですが
で、自分なりに勉強の仕方考えてるんですが、
WINAPI>STL>MFC
って感じに勉強していったらいいんですかね??
今は「猫でも分かる」でWINAPIで勉強中です

121 名前:デフォルトの名無しさん :03/06/27 00:35
■■■かわいそうな「ゲーム君」を2ちゃんの力でトップにしよう!■■■

HSPプログラムコンテスト2003オンライン投票           
http://www.onionsoft.net/hsp/contest2003/entryn1.html
                       
HSPプログラムコンテスト2003に一番乗りで出展したものの          
Windowsに標準でついてくるゲームを手軽に起動できるという(というかただのショートカットつめあわせ)
しょーもないプログラムでたたかれまくっているプログラミング暦3年(!)の高校生の
作品、ゲーム君をみんなの力で一位にしよう。
【【【 投票方法 】】】                                                
http://www.onionsoft.net/hsp/contest2003/entryn1.html の一番下、エントリーNo8の「ゲーム君」
評価を「A」で選んでコメントを記入して「送信」(コメントいれるとなおよし)           
http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi?md=cmt&id=8
でいままで送信されたコメントが見えるよ!(けっこう笑える)  

122 名前:デフォルトの名無しさん :03/06/27 00:56
現在の CPU の位相と角速度を求める API はありますか?

123 名前:デフォルトの名無しさん :03/06/27 01:29
>>122

そのAPIを実行した途端、「現在」ではなくなりますが。

124 名前:デフォルトの名無しさん :03/06/27 01:53
>>123
アアムジョウ

125 名前:デフォルトの名無しさん :03/06/27 01:55
>>119
115の言いたい事分かってる?
あと
WM_LBUTTONUP
はこの場合特に必要ない

126 名前:デフォルトの名無しさん :03/06/27 14:19
>>120
君が何を将来的にしたいかによる

127 名前:デフォルトの名無しさん :03/06/27 14:48
将来というかプログラマになるのなら、
開発環境がなんであっても対処できるようにならなければ駄目

128 名前:デフォルトの名無しさん :03/06/27 15:57
すみません、ジョイパッドってどうやって処理すればいいのでしょうか?
WM_KEYDOWNでやってみたら上手くいなかったです

129 名前:デフォルトの名無しさん :03/06/27 16:17
WM_KEYDOWNはキーボードのメッセージです
ジョイパッドでうまくいかなかったのは当然です
心配する必要はありません

130 名前:デフォルトの名無しさん :03/06/27 16:33
joyGetDevCaps、joyGetPosで出来まふよ

131 名前:デフォルトの名無しさん :03/06/27 16:40
有難うございます

132 名前:デフォルトの名無しさん :03/06/27 17:11
自前でBMP画像を印刷する関数を作りました。
普通にプリンタのDC取得して、SetPixel()で左上からピクセルを
コピーしていくような単純なルーチンです。

Win付属のペイントと比べ、印刷時の時間が格段に遅くイライラしてしまいます。
ビットマップ印刷用のAPIなどが用意されているのでしょうか?
ちなみに環境はWindows2000/VC6/VC7です。

133 名前:デフォルトの名無しさん :03/06/27 17:14
DIBを使ってください

134 名前:デフォルトの名無しさん :03/06/27 17:27
DIB?ツカットコトナイヨー!!
それで早くなるならやってみます!!

135 名前:デフォルトの名無しさん :03/06/27 17:30
>133
もうちょい情報ください。なかなか検索ひっかからんです。API名とか

136 名前:デフォルトの名無しさん :03/06/27 17:34
無茶苦茶引っかかるんだが、どうやって検索しているんだ?
まずは検索方法を晒せ

137 名前:デフォルトの名無しさん :03/06/27 17:44
よくわかんないんだけど、BYTE型とかのRGBの配列をDIBって言うの??
今も内部データはそんな感じなんだけど、そのまんま使えるのかな?

138 名前:デフォルトの名無しさん :03/06/27 17:48
>>136
DIBは引っ掛かるけどどのAPI使えばいいか分からん、ということでは

139 名前:デフォルトの名無しさん :03/06/27 17:52
プリンタでDIBは使っちゃだめー
DDBを使いなさい

140 名前:デフォルトの名無しさん :03/06/27 17:56
パレットの問題ってこと?

141 名前:デフォルトの名無しさん :03/06/27 19:15
>>132
・プリンタのDCを取得
・そのDCを元にDDBを作成(CreateCompatibleBitmap等)
・作成したDDBにピクセルを設定(GetDIBits等)
・プリンタのDCにDDBを描画(Bitblt等)

これでも、不満か?

142 名前:ちよ :03/06/27 19:21
よろしく!!
http://www1.free-city.net/home/kotarou/page006.html

143 名前:デフォルトの名無しさん :03/06/27 20:38
>>132

BMPからDIBを作成
プリンタのDCにDIBをStretchDIBitsで描画

というやり方でできる気がする。
プリンタは解像度に注意。
DIBは、BITMAPFILEHEADERからピクセルまで、自分で読み込んで
作るのが確実かな(それほど難しくはない)。拡大モードの設定
をしてもStretchDIBitsできれいに拡大できない場合は、自分で
適当な拡大処理をすべし。


144 名前:デフォルトの名無しさん :03/06/28 00:07
ダットファイルの2行目をCharNextExA を使用して
取り出す方法教えてください。
ただし、2行目半角ずれてます。
データは char bufbuf[1024]に読み込んであります。
32APIアプリ文字列関数なくて困ってます。
■黄色.dat
佐藤
めぐみ
小池
eof
w2000,BCC5.5

145 名前:デフォルトの名無しさん :03/06/28 00:36
>>144
> 32APIアプリ文字列関数なくて困ってます。
lstrlen, lstrcmp とかあるけど。
というか、普通に strchr とか使うのはダメなのか?

146 名前:デフォルトの名無しさん :03/06/28 00:57
予めダットファイル中身は見れませんが
10字100行程度です。
ヒントがつかめたら、CSVやTAB成型列に
朝鮮したいです。
長さと比較でどうやって2列目切り出すのですか?

147 名前:_ :03/06/28 00:58
http://homepage.mac.com/hiroyuki44/

148 名前:デフォルトの名無しさん :03/06/28 01:14
もしかして、俺が無知なのかも
BCC5.5でWINアプリ(コンソールでない)
作る場合
#include <string.h> がOK牧場ですか。


149 名前:デフォルトの名無しさん :03/06/28 01:20
可能

150 名前:デフォルトの名無しさん :03/06/28 01:46
>149 感謝感謝
がんばってDAT読み取り、3つのリストBOXの
アイテムに入れてみます。
 テンプレ提供歓迎です。
リストBOX1、中井、香取、稲垣
リストBOX2、佐藤、めぐみ、小池
リストBOX3、嘉門、はにわ、てつとも



151 名前:_ :03/06/28 02:09
http://homepage.mac.com/hiroyuki44/

152 名前:_ :03/06/28 03:45
http://homepage.mac.com/hiroyuki44/

153 名前:_ :03/06/28 05:36
http://homepage.mac.com/hiroyuki44/

154 名前:_ :03/06/28 08:30
http://homepage.mac.com/hiroyuki44/

155 名前:_ :03/06/28 09:58
http://homepage.mac.com/hiroyuki44/

156 名前:デフォルトの名無しさん :03/06/28 10:00
(3)タモリの話し方が気に食わない、などが浮上している。



157 名前:_ :03/06/28 11:05
http://homepage.mac.com/hiroyuki44/

158 名前:デフォルトの名無しさん :03/06/28 11:15

プラットフォームSDKのドキュメントが、構造体の部分が全て未訳で英語なのですが
どこかに日本語訳されてるドキュメントがないでしょうか?
教えてください。

159 名前:デフォルトの名無しさん :03/06/28 11:25
>>158
あきらめましょう。

160 名前:デフォルトの名無しさん :03/06/28 11:53

やはりそうなんですか・・・。JAVAなんかではある程度しっかりと訳してくれてるのに〜
本当に、マイクロソフトって殿様商売ですね〜
ドキュメントも手抜きかつ超冗長な階層ディレクトリですし・・・。訳し方も明らかにプログラミングを
した事がない人が、ただ訳してるという文章も一部ありますし・・・
ボーランドやサンを見習ってほしいです。

161 名前:デフォルトの名無しさん :03/06/28 11:55
スレ違いで恐縮ですが…
VNCの使い方についてたてられてるスレがあったら
どなたかおしえていただけないでしょうか?

162 名前:デフォルトの名無しさん :03/06/28 12:09
>>160
つ、釣られないぞ!

163 名前:デフォルトの名無しさん :03/06/28 12:16
>>161
VNC使ってますか?
http://pc2.2ch.net/test/read.cgi/software/1018166669/

164 名前:デフォルトの名無しさん :03/06/28 12:40
釣られてみよう

>>160
あの程度の英語も読めないの?
コンピュータ使うの辞めた方がいいよ。


165 名前:デフォルトの名無しさん :03/06/28 13:12
釣られてみよう

>>164
英語が分からなければコンピュータを使うべきではないのですか?

166 名前:デフォルトの名無しさん :03/06/28 13:15
別に英語が読めなくても問題はない
それよりも翻訳ソフトなり翻訳サイトなりを利用するという、その程度の頭も働かないところが問題

167 名前:デフォルトの名無しさん :03/06/28 13:15
>>165
>英語が分からなければコンピュータを使うべきではないのですか?

程度によるな。プログラミングするなら、ifとかwhileとかbreakといった英単語の意味くらいはわかってないとつらいだろうし。日本語版のソフトを使うだけなら、別に英語は不要だけどね。


168 名前:160 :03/06/28 13:41

あのな〜。一応僕は英検2級なんだよ。
でもプログラミングはずぶの初心者だから、SDKの文に何か専門用語だとかその分野特有の
言い回しとかがあると、変な誤訳する可能性があるからそれが怖くて言ってるの。

失礼だが、自称中級者ほど英文の怖さを分かってないもんだ。その語句の
代表的な意味だけを汲んで「分かった感じ」になる事の危険性ぐらい頭に置いてくれ。



169 名前:デフォルトの名無しさん :03/06/28 13:43
( ´,_ゝ`)プッ

170 名前:デフォルトの名無しさん :03/06/28 13:48
英検2級であの程度の文が読めないっての…?
それは変だろ
中卒か高校一、二年程度の英語だぞ

171 名前:160 :03/06/28 13:52

今の所は読めるよ。でもこれからもっといろいろ読む様になった時の
誤訳の可能性が怖いんだよ。


172 名前:デフォルトの名無しさん :03/06/28 13:53
言い訳ばっかりだな
翻訳された物が正しい保証など無い

173 名前:デフォルトの名無しさん :03/06/28 13:53
専門用語は数当たるしかないだろうなあ

174 名前:デフォルトの名無しさん :03/06/28 13:56
日本語に訳す必要がない。英語そのまま理解すれば良し。

175 名前:160 :03/06/28 13:59

素人(自分)よりは信用できるよ。
じゃあドキュメントには、プログラミング分野での特有の意味や言い回しってのは少ないのか。

176 名前:デフォルトの名無しさん :03/06/28 14:02
用語はあるが、文学小説のような無駄に比喩的な言い回しは無い
用語は訳されていてもカタカナになっているだけ

177 名前:デフォルトの名無しさん :03/06/28 14:25
誤訳されてて原文の意味がまったくわからなくなってる時が一番困る。

MS のドキュメントは Basic english だかなんだかっていうルールに従って書かれてるから
馬鹿でも読めるという罠。

178 名前:デフォルトの名無しさん :03/06/28 14:36
意味が正反対になるような表現って無いと思うんだけど。




179 名前:デフォルトの名無しさん :03/06/28 14:45
一般的な英語と違うってのがわかっていながら英検二級を自慢か?
そんなんだから煽られるんだっちゅーの

おまえらも久しぶりに叩きがいのある奴紛れ込んできたからって騒ぎすぎ。


180 名前:デフォルトの名無しさん :03/06/28 14:53
それにしても、>>160は見事な釣りだな・・・。
>>179までで10数匹釣り上げた。
もっとも、バカ丸出しの雑魚ばかりだけど。


181 名前:デフォルトの名無しさん :03/06/28 14:55
180=160

182 名前:デフォルトの名無しさん :03/06/28 14:59
>>180
わかったからsageろよ160。


183 名前:180 :03/06/28 15:02
>>181,182

おいおい、俺は160じゃないぞ。
さらに2匹追加かよ・・・・。


184 名前:デフォルトの名無しさん :03/06/28 15:03
┐(´ー`)┌ どっちでもいいよアフォ

185 名前:180 :03/06/28 15:05
まあ、

186 名前:あのな〜。一応僕は英検2級なんだよ。 :03/06/28 15:06
あのな〜。一応僕は英検2級なんだよ。

187 名前:デフォルトの名無しさん :03/06/28 15:07
とりあえず、>>160-186はしょうもない○×ってことで終了!
あとは放置ね。


188 名前:デフォルトの名無しさん :03/06/28 15:13
また英語談義か

189 名前:160(英検二級) :03/06/28 16:22
そんなにうらやましいのか・・・

190 名前:デフォルトの名無しさん :03/06/28 17:39
すみません、この一文っておかしいでしょうか?
猫のC言語のところではこの書き方で書いてあったのですが
bccでコンパイルしようとしたらエラーがでてきて
'void *'型は'HPEN__*'型に変換できないってなるんです

HPEN oldpen,hpen;
(省略)
oldpen=SelectObject(hdc, hpen);


191 名前:デフォルトの名無しさん :03/06/28 17:40
>>190
あなたがC言語を使っていない可能性があります

192 名前:デフォルトの名無しさん :03/06/28 17:41
oldpen=(HPEN__ *)SelectObject(hdc, hpen);
こうするとエラーが出なくなるかもしれないわよ

193 名前:デフォルトの名無しさん :03/06/28 17:45
何も基本型の方でキャストしなくても・・・

194 名前:デフォルトの名無しさん :03/06/28 17:49
コンパイル通りました、有難うございます

195 名前:デフォルトの名無しさん :03/06/28 17:59
俺、一応工業英検2級だけど、MSDNのドキュメントくらい辞書見ながら読んだら理解できると思うぞ。

196 名前:デフォルトの名無しさん :03/06/28 18:00
辞書なんかいらないだろ

197 名前:デフォルトの名無しさん :03/06/28 18:03
思い立って辞書を引くとプログラミング用語と英語では意味が違って混乱することもたまに

198 名前:デフォルトの名無しさん :03/06/28 18:04
用語は日本語訳されてもカタカナに変換されるだけなので、
結局その用語を知らなければ意味は通りません

199 名前:名無し@沢村 :03/06/28 18:07
おまいらはコンピュータ用語辞典のサイトも知らないのか。
あー、嘆かわしい・・・・

200 名前:デフォルトの名無しさん :03/06/28 18:08
>>199
教えてくれ

201 名前:デフォルトの名無しさん :03/06/28 20:36
プログラム言語が読めれば、何してるかはわかるんだから英語だろうが中国語だろうが
特に問題にはならないと思うけど。

202 名前:デフォルトの名無しさん :03/06/28 20:40
要は、コードを見た時に「マシンの気持ち」になって、マシンに共感しながらその処理内容を実感できれば最強のプログラマになれる、ってことなんだよね。


203 名前:デフォルトの名無しさん :03/06/28 21:06
エロいな

204 名前:デフォルトの名無しさん :03/06/28 21:33
つまり女を扱いたかったら、女の気持ちになって、一度男に犯られてみろと?

205 名前:デフォルトの名無しさん :03/06/28 21:50
   | |/ノ二__‐──ァ   ヽニニ二二二ヾ } ,'⌒ヽ
  /⌒!|  =彳o。ト ̄ヽ     '´ !o_シ`ヾ | i/ ヽ

206 名前:デフォルトの名無しさん :03/06/28 22:23
>>205
そんな目で見るな

207 名前:デフォルトの名無しさん :03/06/29 09:20
盛りあがっている?
ところすいませんどうしても解決できないことがあります。

コントロールパネルの「マウス」の「速度」の設定値を取得する方法あるのでしょうか?

欲を言えば変更もできるといのですが。
あの速度の設定で加速される量というのは何処かに定義されているのでそうか?

ご存知の方、教えていただけないでしょうか?






208 名前:デフォルトの名無しさん :03/06/29 09:28
>>207
レジストリ内をくまなく探せ
REGMONを併用すると楽に見つかる

209 名前:95371 :03/06/29 09:57


18禁ふりま http://www.freepe.com/ii.cgi?furima0323


210 名前:デフォルトの名無しさん :03/06/29 10:00
64ビット用のWindowsならWIN64APIになるの?

211 名前:デフォルトの名無しさん :03/06/29 10:52
対応コンパイラを使えば

212 名前:デフォルトの名無しさん :03/06/29 11:03
「Alquade」というソフトの
ttp://hp.vector.co.jp/authors/VA028199/alquade/help/combinedhelp.html
>Alquade では Windows API で保証されていない手法を一部使用しております。

ってどんな手法かわかりますか?

213 名前:デフォルトの名無しさん :03/06/29 11:04
非公開APIでも使っているんじゃないの?

214 名前:デフォルトの名無しさん :03/06/29 12:09
>>208
アリガト、必要な情報を得ることができたよ。
マウスの情報 取得 とかで検索掛けてもまったく見つからなかったけど、
マウスの高速化で検索するといっぱいありました。

調べた情報も還元しておきます。
HKEY_CURRENT_USER→Control Panel→Mouse

MouseSpeed 加速スピードを設定。1で2倍速、2で4倍速、それ以外の数値は加速無しになる。
MouseThreshold1 加速度有効までの距離。2倍速になるまでのドット数を入力。MouseSpeed1か2を設定していないと無効になる。
MouseThreshold2 加速度有効までの距離。4倍速になるまでのドット数を入力。MouseSpeed1か2を設定していないと無効になる。

この部分はスレ違いですが...
DirectIMPUTでデバイスから直接データ取得しても、この部分は加味されていないので
自前で計算が必要なんですね。

某ROでウインドモードでマウスが遅くなるというのは、(この件を検索する段階で多く見かけたので)
この辺を計算していないからな。(現在の対応は知りませんが、このゲーム名前しか知らないので)



215 名前:デフォルトの名無しさん :03/06/29 13:16
>>214
これは
SystemParametersInfo
SPI_GETMOUSE, SPI_GETMOUSESPEED
で取得できる情報とは違うの?


216 名前:デフォルトの名無しさん :03/06/29 14:53
>>215
そのようですね。
取りあえず、数値の意味が調べられてので
前の件で調べたことは無駄にはなりませんでしたが。
レジストリ取得のデバック開始したとこでした。こちらのほうが楽ですね。

>>215,208さん
どうもありがとう


217 名前:デフォルトの名無しさん :03/06/29 19:15

SDKドキュメントを読み始めたのですが、何だか項目を選択するとそのまた下に項目が
出て、それを選択するとそのまた下に項目が出てって感じて延々と続くんですけど、
しかも複数の項目が出るならまだ分かるんですが一つだけの項目の下にまた一つだけって
感じで、何だか箱を空けたらその中にまた箱が入ってたっていう笑い話みたいなんですけど、
もしかしてこれって不良品なんですか?全然説明文にたどり着けません。
誰か教えてください。



218 名前:デフォルトの名無しさん :03/06/29 19:24
とりあえず必要は情報はキーワード検索にかけてみる
あと、MSDN再インスコ

219 名前:デフォルトの名無しさん :03/06/29 19:24
必要は情報->必要な情報

220 名前:デフォルトの名無しさん :03/06/29 19:26
釣られ損ねた。

MSDNに限って言えば日本語訳はかなり怪しいので原文を見たほうが良いと思う。
日本語訳の方は内容古いし、よく情報が欠けてる。


221 名前:デフォルトの名無しさん :03/06/29 19:58
SystemParametersInfo
追加情報 これは標準マウスのデータしか返さないようです。
トラックパッド トラックポイントはまた別のようです 鬱だ


222 名前:デフォルトの名無しさん :03/06/29 20:58
ダイアログの表示完了を知りたいのですが、どんな方法がありますか?
ダイアログにWMメッセージを送信したいのですが、ダイアログの表示命令を出した直後に、
PostMessageするためダイアログが開ききっておらず無効になっているようなのです。
Sleep関数以外でよい方法があったら教えてください。おねがいします。

223 名前:デフォルトの名無しさん :03/06/29 21:13
>>222
文意が今ひとつはっきりしないがWM_INITDIALOGじゃだめなのか?

224 名前:貧乏脱出!これであなたはお金持ち :03/06/29 21:24
普通に働いてお金持ちになれるのは全体の1%のみって本当!?
本当にお金持ちになるにはやはり「副収入」が必要!
一日30分 おうちでコピペ、コピペ!
嘘だと思うんならランキング見てみてくださいよ↓↓
(直リン不可)
http://www.adultshoping.com/addclickport.cgi?pid=1053353765(直リン不可)



225 名前:デフォルトの名無しさん :03/06/29 22:43
>>222
ダイアログ プロシージャのcase WM_INITDIALOGで
SendMessage(GetParent(hDlg), WM_COMMAND, 0, (LPARAM)hDlg);
とかは?

226 名前:デフォルトの名無しさん :03/06/30 04:27
shellapi.hの最新版はどこでダウンロードできるのですか?
教えてください


227 名前:デフォルトの名無しさん :03/06/30 09:27
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

228 名前:デフォルトの名無しさん :03/06/30 11:14
教えてください。
ウィンドを持たないプログラム(xxx.exe)を
強制終了させたいです。
xxx.exe のプロセスIDに TerminateProcess をすれば良い
というところまでは解ったのですが、
プロセスIDを取得する方法がわかりません。
お願いします

229 名前:デフォルトの名無しさん :03/06/30 11:23
プロセスを列挙するだけ

230 名前:デフォルトの名無しさん :03/06/30 15:47
win9xの"C:\Program Files"内で
GetCurrentDirectory、もしくはGetModuleFileName
を利用した所、\Program Filesの部分が化けました。
ただし、Api使用はDelphi6経由です。


p:pchar;
GetModuleFileName(0,255,p);
writeln(string(p));

半角スペース部分を何とかすればよいと思うのですが…

231 名前:230 :03/06/30 15:55
うっ、自己解決しました。
メモリ割り当てを
new(p)
なんぞしておった。

p:=allocmem(255);
だな。

スレ違いスマン。

232 名前:デフォルトの名無しさん :03/06/30 15:55
いきなりスレ違いですいません。ただ今祭り開催中です。
先日、6月27日、埼玉県の大宮で「年上好き男年下好き女神」というオフが開催されました。
このオフは、幹事も参加者もオフ初心者ばかりでした。このオフは一度開催され、
今回は新規メンバーを入れての二回目でした。
これは、オフを勘違いしてるねらーがいて、それが当たり前だと思っている人達を紹介します。
【登場人物紹介】
  モチッコ:このオフの幹事、セクハラばっか、幹事特権行使する
  ヘルシア:自称オフ板常連者、個人プレーが得意、目立ちたがりや
  inagawadonn:不細工セクハラ王、酔ったふりで女を口説く、脱いで受け狙い
  太平洋:メガネヒッキー、会話ができないキモヲタ、ナルシスト、スカシ
  せん:いい年して落ち着きの無い典型的ダメ人間、ノリでセクハラ、馬鹿
  ゆうや:浪人生、テニスラケット持ってくる不思議君を演じる奴、未成年
  キュービック:女にやたら年を聞き、年齢の話題が大好き、悪ノリ
 この男達が参加メンバーです。その日、オフ参加初めての気の弱そうな男性が来ました。
その方はちょっと変わった服装で上着に帯のような物が着いていました。参加者は
それを見て、柔道着だと馬鹿にし、彼が席を立つ度に大爆笑しました。
しまいには本人の前で柔道の話をして女性から笑いをとりました。
自分達こそそんなおしゃれでもないのに彼を馬鹿にし、ある者はこっそり写メールまで
撮りました。みんな初対面なのに、いじめで仲良くなるオフ会、私も、輪からはみ出るのが
怖くて一緒に馬鹿にしてしまった加害者です。彼は勿論気づいていてとても悲しそうな顔で帰りました
後日、オフレポを読もうと思いレスを見ると、みな、柔道の話題が含んでありました。いい大人が
人を馬鹿にしてまだ楽しんでいます。「これから柔道着オフにする?」とちっとも反省していません。
それはおかしいと第三者の意見を言ってあげてください。また7月11日に開催されます。
※もし、ご協力いただけるならば、この文をコピペして他のスレに書き込んでください。できるだけ多くの方に
 考えていただいたいので、面倒ではありますがよろしくお願いします。
http://ex3.2ch.net/test/read.cgi/offreg/1055133705/l50


233 名前:デフォルトの名無しさん :03/07/01 20:35
スクリーンセーバーのON/OFFをするAPIとかないですかね?
漏れの中には50秒ごとにMouseMoveとかKeyDownとかの
メッセージ投げるぐらいのことしか
見つからなかった&浮かばなかったもので・・・。

234 名前:デフォルトの名無しさん :03/07/01 20:46
>>233

自アプリがアクティブな時だけの話なら、WM_SYSCOMMAND/SC_SCREENSAVEを
握りつぶす。

んじゃなきゃ、今の通りにやるしか無いだろね。

235 名前:デフォルトの名無しさん :03/07/01 20:47
ネットで稼ぐならこれ。完全無料!!
リンクスタッフに登録すれば小遣い稼ぎができます!!

[報酬について]
クリック報酬・・・1クリックされる度に10円の報酬
バナー紹介料・・・リンクスタッフ登録の度に500円の報酬
プレミアム・・・優秀サイトには、報酬に応じてボーナス有り
別に自分のホームページがなくてもできます。(URLを書く欄は適当でいいです)

単純に考えて1日100人クリックしたとすると、100人×10円×30日=30000円(一ヶ月)
そこらへんの掲示板に貼り付けていけば100クリックなんてスグです。
その他、自分の貼り付けた広告から誰かがスタッフになると500円もらえるので
1日5人スタッフを紹介したとして500×5×30=75000円
30000+75000=105000!!しかも間接報酬などもありますので一ヶ月に10万円以上稼げます!!
http://www.hptouroku.com/cgi-bin/affiliates/clickthru.cgi?id=252
超おすすめです!!ぜひ一度のぞいて見てはいかがでしょうか?

236 名前:デフォルトの名無しさん :03/07/01 21:10
>>233
SetThreadExecutionState じゃだめか?
スリープ状態に入るのを阻止する API だけど、
ES_DISPLAY_REQUIRED フラグはまだ試したこと無いんだよな。


237 名前:デフォルトの名無しさん :03/07/01 21:11
(;´Д`)ハァハァ ボッキしますた
http://homepage3.nifty.com/coco-nut/

238 名前:デフォルトの名無しさん :03/07/01 21:16
#define STRICT

ってどういうときに使うんですか?

239 名前:デフォルトの名無しさん :03/07/01 21:19
>>233
SystemParametersInfoのSPI_SETSCREENSAVEACTIVEは?
Tipsサイトとかによく出てると思うんだが……なんか漏れ勘違いしてる???

240 名前:238 :03/07/01 21:22
>>238
ttp://www7.plala.or.jp/keny01/win32/01-10.html

自己解決しました。
ありがとさん(だれにだよ)

241 名前:デフォルトの名無しさん :03/07/01 21:37
>>240
型チェックが厳密になる。
実際にはHANDLEだったのがHWNDとかHDCとかに再定義されたりするわけだが。

MSDNで「STRICT を使った型チェックの改善」見とくといいよ。

あと、VC6あたりからはデフォルトでプロジェクトにSTRICT定義が入ってるはず。

242 名前:デフォルトの名無しさん :03/07/01 21:42
>>239

「システムの設定を変えるためのプログラム」を作っているんでなければ、
勝手にシステム設定をいじるのは邪道だと思うのは漏れだけかなあ?

243 名前:デフォルトの名無しさん :03/07/01 21:45
システムの設定をいじる必要など無い
存在するスクリーンセーバーのプログラムを手当たり次第に消すようにすればいい
これ王道

244 名前:238 :03/07/01 22:03
>>241
ありがとう

245 名前:デフォルトの名無しさん :03/07/01 22:18
MessageBox を使って、スクリーンセーバーの設定を切ってくださいとユーザーに頼む

246 名前:デフォルトの名無しさん :03/07/01 22:40
PeekMessageでCPUを使い切るとか
それなら50秒ごとにメッセージ投げたほうがまだマシだな

247 名前:239 :03/07/01 22:55
>>242
むぅ、確かにその通りだ。軽率なレススマソ。

するとやはり50秒ごとにメッセージ投げるしかないのかなぁ。
ざっとぐぐった感じだと、みんなそういう対処だね。
なんか気に入らないけど、一時的に無効にするような手段が用意されてないなら
それしかないのかな。

248 名前:デフォルトの名無しさん :03/07/02 00:01
>>247
スクリーンセーバーをソフト側で抑止する方法ならあるですよ。

WM_SYSCOMMANDで、wParamがSC_SCREENSAVEの時に
0以外を返すとスクリーンセーバーが起動しなくなります。
SC_MONITORPOWERならモニタオフもしなくなるよ。

Windowsが問い合わせてきてダメならダメと言えば良いらしい。
ゲームとかで割と便利だったり。

249 名前:233 :03/07/02 00:02
レスくれたしとたち>
 ありがとござました。
 SystemParametersInfoで逝きます。
 てか、それで逝ってって言われた。
 てか、その前に、スクリーンセーバがかかると
 落ちるシステムを何とかしる!・・・いや、もう言うまい

250 名前:デフォルトの名無しさん :03/07/02 00:55
>>248
それは>>234が「自アプリがアクティブな時だけ」と書いているんだが。

>>249
設定変えたまま異常終了されたらいやだな。


■過去ログ置き場に戻る■ 1- 次250 最新50
DAT2HTML 0.33f Converted.