■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build24
751
名前:
デフォルトの名無しさん
:04/11/19 11:35:00
>>749
確かにね。仕事で引き合い貰って客先の案件要求見ると、言語の欄に.NET、VB、VC、C/C++、JAVAなんて書いてあったりするからね。
#VBって書いてあってExcelVBAだったりJAVAって書いてあってDeveloper2000なんか出てきた日にゃぁ…
752
名前:
デフォルトの名無しさん
:04/11/19 11:40:57
MFCだとActiveXベースになってニッチもサッチもいかなくなるからやめるべし。
753
名前:
デフォルトの名無しさん
:04/11/19 12:05:28
VCは開発言語でいいんじゃないか?
Cだってライブラリも言語のうちだし、
C++のクラス、テンプレートも言語のうちだろ
あとVisualStudioの開発ツール使わないでコーディングする場合もあるから
開発環境とは直接関係ないし
754
名前:
デフォルトの名無しさん
:04/11/19 12:11:22
>>748
現在ログオンしているユーザーと違うアカウントで
起動したいのでなければ
>>731-732
755
名前:
デフォルトの名無しさん
:04/11/19 13:21:44
もう面倒くさいから"特技パソコン"でいいよ。
756
名前:
デフォルトの名無しさん
:04/11/19 13:25:11
>>751
仕事や人事にでてくるそーゆー用語は
言語かどうかでは選んでないだろ
757
名前:
デフォルトの名無しさん
:04/11/19 13:32:49
すいません。質問です。
Platform SDKとNET Framework SDKをインストールして
#include<windows.h>が使えるようになるんでしょうか??
758
名前:
デフォルトの名無しさん
:04/11/19 13:37:33
環境に関係なくwindows.h持ってれば使えるだろ
759
名前:
デフォルトの名無しさん
:04/11/19 13:43:03
windows.h持っててもコンパイルできるコンパイラがないと使い物にならないけどね。
VC++互換の言語拡張されてるやつ。
760
名前:
デフォルトの名無しさん
:04/11/19 13:59:29
>>759
たしか、
>>757
にvc.exeが入ってたよね。
ヘッダは無かった気がするけど。
761
名前:
デフォルトの名無しさん
:04/11/19 14:00:28
>>756
「言語」って書いてあるから
>751
のように書いたんだが。
762
名前:
デフォルトの名無しさん
:04/11/19 14:00:32
ヘッダはPlatform SDKのほうに入ってる
763
名前:
デフォルトの名無しさん
:04/11/19 14:11:55
>>758
>>759
レス、dクスです。
コンパイラはbccの無料のやつを使ってるんですが。互換言語のところに、VC++と確か書いてありました。
今ボーランドのファイルを調べてみたら<windows.h>、ありやしたYO-!
764
名前:
デフォルトの名無しさん
:04/11/19 14:18:50
とりあえずPlatform SDKのcoreSDKとやらを落としてみます
765
名前:
デフォルトの名無しさん
:04/11/19 14:20:28
ありがとうございました。また来ます。
766
名前:
デフォルトの名無しさん
:04/11/19 16:15:34
「プリプロセッサの定義」のところで,
_UNICODE を設定したとき,
Unicode にもいろいろありますが,
どのコードが使われるのでしょうか?
767
名前:
デフォルトの名無しさん
:04/11/19 16:16:15
UTF-16
768
名前:
デフォルトの名無しさん
:04/11/19 16:19:49
UCS-2じゃねの
769
名前:
デフォルトの名無しさん
:04/11/19 16:23:00
UniscribeとかはWin9xでもUTF-16受け付けるけど
データ型が違うわけじゃないから(全部WCHAR)
770
名前:
デフォルトの名無しさん
:04/11/19 17:26:37
>>767
正確にはUTF-16からサロゲートペアを取り除いた物、だったはず。
771
名前:
デフォルトの名無しさん
:04/11/19 17:42:01
それをUCS-2っていうんじゃないのか?
Win2k以降ならサロゲートにも対応してるしWin9xでも
>>769
772
名前:
デフォルトの名無しさん
:04/11/19 17:42:52
あ、漏れの環境で試した限りではWin95だけは
どうあがいてもサロゲート文字が出せなかった
773
名前:
デフォルトの名無しさん
:04/11/19 22:37:58
文字集合と転送形式は違うだろ
774
名前:
デフォルトの名無しさん
:04/11/19 23:31:37
質問です。
WS_EX_TOOLWINDOWを使って作ったウィンドウを
子ウィンドウとして、出しているのですが、
Xボタンを押すとウィンドウを隠すのではなくて
完全に消去されてしまっていてShowWindow(hwnd,SW_SHOW)で
また表示することができません。
Xボタンの処理内容を変更するにはどうしたらよいでしょうか?
775
名前:
デフォルトの名無しさん
:04/11/20 00:01:18
>>774
WM_CLOSE
で ShowWindow(hwnd, SW_HIDE) でウィンドウ消して
DefWindowProc を呼び出さない。
776
名前:
デフォルトの名無しさん
:04/11/20 00:34:09
>>775
そーやってんだけどなぁ・・・ああ?ん?へ?
って、ソースが汚すぎてインデントが腐ってて
よくみるとbreakで抜けていましたw
ごめいわくおかけしました。逝ってきまつ。
レスありがとうございました。おかげで解決しました。
777
名前:
デフォルトの名無しさん
:04/11/20 13:21:55
Cで、リソーススクリプトやMFCを使わずに、
ツールバーを使う方法がありましたら教えてください。
ボタンやメニューなどは分かったのですが、ツールバーは見つかりませんでした。
778
名前:
デフォルトの名無しさん
:04/11/20 13:41:20
>>777
スリーセブンおめ!
いや、普通にCreateWindowExで作れるんじゃねぇ?
ぐぐっといたぞ。
猫さんが一番上にきてるね。
http://www.google.co.jp/search?hl=ja&q=%E3%83%84%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC+CreateWindowEx&lr=
779
名前:
デフォルトの名無しさん
:04/11/20 13:44:22
>>773
質問がそもそも曖昧だし
UCS-2は転送形式をも含んだ意味で使われる場合もあるし
780
名前:
777
:04/11/20 13:53:32
>>778
ありがとうございます。
確かに乗っていますが、リソーススクリプトを使っています。
ボタンの章では使わずに作られているのですが。
http://www.kumei.ne.jp/c_lang/sdk/sdk_28.htm
781
名前:
デフォルトの名無しさん
:04/11/20 13:58:18
>>780
自作ライブラリから適当に抜き出した
構造体名とかから、ググれば解説ページも出ると思う
TBBUTTON *tbButton
TBADDBITMAP tb;
hWnd=GetParent(hwToolbar);
tb.hInst=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);
tb.nID=IDD_BMP_BBOARD;
iIndex=SendMessage(hwToolbar,TB_ADDBITMAP,1,(LPARAM)&tb);
tbButton[1].iBitmap=iIndex;
SendMessage(hwToolbar,TB_ADDBUTTONS,1,(LPARAM)&tbButton[1]);
782
名前:
777
:04/11/20 14:01:34
>>781
ありがとうございます。調べてみます。
783
名前:
デフォルトの名無しさん
:04/11/20 14:13:49
マルチメディアタイマー(timeSetEventなど)を使ってプログラムを組んでいるのですが、
処理が軽い時は一定のタイミングでコールバックが来るので良いのですが、
重くなった時は呼び出し回数が減り、その後に大量にコールバック関数が呼ばれます
重くなった時は回数が減っても良いのですが、軽くなった時に元通りのタイミングに戻って欲しい場合はどうすれば良いですか?
timeGetTime辺りで呼び出し間隔を記録して、
・前回からの呼び出し間隔が設定値よりかなり短い時は、丁度良い感覚のもの以外はすぐにreturnする
というだけの処理で良いのでしょうか?
重い状態が長続きした場合に、バッファがたまってオーバーフローを起こしたりしないのでしょうか?
784
名前:
デフォルトの名無しさん
:04/11/20 14:19:12
>>780
え?
猫さんの63章は使って無いんじゃない?
リソーススクリプトはビットマップを読んでるだけでしょ。
785
名前:
デフォルトの名無しさん
:04/11/20 14:24:06
>>783
それって単純にやっちゃ駄目なんじゃない?
つまり、重くなったときは処理が間に合わなくてメッセージだけ
蓄積されてて軽くなったら一気に処理しちゃってるってことでしょ?
こういうの解決するのってメッセージの送信側と受信側で
メッセージの蓄積状態を管理しなきゃ駄目なんじゃない?
よう知らんけどw
786
名前:
デフォルトの名無しさん
:04/11/20 14:29:38
>>785
マルチメディアタイマーはWindowsが管理してるんで、送信側の管理が良く分からんのですよ
今実験してたら、しばらく負荷かけてたら、プログラムが落ちた…そのままでは問題みたいです
マルチメディアタイマーでは無理な場合は、自作タイマーで行くしか無いかな…
787
名前:
777
:04/11/20 14:35:58
>>784
ホントですか?
結構いろんな所を調べていて、リソースとか、.rcとか見つけると、
またかと思い他のページに行くとかしていました。差し替えてやってみます。
788
名前:
777
:04/11/20 14:53:35
>>784
できました。後は
>>781
さんのも参考にして理解を深めたいと思います。
お答えくださった方、ありがとうございました。
789
名前:
デフォルトの名無しさん
:04/11/20 16:32:59
こんばんわ
今Windows内で開いてあるウィンドウのハンドルを全て得たいのですが、
どのAPIを使えばいいのでしょうか?
教えていただけると助かります。
790
名前:
デフォルトの名無しさん
:04/11/20 16:47:08
>>789
EnumWindows
791
名前:
733
:04/11/20 16:55:22
>>734-735
ありがとうございます。
色の値をへこへこ書く方法に挑戦しているのですが、
COLORREF rgb;に色の値が入っていて、
LPBYTE lpPixel;がピクセルビットの先頭を指しているという場合、
ここからどうすればいいのでしょうか。カラービットは24です。
792
名前:
789
:04/11/20 17:04:47
>>790
ご返答ありがとうございました。
あと、一点ほど質問があるのですが、
人様のウィンドウハンドルを取得したとします。
そのウィンドウ(ハンドル)にイベントを送信できるのでしょうか?
たとえば、メモ帳が開いてあるとして、
そのメモ帳に自分が作ったアプリケーションからイベント(文字入力や改行など)を送ることができるのでしょうか?
もしできるとするなら、どのAPIを使えばいいのでしょうか?
再度の質問になりますが、ご返答いただけたらとても助かります。
申し訳ございませんが、よろしくお願いいたします。
793
名前:
デフォルトの名無しさん
:04/11/20 17:09:45
>>792
できる。
イベントを送るにはPost/SendMessageを使う。
戻り値を知る必要のあるときと引数にポインタを渡すときにはSendMessage()。
どちらにも当てはまらないときにはPostMessage()。迷ったらSendMessage()。
ちなみにメモ帳はメモ帳自身のウィンドウにエディトボックスが子ウィンドウとして張り付いていることに注意。
794
名前:
デフォルトの名無しさん
:04/11/20 17:10:29
ただし、文字列の送信は非常に面倒くさい。
795
名前:
デフォルトの名無しさん
:04/11/20 17:31:39
質問です
MessageBox()のオーナーウィンドウのハンドルをNULLにした場合で
プロシージャからMessageBox()を呼び出し、無視してオーナーウィンドウを操作して終了させた場合
MessageBox()を呼び出しているプロシージャが終了しないまま
実行ファイルが終了することになると思うんですが
プロシージャが終了していない=WinMain()のメッセージループに制御が戻っていない にもかかわらず
どうやってプロシージャが終了のメッセージを受け取り、実行ファイルが終了しているんでしょうか
796
名前:
デフォルトの名無しさん
:04/11/20 17:32:54
>>792
便利なAPIがあるぞ。
GetWindowThreadProcessId
GetGUIThreadInfo
これで得たフォーカスを持ったウィンドウに
SendMessageを送る。
797
名前:
デフォルトの名無しさん
:04/11/20 17:42:29
>>795
MessageBoxの中でメッセージループが回ってるから
そいつが終了イベントを拾ってウィンドウプロシージャが呼ばれる。
798
名前:
デフォルトの名無しさん
:04/11/20 17:55:34
MessageBox 内部のメッセージループは WM_QUIT がポストされると、
処理を終了するけど、もう一度アプリに WM_QUIT を送りなおしてたか
キューから取り除かなかったかしてたと思う。
その挙動を利用して MessageBox を自動的に閉じるテクニックがあったような。
で、MessageBox 関数から戻ってきた時にプログラムがどこまで解体されているかが
問題だね。WM_QUIT まで処理は進んでるんで、MessageBox 関数後の
処理でクラッシュするかもしれない。運良く本来のメッセージループまで
もどれたら、アプリは正常終了できるんじゃないかな。
799
名前:
733
:04/11/20 18:31:40
自己解決しました。
800
名前:
デフォルトの名無しさん
:04/11/20 18:47:03
>>797
>>798
THX
結局MessageBoxってWinMainのような
ウィンドウを生成してメッセージボックスをもつ仕様なんですね
801
名前:
デフォルトの名無しさん
:04/11/20 19:56:54
EnumWindowsでウィンドウハンドルを取得すると、
タスクバーに無い(見えない)ウィンドウらしきものも取得されるみたいですね。
デスクトップには実際に3つしかウィンドウを開いていないのですが、
100個ちかくのウィンドウが取得されます。
タスクバーにあるウィンドウ(アプリケーション含め)だけを取得したい場合はどうすればいいのでしょうか?
802
名前:
デフォルトの名無しさん
:04/11/20 20:02:40
// EnumWindows()ではIME等、不可視のウィンドウも全て列挙されるので
//ふるいにかける必要がある
if( ( IsWindowVisible( hWnd ) ) && // 可視状態か
( GetWindow( hWnd, GW_OWNER ) == NULL ) && // トップレベルウィンドウか
( lstrlen( szWindowName ) > 0 ) && // キャプションを持っているか
( lstrcmp( szClassName, "Progman" ) != 0 )) // シェルでないか
{
803
名前:
デフォルトの名無しさん
:04/11/20 20:07:30
>802
お前・・・それ試したか?
804
名前:
デフォルトの名無しさん
:04/11/20 20:10:43
試すのは
>>801
の仕事
805
名前:
デフォルトの名無しさん
:04/11/20 20:10:58
猫サンネコネコネコミミモード♥
806
名前:
デフォルトの名無しさん
:04/11/20 20:36:32
>804
つまりお前の思い込みで書いたってことね。
納得。
807
名前:
デフォルトの名無しさん
:04/11/20 20:37:46
>>801
ITaskBar とかっていうインターフェイスなかったっけ?
808
名前:
デフォルトの名無しさん
:04/11/20 20:43:49
http://www1.harenet.ne.jp/cgi-bin/cgiwrap/unaap/bbs2/bbsdsp_itm.cgi?genrekey=api&logmode=2&tpckey=1035518663
809
名前:
デフォルトの名無しさん
:04/11/20 21:25:40
IInternetProtocol を実装して、独自の情報をIEコンポーネントに表示することは出来るのですが。
URLOpenBlockingStream / URLDownloadToFile / ATL::CBindStatusCallback::Download
など、データを取得する関数がことごとく失敗します。
(URLDownloadToFile にいたっては失敗したくせに成功コードを返してきます)
それぞれ 結果の Stream が NULL / ファイルが作成されない / OnDataAvailable が呼ばれない
という症状が出ています。
IEコンポーネントでは表示できるし、
実際にプロトコルハンドラの方にリクエストが来ていることは確認しました。
http などの定義済みプロトコルではこれらの取得関数は成功します。
どなたか成功したことのある方がいらっしゃったらお知恵をお貸しください。
810
名前:
789
:04/11/20 21:44:36
>>793
ご返答ありがとうございます。
試してみます。
ありがとうございました。
811
名前:
デフォルトの名無しさん
:04/11/21 04:46:28
あるウィンドウに文字を送信したい場合、
SendMessegeの引数をどうすればいいのでしょうか?
ウィンドウハンドルは、hWnd
送信したい文字は「a」とするならば、どうなるでしょう?
教えていただきたいのですが、ご存知の方はいますか?
812
名前:
デフォルトの名無しさん
:04/11/21 04:59:25
MSDN の WM_CHAR を調べればいいと思う。
813
名前:
デフォルトの名無しさん
:04/11/21 05:30:10
>812
質問はそういう意味だったのか。よく分かるな。
814
名前:
デフォルトの名無しさん
:04/11/21 08:31:17
>>812
は細木数子
普通は SendMessage(hWnd, WM_HOGE, TEXT('a'), 0); って思うのが関の山
815
名前:
デフォルトの名無しさん
:04/11/21 09:00:49
GetWindowText
SetWindowText
816
名前:
デフォルトの名無しさん
:04/11/21 09:38:09
質問です。
VisualBasic6.0でAPI呼び出す方法を勉強したいのですが
解説されているサイトでお勧めなのを教えてください。
817
名前:
デフォルトの名無しさん
:04/11/21 09:42:35
http://www.google.co.jp/search?hl=ja&q=VisualBasic6.0%E3%81%A7API%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99&lr=lang_ja
818
名前:
816
:04/11/21 09:51:35
ありがとうございます。
でもgoogleは文章で検索するのは精度落ちるのであまりいい方法ではないですよ。
詳しくはこちらで
http://kagakuteki.poke1.jp/jokyu/google-shikumi.html
引き続きお勧めサイトの情報お待ちしております。
819
名前:
デフォルトの名無しさん
:04/11/21 10:31:17
>818
うーん、お前は死んだ方がいいぞ。
自分の書き込みをよく見直してから投稿しろ。
820
名前:
デフォルトの名無しさん
:04/11/21 11:02:24
>>818
このキーワードならどう?
http://www.google.co.jp/search?as_q=&num=100&hl=ja&c2coff=1&btnG=Google+%E6%A4%9C%E7%B4%A2&as_epq=Win32API&as_oq=VB+VisualBasic&as_eq=&lr=lang_ja&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=
821
名前:
デフォルトの名無しさん
:04/11/21 11:16:02
ちょっと調べてわからないんで、安直ですが、教えて。
モニタの色の設定が 256 とか 24 bit color とか調べる API はなんですか。
822
名前:
デフォルトの名無しさん
:04/11/21 11:28:43
>821
あんま自信ねーんだけど
GetPixelFormat と DescribePixelFormat でどうよ。
823
名前:
デフォルトの名無しさん
:04/11/21 11:59:04
今アクティブにしているウィンドウから、別にウィンドウへ切り替えたらときに出るWMメッセージってなんでしたっけ?
忘れてしまいました。
教えてください。すいません。
824
名前:
デフォルトの名無しさん
:04/11/21 12:20:11
>>821
GetDeviceCapsかな?
825
名前:
デフォルトの名無しさん
:04/11/21 12:21:18
>>823
ttp://www.geocities.jp/winapi_database/Message/WM/index.html
826
名前:
デフォルトの名無しさん
:04/11/21 12:26:54
>>816
このスレにはVBプログラマあんまりいないんじゃねえの…?
基本がわかってるなら「ダニエル・アップルマンのWin32 APIパズルブック」という本が面白かった。本だけど。
http://www.amazon.co.jp/exec/obidos/ASIN/4881357905/
>>821
GetDeviceCapsでどう?
>>823
SPYで調べろよ。WM_ACTIVATE
827
名前:
816
:04/11/21 13:26:28
>>826
ありがとうございます。
早速三省堂へ行ってきます。
>>819
在り来たりな言葉だが
厨 房 必 死 だ な w
828
名前:
デフォルトの名無しさん
:04/11/21 13:50:04
うわ (;´Д`)y-~~ なんか俺と同じニオイがするな
829
名前:
821
:04/11/21 14:13:41
>>824
,
>>826
ありがとうございます。
MSCN のサンプルに 1<<GetDeviceCaps(hDC, BITSPIXEL) で色数を求めている例が
ありました。24 bit 前提でソフト組んでて違うモニタで一瞬びっくりでした。
>>822
どうもありがとうございました。取り合えず多数意見に従いました。
ご指摘の API も知りませんので、後で、勉強させてもらいます。
830
名前:
デフォルトの名無しさん
:04/11/21 14:21:57
ListViewの選択されているアイテムの選択色を
カスタムドローで変えるにはどうすれば良いのでしょうか?
CDDS_ITEMPREPAINTで(何故かuItemStateが全てCDIS_CHECKED | CDIS_SELECTED)
選択アイテムとそれ以外を区別する所までは上手くいっているのですが
選択アイテムの時に新しいカラーを指定しても反映されず、元の反転色のままで困っています。
831
名前:
デフォルトの名無しさん
:04/11/21 14:38:52
>>827
819では無いが、Googleを使いこなす努力は必要だろ
適切なキーワードを入れれば、精度は上がるし、その努力が足りない事をGoogleの性にするのはどうかと思うぞ
832
名前:
デフォルトの名無しさん
:04/11/21 14:48:41
わざわざ本など買わんでも
>>820
の最初のリンク先で十分じゃん。
833
名前:
デフォルトの名無しさん
:04/11/21 14:50:38
自作自演
834
名前:
デフォルトの名無しさん
:04/11/21 14:54:45
>823
忘れたんじゃなくて元々知らないんでしょ。
見栄張らなくていいよ。ま、見栄にもなってないけど。
835
名前:
デフォルトの名無しさん
:04/11/21 15:20:12
>>831
質問しに来て逆切れするのはそれ以前の問題だろ
836
名前:
デフォルトの名無しさん
:04/11/21 15:24:19
>>831
よく分からん。誰に言ってるんだ?
837
名前:
デフォルトの名無しさん
:04/11/21 15:26:38
いや 816 は逆ギレもしてねえぞ
ごく平静に礼儀をもって話しているつもりがあのとおり
要するに人格障害だ
一番苦しいのは本人てとこで許してやろうぜ(・∀・)ニヤニヤと
838
名前:
デフォルトの名無しさん
:04/11/21 16:31:27
>>836
>>816
→
>>817
→
>>818
→
>>819
→
>>827
質問→ググれ→Googleは精度悪い、ちゃんとサイト出せ→煽り→煽り
って流れ。
>>818
でGoogleがダメだから見つからないって言い訳してるが、
>>820
のようにキーワードを工夫する事無く、サイトが見つからないのをGoogleの性にするのは問題ありって話
本質的には、
>>835
の言うように問題外だけど
839
名前:
デフォルトの名無しさん
:04/11/21 17:57:51
SysMsgProcでMSGF_MENUなメッセージを捕まえてあれこれしようと思ったんですが、IEの「お気に入り」とか「スタートメニュー」は「メニュー」じゃないらしくて、メッセージが来ないんですよ(とりあえず、手元のW2K+SP4+IE6ではそうでした)。
こういう偽物(?)をひっくるめたメニュー由来のメッセージを扱う方法はないものでしょうか?
メニューも子ウィンドウの一種らしいんで、ウィンドウのハンドルからそれがメニューっぽいかどうか判別できれば良いんじゃないかと思うんですが…
840
名前:
デフォルトの名無しさん
:04/11/21 19:11:13
エディットテイストで文字列を設定するのは、SetWindowText( HWND hwnd, LPCSTR lpString)ですが、
今エディットテキスト内にあるテキストの指定した部分に文字列を挿入したい場合は、どのAPIをつかえばいいのでしょうか。
申し訳ございませんが教えていただきたいです。
841
名前:
デフォルトの名無しさん
:04/11/21 19:25:41
>840
GETしてSET
842
名前:
デフォルトの名無しさん
:04/11/21 19:30:13
>>840
EM_REPLACESEL
843
名前:
デフォルトの名無しさん
:04/11/21 19:52:40
>>841
ハッととしてグー
844
名前:
デフォルトの名無しさん
:04/11/21 20:17:57
>>728
そろそろ、誰か答えてもらえないかのぉ
845
名前:
デフォルトの名無しさん
:04/11/21 20:39:21
>844
まだ誰も答えてなかったんだ。
GetPageMemSize
でしょ。
846
名前:
モウモウ
:04/11/21 20:44:15
>>845
そんな API あるんですかい?
GetProcessMemoryInfo じゃないのか?
NT系限定だけど。
847
名前:
モウモウ
:04/11/21 20:48:00
あと、VirtualQueryEx でもできたような気がする。
こちらは 9x系でも使える。
848
名前:
816
:04/11/21 21:03:19
>>826
本購入しました。少し難しいですけど頑張って勉強することにします。
どうもありがとうございました。
>>838
少々誤解されているので一応補足します。
>Googleは精度悪い、ちゃんとサイト出せ
これは全く的外れです。
Googleは精度悪いなど言ってません。
>>818
で述べたように「文章で検索するのは精度落ちるから
「キーワードで検索するほうがよい」といった意味で教示したまです。
リンク先を読めば理解できると思うのですが。
私が希望したサイトの情報の回答がこの時点で得られてないので引き続き回答を
受け付けていると言ったまでです。
本当に意図が理解できなかったのか、それとも揚げ足を取りたかったのかどちらでしょう?
いずれにしても非常識極まりないですし、こちらとしても不愉快です。
長い間このスレにいますが、少々良識ない人間が最近入り込んでいて残念に思います。
849
名前:
816
:04/11/21 21:05:50
もう一つ補足。
「文章で検索するのは精度落ちる」というのは
>>817
に対するレスです。
「VisualBasic6.0でAPI呼び出す」という文章で検索してるので
キーワード絞って検索したほうがいいといった意味で
参考までに
>>818
のリンクを貼りました。
>>817
が少しでも正しくgoogleを使えるようになるといいと思います。
850
名前:
デフォルトの名無しさん
:04/11/21 21:21:36
>849
やっぱ死んだ方がいいよ、君は。
同じ失敗をまた犯している。もう救いようがないな。
851
名前:
デフォルトの名無しさん
:04/11/21 21:30:52
>>850
死ななくて良いけど、ネットはしない方が良いな
人付き合いも問題がありそうだから、プログラミングよりそっちの勉強をした方が良い
最近は職業訓練所とか行けばやってくれるのか?
852
名前:
デフォルトの名無しさん
:04/11/21 21:40:49
まぁ
>>816
の意図はどうあれ大抵の人は
「またカキコしてるようぜぇな」とレスを読んでません
853
名前:
デフォルトの名無しさん
:04/11/21 21:56:50
バカって API 呼び出すのもいちいち本買わなきゃならんのか。
大変ですな。
854
名前:
デフォルトの名無しさん
:04/11/21 22:04:15
全くもって残念極まりないです
855
名前:
デフォルトの名無しさん
:04/11/22 00:44:42
ム板をリファレンス代わりにするのが天才。
856
名前:
デフォルトの名無しさん
:04/11/22 01:22:02
調査方法の基本を知らんDQNがカメレオン現象でわめくから・・・
857
名前:
デフォルトの名無しさん
:04/11/22 09:10:27
858
名前:
デフォルトの名無しさん
:04/11/22 11:57:19
カメレオン現象ってなんだろ?Googleさんも15件しか知らない言葉だ
859
名前:
デフォルトの名無しさん
:04/11/22 12:47:53
>858
つか、相手にするな。
860
名前:
デフォルトの名無しさん
:04/11/22 15:20:56
>>846
さんくすこ
861
名前:
デフォルトの名無しさん
:04/11/22 16:09:47
MFCを使用せずに、リッチエディットコントロールを使った簡単なテキストエディタを作成しています。
文中に特定のワードが現れたときに、その部分だけ色を変えたいのですが、うまくいきません。
普通に入力していき、特定ワードが完成した瞬間にその部分の色が変わり、
逆に一文字削除したらその瞬間に元の色に戻るようにしたいのです。
特定ワードをハイライトする部分は完成したので、
「テキストファイルを読み込んだ直後、一度だけ色付けする」
というようなことなら出来ていますが、リアルタイムに変更させることができません。
具体的には、
1)メインウィンドウの中にリッチエディットコントロールを貼り付ける
2)ウィンドウメッセージを監視して、WM_KEYDOWNの瞬間にリハイライトルーチンを呼ぶ
ということを行っていますが、
リッチエディットウィンドウ内で一度マウスをクリックして、カーソルが「I」の形に変化した状態になると、
いくら文字を入力してもWM_KEYDOWNを検知することができません。
C/C++は15年くらい経験があるのですが、Windowsプログラミングは全くの初心者なので、
根本的に違っていたらご指摘ください。
862
名前:
デフォルトの名無しさん
:04/11/22 16:23:47
>>861
リッチエディトコントロールの中で起こる事はリッチエディトコントロールのウィンドウプロシージャが処理するから、
親ウィンドウではいくら待ってもWM_KEYDOWNは来ない。
代わりにWM_COMMANDでEN_CHANGE通知メッセージが来るのをを待てば良いんじゃないかな。
そしてEN_CHANGEが来るようにするにはリッチエディトコントロールへEM_SETEVENTMASKメッセージを送る必要がある。
863
名前:
デフォルトの名無しさん
:04/11/22 16:33:45
>862
ありがとうございます。
864
名前:
861
:04/11/22 16:42:50
>>862
ありがとうございます。
>>863
私の代わりにどうもです(w
865
名前:
デフォルトの名無しさん
:04/11/22 16:49:27
#define UNICODE
#define _UNICODE
ではなにが違うのでしょうか?
866
名前:
デフォルトの名無しさん
:04/11/22 16:55:55
ヘッダからのコピペ
#ifdef _UNICODE
#ifndef UNICODE
#define UNICODE // UNICODE is used by Windows headers
#endif
#endif
#ifdef UNICODE
#ifndef _UNICODE
#define _UNICODE // _UNICODE is used by C-runtime/MFC headers
#endif
#endif
867
名前:
デフォルトの名無しさん
:04/11/22 16:58:38
>>865
UNICODEはWindows.h以下でAPIやTEXT/__TEXTマクロ、TCHARなどの切替。
_UNICODEはTChar.hでCライブラリ関数や_tmain/_tWinMain、_TEXT/_Tマクロ、_TCHARなどの切替。
868
名前:
デフォルトの名無しさん
:04/11/22 17:26:33
>>866-867
レスありがとうございます。
CライブラリやMFCを使っている場合は_UNICODEもしろって感じですかね(自信なしです
869
名前:
デフォルトの名無しさん
:04/11/22 17:28:31
>>868
>>866
読め。どっちかが定義してあればもう片方も定義されるようになっている。
870
名前:
デフォルトの名無しさん
:04/11/22 17:50:53
常に両方指定してても問題無いですよね?
871
名前:
デフォルトの名無しさん
:04/11/22 17:55:58
>870
全部聞くなよ。最近この手の新人多いんだよなー
全ての判断を人に委ねる奴。
ひどい評価付けてやってるけどね。
872
名前:
865
:04/11/22 18:09:19
>>870
は私じゃありません
_UNICODEでコンパイルしてみたら「wsprintf・lstrlen・DrawText」が通らなかったので調べてました
とりあえず私は両方使います orz
873
名前:
デフォルトの名無しさん
:04/11/22 19:38:48
>>872
単に渡してる文字列がcharになってるだけだな。
間違いない。
874
名前:
デフォルトの名無しさん
:04/11/22 19:44:29
>873
うーん、それはありうりますなぁ
875
名前:
デフォルトの名無しさん
:04/11/22 19:55:35
ありうりそがりいまそがり
876
名前:
デフォルトの名無しさん
:04/11/22 20:56:20
>875
アホ
877
名前:
デフォルトの名無しさん
:04/11/22 21:46:25
>>875-876
s/う/お/
古典スレ池
878
名前:
デフォルトの名無しさん
:04/11/22 21:47:10
s/う/を/
879
名前:
デフォルトの名無しさん
:04/11/22 22:06:53
>877-878
くだらん
880
名前:
デフォルトの名無しさん
:04/11/22 22:54:51
「はべり」を指摘してないので全員アホ
881
名前:
デフォルトの名無しさん
:04/11/22 22:56:35
>880
アホじゃないけど存在不要
882
名前:
デフォルトの名無しさん
:04/11/23 04:05:27
ここはひどいインターネッツですね
883
名前:
デフォルトの名無しさん
:04/11/23 07:02:31
>882
アホ
884
名前:
デフォルトの名無しさん
:04/11/23 07:42:23
そろそろこのスレも閉鎖かな?
885
名前:
デフォルトの名無しさん
:04/11/23 08:47:06
>884
そうだな。どうせろくな回答もないし。
886
名前:
デフォルトの名無しさん
:04/11/23 08:54:25
じゃあスレ住民の総意で次スレは無しということで。
887
名前:
デフォルトの名無しさん
:04/11/23 09:05:16
>>885
そもそもまともな質問がないからな。
888
名前:
デフォルトの名無しさん
:04/11/23 09:05:46
>886
いいとも
>887
ごもっとも
889
名前:
デフォルトの名無しさん
:04/11/23 13:32:59
次スレ
http://pc5.2ch.net/test/read.cgi/tech/1057225723/
890
名前:
デフォルトの名無しさん
:04/11/23 13:56:04
質問です。
switch(msg)
case WM_COMMAND:
//処理(ボタンとかメニューとかを処理)
return 0;
case WM_NOTIFY:
//処理(リストビューとかの処理)
return 0;
}
ってやってたんですけど。
これってやっぱりreturnしちゃまずいですかね?
HIWORD(wp)とかLOWORD(wp)とかある場合だと自分が処理する以外の
他のメッセージとかDefWindowProcにいかないので処理されないですかね?
891
名前:
デフォルトの名無しさん
:04/11/23 14:20:14
…
892
名前:
デフォルトの名無しさん
:04/11/23 15:41:08
>>890
それ、動かしてみたか?
まともに動くわけ無いだろ。
893
名前:
デフォルトの名無しさん
:04/11/23 15:44:33
>892
この手の質問する奴ってまともに動いてるかどうかの
判断もできてないから問題ないんじゃない?
894
名前:
デフォルトの名無しさん
:04/11/23 15:45:03
>>890
場合による
895
名前:
581
:04/11/23 16:19:37
>>581
を教えて下さいお願いします。
896
名前:
デフォルトの名無しさん
:04/11/23 16:36:31
素直にダイアログボックス作って貼れ
897
名前:
デフォルトの名無しさん
:04/11/23 16:37:22
>>892
実際はDefWindowProcが一番下にあって
switch文のWM_COMMANDの中身は
switch(HIWORD(wp)とか判断してBN_CLICKとか
switch(LOWORD(wp)とかIDC_XXXとかあるわけですよ。
んで、実際に動いてます。
いまのところなんの支障もありません。
また、return 0で返してしまおうが、breakでぬけて
DefWindowProcに渡そうが動作はまったく変わりません。
898
名前:
デフォルトの名無しさん
:04/11/23 16:51:35
WM_COMMAND に関してはシステムは何もしないから、
return で帰ろうと、DefWindowProc に渡しても違いは無いよ。
899
名前:
デフォルトの名無しさん
:04/11/23 16:52:25
switch文の勉強しような
900
名前:
デフォルトの名無しさん
:04/11/23 16:55:52
返却値はメッセージによって違う
同じメッセージでもSDIかMDIかによって変わる
ヘルプ読む
901
名前:
デフォルトの名無しさん
:04/11/23 17:01:19
>>898
,900
そうなんですか。
いまのところSDIのアプリしか作ったことがないので
その辺気にしたことがありませんでした。
ありがとうございます。
902
名前:
デフォルトの名無しさん
:04/11/23 20:06:02
WINE って Win32 API を独自に実装しているのでしょうか?
それとも Windows のシステム DLL を逆アセして、
C 言語で書き直しているんでしょうか?
903
名前:
デフォルトの名無しさん
:04/11/23 20:33:41
>902
アホ
904
名前:
デフォルトの名無しさん
:04/11/23 20:35:09
こんばんわ
Winsockでヤフーのサーバwww.yahoo.co.jpへGET送信したんですけど、
返答してきたデータが文字化けをしてるんですね。
これってなぜこうなるのかご存知でしょうか?
HTTP/1.1 200 OK
Date: Tue, 23 Nov 2004 11:29:45 GMT
Cache-Control: private
(一部省略)
Content-Type: text/html;charset=euc-jp
Content-Encoding: gzip
domain=.yahoo.co.jp
25aa
・ミソノ・1」Xル^+<-箕tウ葎クmxョ・rヲ・ロ厩ロ]鑒/lレ哩・@ュrq
&Y1i
ー諢ュ3ャヘT=JS^忸07ヘU
・4#2仕!フh暮ォR)9「。リリ&ォ帥Rエャ 1ocW^?e+{・ィ3H煬ア4y・ハラェTa・8蘇3・dA慢埒8&イ_・A ・リ
v咽「ェjゥ0オ<フク=E{BC}Gナヲゥ-マHュ・K)9)%g・゚ヤエョコタE「
゚Fタt・S・・エサΜ怯設オ(t綉驕E
=zgV」ソbレXPGqヒ!イ啓~カ求EqW'Nコ+ケ~%p&恩・・
905
名前:
デフォルトの名無しさん
:04/11/23 20:37:57
> Content-Type: text/html;charset=euc-jp
> Content-Encoding: gzip
これ見た?
906
名前:
デフォルトの名無しさん
:04/11/23 20:56:20
>904
すげーな。わかんないところは適当に読み飛ばしか。
907
名前:
デフォルトの名無しさん
:04/11/23 20:59:08
>>904
Content-Type: text/html;charset=Shift_JIS
をつけてGETすれば、おk
908
名前:
デフォルトの名無しさん
:04/11/23 21:00:02
>>907
なんか勘違いしてないか?
909
名前:
デフォルトの名無しさん
:04/11/23 21:07:53
>>904
GET送信する際、恐らくAccept-Encoding: gzipと入れてるのでしょうか?
Accept-Encodingは圧縮されて受信しますので、そのような文字化けされた形になります。
Accept-Encodingを削除してGET送信してみてください。
プレーンのテキストで受信されますよ。
910
名前:
デフォルトの名無しさん
:04/11/23 21:18:42
>>902
だれか知らない?
911
名前:
デフォルトの名無しさん
:04/11/23 21:23:43
>>910
たぶん(最悪でも建前上は)前者じゃないと駄目だろ。
912
名前:
デフォルトの名無しさん
:04/11/23 21:25:38
>>911
でも、相互運用のための逆アセは合法だって聞いたよ。
913
名前:
デフォルトの名無しさん
:04/11/23 21:29:37
>912
誰に?
914
名前:
デフォルトの名無しさん
:04/11/23 21:30:34
米国の話。
実際にそれをやった企業があるらしいし、
裁判になって勝った例もあるらしいよ。
915
名前:
デフォルトの名無しさん
:04/11/23 21:33:09
EU の例だけど、↓ここを「相互運用」で検索すれば出てくる。
http://www.cric.or.jp/houkoku/h6_5/h6_5_main.html
916
名前:
デフォルトの名無しさん
:04/11/23 21:34:05
>915
サンクス
917
名前:
916
:04/11/23 22:03:25
ヽ、 `;、 .; 丿 ノ
` 、_,{ `‐、_ ,* ,、' ~`y'
) r' ~`'rr-、、,,,_ ,ノ"§ _,、< ,;;ゝ
`~`i' ,'r´:::::::::`;丶、 ,_ _,,、-'´,ノ ,ノ ,、 ‐'"`, ';‐'"
,' ,','::::::::::::::,' ````` `"´ `"´~`''''''''''T´::::::::::::::',', |
i ,','::::::::::::::,' ( ) (ブリブリッ',::::::::::::::::::ii :!
,r'" ,','::::::::::::: ,' ).∧ ) ',::::::::::::::::::!! i、
r''"' ノノ:::::::::::: ,' (:::::::::) ',::::::::::::::::',', i!ヽ
{____,、-'/:::::::::::::;;' ポルポト (:::::::::::::::) ',:::::::::::::::::ヾ、__)
918
名前:
デフォルトの名無しさん
:04/11/23 23:44:00
Win32APIのリファレンス本として「Win32 APIオフィシャルリファレンス改訂3版 グラフィック/GUI編 Ascii books」を買おうかと思うのですが、
どうでしょうか?
ほかにもっといいリファレンスなどありますでしょうか?
(MSDNライブラリなどは入っていますが、持ち歩きたいので)
http://www.amazon.co.jp/exec/obidos/ASIN/4756137482/qid=1101220486/sr=1-1/ref=sr_1_10_1/249-3121052-5258703
919
名前:
デフォルトの名無しさん
:04/11/23 23:49:48
>>918
MSDNライブラリを持ち歩け
920
名前:
デフォルトの名無しさん
:04/11/24 00:16:42
携帯用 MSDN ビューワ
http://www.vaio.sony.co.jp/Products/VGN-U50/
どぞ。
921
名前:
デフォルトの名無しさん
:04/11/24 00:21:56
そんなお金があればうれしいのですが・・・・
922
名前:
デフォルトの名無しさん
:04/11/24 06:05:34
>>918
それ買ってみたけど損したよ
関数の解説だけで構造体の解説が載ってないのがリファレンスとして片手落ち。
構造体の解説を読むにはMSDNを開く必要がある… 結局MSDNしか使ってない罠。
923
名前:
デフォルトの名無しさん
:04/11/24 09:00:32
コンボボックスで、ボタンを押してアイテムを選ぶのではなく
何かメッセージを送って任意のアイテムを選択させるやり方を教えてください
924
名前:
デフォルトの名無しさん
:04/11/24 09:43:26
CB_SETCURSEL
925
名前:
デフォルトの名無しさん
:04/11/24 10:35:10
>>924
ありがとうございました
926
名前:
デフォルトの名無しさん
:04/11/24 11:38:28
例えば20秒ごとにプログラムを動かす時に使うような
経過した秒数がわかるようなAPIを教えてください
927
名前:
デフォルトの名無しさん
:04/11/24 11:40:59
GetTickCount
928
名前:
デフォルトの名無しさん
:04/11/24 11:50:40
でも、起動には SetTimer() を使ってねっ♥
929
名前:
デフォルトの名無しさん
:04/11/24 12:05:35
>>927
>>928
レスありがとうございます
GetTickCountとSetTimer()の長所と短所を教えてください
どっちを使った方がいいのか迷ってしまいました
930
名前:
デフォルトの名無しさん
:04/11/24 12:10:38
>>929
両方やってみろ
それで分からなかったら、頭悪すぎだからプログラムやめとけ
931
名前:
デフォルトの名無しさん
:04/11/24 12:10:48
火を見るより明らか
GetTickCount() 無限ループ
SetTimer() イヴェントドリヴン
932
名前:
デフォルトの名無しさん
:04/11/24 12:39:37
>931
それは
>929
に対する回答にはなってないですね。
933
名前:
デフォルトの名無しさん
:04/11/24 13:14:57
>>929
両者は、使用目的が違うので比較するようなものではないです。
ループで GetTickCount() の値の変化を待つのは
CPU時間の浪費につながるので、あまり望ましくないのです。
934
名前:
デフォルトの名無しさん
:04/11/24 13:37:14
>>932
それがどうかしましたか?
935
名前:
デフォルトの名無しさん
:04/11/24 13:48:40
>934
いいえ
936
名前:
デフォルトの名無しさん
:04/11/24 13:49:55
すべてはわたしがつくったモノなのです
937
名前:
デフォルトの名無しさん
:04/11/24 16:14:11
マルチメディアタイマー
938
名前:
デフォルトの名無しさん
:04/11/24 17:27:38
TextOut (hdc, (22 * cxCaps) + (40 * cxChar), cyChar * i,
szBuffer,
wsprintf (szBuffer, TEXT ("%5d"),GetSystemMetrics (sysmetrics[i].iIndex)));
というコードがあったのですが%5dってどういう言う意味なんでしょうか。
%dとの違いがよくわからず困ってます。
939
名前:
デフォルトの名無しさん
:04/11/24 17:37:11
APIの説明の width のところを読め
940
名前:
デフォルトの名無しさん
:04/11/24 17:37:12
5桁
941
名前:
939
:04/11/24 17:41:33
すいません。訂正します。
APIの説明の width のところを読んでください。
942
名前:
本物の939
:04/11/24 18:01:20
騙るな、この野郎
訂正なんかしねえぞ
943
名前:
938
:04/11/24 18:05:20
荒れ気味なのでほかで聞きます。
944
名前:
940
:04/11/24 18:27:10
俺は無視かよ
945
名前:
デフォルトの名無しさん
:04/11/24 18:32:06
当然無視
946
名前:
939
:04/11/24 18:33:19
すいません。今精神が不安定で通院中なんです。
本当にすいません。病気なので許してください。
947
名前:
デフォルトの名無しさん
:04/11/24 19:43:53
>>944
とりあえず、これからも頑張ってくれ
948
名前:
デフォルトの名無しさん
:04/11/24 20:43:42
フォルダ選択ダイアログの出し方を教えてください。
開発環境はC言語、ボーランドです。
949
名前:
デフォルトの名無しさん
:04/11/24 20:46:57
>948
SHBrowseForFolder でググってください。
950
名前:
デフォルトの名無しさん
:04/11/24 20:47:24
SHFolderなんとかを使う
951
名前:
デフォルトの名無しさん
:04/11/24 20:50:58
>949
それそれ
952
名前:
デフォルトの名無しさん
:04/11/24 21:05:08
>>948
VisualC++逆引き大全500の極意
って本がかなりいいよ。
MSDNの100倍役に立つ。
これからは「MSDNの100倍役に立つVisual(以下略
って出してもいいくらい。
最近MSに下記原文まんま(ハゲ抜かしてw)で送ってみた。
おい!MS!てめぇんところにもう何年投資してやってるとオモテンだ!ハゲ!
いつになったらWin32APIが日本語訳されんだよ!ハゲ!
全然進歩してねぇよ。ハゲ!
最近じゃ英語ヘルプも含めて、日に日にWin32APIにヒットしなくなってるのは
どういうことだよ。ハゲ!
日本語訳そっちのけで、新機能なんか追加してんじゃねぇよ!ハゲ!
フィルタの種類ももニーズにあってないんだよ!ハゲ!
センスの悪さがMSDNからにじみ出てんだよ!ハゲ!
まだ、レスが返ってこないよw
953
名前:
デフォルトの名無しさん
:04/11/24 21:11:56
>>952
ゲイツ「これだから英語も出来ない極東の小国の民は困る」
954
名前:
デフォルトの名無しさん
:04/11/24 21:27:22
>>952
VisualC++逆引き大全500の極意
買ったけど損した。
使えるサンプルコードが少なすぎ。
たとえばSHBrowseForFolder の所なんかサンプルコードないだろ
955
名前:
デフォルトの名無しさん
:04/11/24 21:45:11
>>954
でも、ここまで詳しく書いてあれば十分だよ。
俺はその存在をしっただけでもよかった。
956
名前:
デフォルトの名無しさん
:04/11/24 21:46:05
逆引き大全、俺も VC++ を始めたての頃に買った。
誤植も多いけど、結構役に立ったよ。初心者にはいいと思う。
957
名前:
デフォルトの名無しさん
:04/11/25 00:52:04
htmlでルビ付きの文字列を作成し、それをVB6で
WebBrowserを使用してフォーム上に表示してますが、
WebBrowserは透過が出来ないため、WebBrowserの背景が
長方形型にくっきりと残ってしまいます。
どうしても、枠を消してフォームの背景上にWebBrowserの
ルビ付き文字だけを表示させたいのです。
VBでWebBrowserを透過表示させる方法を教えてくらはい
958
名前:
デフォルトの名無しさん
:04/11/25 05:42:16
たしかにMSDNは逆引きには向いてないな。
とくにShell/OLE/COM周りは。
959
名前:
デフォルトの名無しさん
:04/11/25 05:57:27
>>957
特に簡単な手はないです。get_Documentでドキュメントを手に入れて、
body の style を操作して背景イメージを適切に設定するのが良いと思います。
960
名前:
デフォルトの名無しさん
:04/11/25 06:07:00
逆引きだったら
VC++によるWin32プログラミングTips
http://www.expertmg.co.jp/html/cti/vctips/
フォルダ選択ダイアログの実装もちゃんとコードつきで説明がある。
961
名前:
デフォルトの名無しさん
:04/11/25 07:26:01
なぁ?
ディレクトリリストボックスってなかったっけ?
なんか古いタイプのファイルオープンダイアログにはついてんだけどなw
単体では無いんだなw
962
名前:
デフォルトの名無しさん
:04/11/25 07:29:10
LB_DIRのことか?
963
名前:
デフォルトの名無しさん
:04/11/25 07:37:18
>>962
おお!それそれ!
なるほどリストボックスだったんか・・・
SHBrowseForFolderとどっちがいいかな?
964
名前:
デフォルトの名無しさん
:04/11/25 07:50:31
>>936
ワラタ
965
名前:
デフォルトの名無しさん
:04/11/25 09:48:35
コンボボックスのオプションで
HTMLのOPTGROUPの様なものはありますか?
966
名前:
デフォルトの名無しさん
:04/11/25 15:20:56
コマンドラインやD&Dで渡されたファイル名を全部取り出すには
GetCommandLine() の返り値を全部解析するしかないですか?
またコンソールプログラムの場合はmain() の argc, argv でいいんですか?
967
名前:
デフォルトの名無しさん
:04/11/25 15:27:58
Win2K、VB6で開発を行なっています。
NetUserGetLocalGroupsを使ってUserの所属するグループを取得しようとしているのですが、
同じUser名でドメインの違うユーザーの区別はどうすれば良いのでしょうか?
NetUserEnumでUser名を列挙すると、"UserName"、"VUSR_USERNAME"と区別されているよう
なので、返された名前をNetUserGetLocalGroupsに渡してみたのですが"VUSR_USERNAME"の
方で関数が失敗してしまいました。
968
名前:
デフォルトの名無しさん
:04/11/25 15:34:57
MSDNに
<DomainName>\<UserName>
て書いてるけど
969
名前:
デフォルトの名無しさん
:04/11/25 15:57:48
>>966
NT系ならCommandLineToArgvWがつかえる。
970
名前:
デフォルトの名無しさん
:04/11/25 16:12:02
>>968
ああ、本当だ。吊ってくる..(´・ω・`)ショボーン
グループは取得できました。ありがとうございました。
それと、USR_USRERNAMEは何の関係も無かったです。
971
名前:
デフォルトの名無しさん
:04/11/25 16:20:39
WriteFileにてテキストファイルを上書きするとき、
元々書いてあった文字列より短いものを上書きすると、
前の内容が残っているようです。
↓こんな感じになります。
ファイルの文字列「あいうえお」
上書きする文字列「OK」
更新後のファイル文字列「OKうえお」
解決法を賜りたいです。
972
名前:
デフォルトの名無しさん
:04/11/25 16:30:34
>>971
SetEndOfFile
973
名前:
971
:04/11/25 16:33:01
>>972
ありがとうございます。
それを調べてみます。
974
名前:
デフォルトの名無しさん
:04/11/25 17:16:15
Windows XP 64-bit Edition上で32bitアプリから64bitアプリが
CreateProcess()で起動可能か検証したことのある方。
できましたでしょうか?
975
名前:
デフォルトの名無しさん
:04/11/25 17:18:28
>>969
ありがとうございます。
976
名前:
デフォルトの名無しさん
:04/11/25 18:06:05
例えばWindowsの検索を選んで、検索したいファイル名やフォルダを探すため、
エディットボックスのハンドルを得ようとしますよ。
その際、僕はVC++のSpyとか言うのを使って、子ウィンドウとなっているそれが
上から何番目になってるか調べてChildWindow(?)とかいう関数を使ってGW_NEXT
で順々にハンドルをとる、面倒で馬鹿な事やってるんですが、
これ以外にいい方法はありませんか?
なんかわかりにくいですが、要は一発で
検索のような入り組んだアプリケーションの、エディットボックスのハンドルを得たいんです。
無理でしょうか?
977
名前:
デフォルトの名無しさん
:04/11/25 18:15:35
>>976
ウィンドウクラスで検索して、GetDlgCtrlIDでコントロールIDを取得して
目的のものかどうか判断するってのはどうでしょう?
978
名前:
デフォルトの名無しさん
:04/11/25 18:59:12
前の方に出ていたOpenProcessToken()とCreateProcessAsUser()を使ってサービスからログオンユーザーの
デスクトップでアプリを実行させようと思ったんですが、ログオンユーザーのプロセスハンドルの取得
方法が分かりません。どうやってアカウント名からプロセスハンドルを引っ張ってこればよいですか?
979
名前:
デフォルトの名無しさん
:04/11/25 20:36:03
CreateWindowExでリストボックスを作っているのですが、
コレは・・・高さが文字の高さの整数倍にしかならないみたいなんですけど、
ウィンドウの幅にぴったり合わせるにはどうしたらいいでしょうか?
今はMoveWindowでウィンドウに合わせようとしています。
980
名前:
デフォルトの名無しさん
:04/11/25 20:50:47
>>978
LogonUser( "UserName", NULL, "Password", LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT,
& hToken );
でトークン作ったほうが簡単。
981
名前:
デフォルトの名無しさん
:04/11/25 22:13:36
>>980
その方法だとパスワード引っ張って来るのに、gina.dllに細工するとかちょっと仕掛が必要ですよね?
ちょっち、難易度が高い気がするです。
各アカウントのパスワードをユーザーに開示してもらうっていうのも現実的ではないですし…困り
ました。
982
名前:
デフォルトの名無しさん
:04/11/25 22:33:37
winsta0のプロセスと同じアカウントである必要はなしです。
適当な実行権があればCreateProcessAsUserはwinsta0\Default上に起動しますが。
(つかSIDからトークンにするやり方わからん)
983
名前:
デフォルトの名無しさん
:04/11/25 22:58:54
だから
>>732
だっつってるのに。
このスレだけで三度目だぞその質問
984
名前:
デフォルトの名無しさん
:04/11/25 23:04:02
ああ方法が分からないって言ってるのか。
現在ログオンしてるユーザーでいいんだろ?
だったら現在走行中のプロセス列挙してどれでもOpenProcessすればいい
どのプロセスもwinlogonが作成したトークンを引き継いでるはずだから
(Terminal Serviceや「ユーザーの切り替え」や「別のユーザーとして実行」は
考慮してないが)
985
名前:
◆Manna2uCLg
:04/11/25 23:13:33
ちょっくら次スレたててきますよ。
986
名前:
◆Manna2uCLg
:04/11/25 23:17:15
すまん、立てられなかった。orz
↓代わりによろしく
987
名前:
デフォルトの名無しさん
:04/11/25 23:27:49
まかせろ
988
名前:
デフォルトの名無しさん
:04/11/25 23:34:19
Win32API質問箱 Build25
http://pc5.2ch.net/test/read.cgi/tech/1101393155/
989
名前:
デフォルトの名無しさん
:04/11/25 23:34:52
ほれ
http://pc5.2ch.net/test/read.cgi/tech/1101393155/
990
名前:
デフォルトの名無しさん
:04/11/26 08:34:43
>>978
これじゃダメなんかい?
ttp://support.microsoft.com/default.aspx?scid=kb;ja;173687
991
名前:
デフォルトの名無しさん
:04/11/26 13:05:36
>>990
それだと権限がLocalSystemのままだから危なくない?
ってリンク先にも書いてるけど
992
名前:
979
:04/11/26 15:26:50
もう一つ質問です。
リストボックスの文字色を変えるにはどうしたらいいんでしょうか?
エディットボックスの場合には、WM_CTLCOLOREDITをつらまえて
SetTextColorで変更できたのですが、
リストボックスの場合は、WM_CTLCOLORLISTBOXをつらまえて
SetTextColorをやっても変更されません。
フォントの種類は変更できました。
リストボックスの文字色は、部分的にではなく、
全体としての文字色を変えたいです。
検索してオーナードローが出てきたのですが、
オーナドロー時にSetTextColorをやっても変更できませんでした。
よろしくお願いします。
993
名前:
デフォルトの名無しさん
:04/11/26 15:31:31
>>992
[SetWindowPos]
∀・)っ[カスタムドロー]
994
名前:
デフォルトの名無しさん
:04/11/26 17:04:00
>>992
UIの部分だけVBで作るっていう手もあるけど・・・
995
名前:
デフォルトの名無しさん
:04/11/26 17:15:11
指定したファイルが更新された場合に通知してくれる
APIがあったと思うんですが、関数名なんでしたっけ?
誰かご存知の方ご教授願います
996
名前:
デフォルトの名無しさん
:04/11/26 17:52:43
FindFirstChangeNotification?
997
名前:
979
:04/11/26 18:24:29
ありがとうございます。
>>993
それで頑張ってみます。
>>994
VBは触ったことがないので分かりません。
ごめんなさい。
998
名前:
デフォルトの名無しさん
:04/11/26 18:32:54
リストボックスはカスタムドローできない。
できるのはリストコントロール。
999
名前:
デフォルトの名無しさん
:04/11/26 18:41:35
>>996
これです。ありがとうございました!
1000
名前:
デフォルトの名無しさん
:04/11/26 18:47:36
1000
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.