■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build43
501
名前:
デフォルトの名無しさん
:2006/06/06(火) 21:11:44
ファイル(NTFS)の副ストリームを列挙するAPIっていうのは無いんでしょうか
502
名前:
デフォルトの名無しさん
:2006/06/06(火) 21:20:09
BackupRead って調べたらすぐ出てくると思うんだけど。
503
名前:
501
:2006/06/06(火) 21:37:38
>>502
いやそのAPIは知ってるんですけど
一つ一つ読むの面倒だし
列挙が終わってもTRUE返さなかったりするので
一気に取得できるいいAPIないかなと思ったわけです
・・調べたところどうも無いみたいなので
ラッパクラスでも書いてお茶を濁す事にします
504
名前:
デフォルトの名無しさん
:2006/06/06(火) 21:48:38
GetPrivateProfileSectionは、ファイルの最初からキーを列挙して
その順番のままバッファに書き込んでくれるのでしょうか?ソートなどはされませんか?
505
名前:
デフォルトの名無しさん
:2006/06/06(火) 21:50:15
何もしてくんないよ
506
名前:
デフォルトの名無しさん
:2006/06/06(火) 22:14:43
エクスプローラライクなファイラをC#2005で作成中です。
マイコンピュータやデスクトップの項目、それらのコンテキストメニュー、
ファイルなどのプロパティの表示といったシェル拡張らしき要素はどうすれば扱えるでしょうか。
shell32.dllを利用するのかな、と見当をつけた辺りで先に進めずにいます。
507
名前:
デフォルトの名無しさん
:2006/06/06(火) 22:21:35
>>506
msdnでIShellFolder調べてその近くにあるリファレンス等から
めぼしいのを拾ったらある程度は前進できるんじゃね?
よく知らんけど。
508
名前:
デフォルトの名無しさん
:2006/06/06(火) 22:22:12
>>506
シェル名前空間、Shell's Namespace、IShellFolderあたりでググれ。
509
名前:
デフォルトの名無しさん
:2006/06/06(火) 22:24:12
SHGetDesktopFolder でデスクトップの IShellFolder を得て、あとはアレコレと。
COM インタフェイス経由でいろんなオブジェクト(インタフェイス)を使うことになります。
あと「パス」に相当する ITEMIDLIST とか。
それなりにメンドクサイので頑張ってください。サンプルはググレばあるでしょう。
510
名前:
506
:2006/06/06(火) 23:12:39
>>507-509
よさそうなヒントをいくつもありがとうございます。
調べてみます。
511
名前:
デフォルトの名無しさん
:2006/06/07(水) 12:11:17
メンバー変数の先頭に付ける「m_」ってどういう意味?
命名規則知りたい。
スレ違いでわるいけど。
512
名前:
デフォルトの名無しさん
:2006/06/07(水) 12:14:16
>>511
メンバー変数の先頭に付ける…。
ちなみにスタティック変数には「s_」
グローバル変数には「g_」だ。
513
名前:
デフォルトの名無しさん
:2006/06/07(水) 12:14:37
>>511
メンバ変数
514
名前:
デフォルトの名無しさん
:2006/06/07(水) 12:26:02
>>511
名付けたヤシに聞け!
515
名前:
デフォルトの名無しさん
:2006/06/07(水) 13:38:19
この命名規則ってなんだっけ。
確かある人が「プログラミング言語は抽象化を目的としているので、変数名にハードの情報を散りばめてはいけない」って言ってたな。
516
名前:
デフォルトの名無しさん
:2006/06/07(水) 13:54:19
簡単な時計を作りました。背景を描画してその上に Rectangle を描いてその上に
時刻を表示させます。特に問題無く動いていたと思ったら、よく見ているとたまに
チラつきます。これを抑える方法はないでしょうか。
(無知なりにググってみたら、ダブル(マルチ?)バッファリングという方法は
見つかったのですが、もしもっと簡単に解決する方法があればと思い。。)
517
名前:
デフォルトの名無しさん
:2006/06/07(水) 13:55:58
ハンガリアン以外ってどんなのあるぅ?
518
名前:
デフォルトの名無しさん
:2006/06/07(水) 14:13:52
>>516
では、「ない」と答えればダブルバッファを使うのか?
519
名前:
デフォルトの名無しさん
:2006/06/07(水) 14:18:40
ちらつきに合わせてまばたきする手もある
520
名前:
デフォルトの名無しさん
:2006/06/07(水) 14:23:42
>>516
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/194nopaintbg/nopaintbg.html
ttp://www7a.biglobe.ne.jp/~ni_sky/cgi-bin/YukiWiki/wiki.cgi?mycmd=search&mymsg=WindowsSDK%a4%c7%a5%c0%a5%d6%a5%eb%a5%d0%a5%c3%a5%d5%a5%a1%a5%ea%a5%f3%a5%b0
お好みでドゾ
521
名前:
デフォルトの名無しさん
:2006/06/07(水) 14:27:27
>>516
WM_ERASEBKGNDを処理しないことで、多少は改善するかも
522
名前:
デフォルトの名無しさん
:2006/06/07(水) 15:51:29
MSDNにwindowを開くための雛形と、
それに関する詳細な解説みたいなのはないんでしょうか?
GUI周りの知識はネットで検索して雛形を見て組み込む感じでやっているのですが
この方法だとネットに依存しすぎていて、
オフラインでのプログラミング時などに困ってしまいます。
MSDNで調べながらできれば嬉しいんですが
先ほどから探しても見てもそういった形ではまとめられていないようなんですが…
523
名前:
デフォルトの名無しさん
:2006/06/07(水) 15:52:59
MSDNにサンプルがくっついてる
524
名前:
デフォルトの名無しさん
:2006/06/07(水) 15:58:56
見つけられないやつはどこを探してるんだろうか?
525
名前:
デフォルトの名無しさん
:2006/06/07(水) 16:00:17
MFCやATLのサンプルはあったんですが…
526
名前:
デフォルトの名無しさん
:2006/06/07(水) 16:14:57
windowを開くための雛形だったら1つあればじゅうぶんだろ
毎回ネットでさがさなきゃならんものか?
527
名前:
デフォルトの名無しさん
:2006/06/07(水) 16:25:55
いやwindowを開く処理は例に出しただけで
その他のGUI部分を弄りたくなった場合の話です。
528
名前:
デフォルトの名無しさん
:2006/06/07(水) 16:27:20
>MSDNにwindowを開くための雛形と、
>それに関する詳細な解説みたいなのはないんでしょうか?
529
名前:
デフォルトの名無しさん
:2006/06/07(水) 16:29:11
CreateWindowExの引数とか、Toolbar コントロールを作ったときの
定番の初期化の仕方とかそういうの?
PSDK のサンプルとかWTLやMFCのソース 読んだりするのを推奨。
530
名前:
デフォルトの名無しさん
:2006/06/07(水) 16:51:43
>>519
おまえ天才
531
名前:
デフォルトの名無しさん
:2006/06/07(水) 16:59:34
Windows2000prosp4なんですが、
デスクトップなどで右クリックしたときに表示される
コンテキストメニューに自分で指定したアプリを
起動するような項目を追加したいのですが
どうすればよいでしょうか?
532
名前:
デフォルトの名無しさん
:2006/06/07(水) 17:28:29
窓の手
533
名前:
デフォルトの名無しさん
:2006/06/07(水) 20:37:48
入力補間機能を実装したいのですが、足がかりがなくて困ってます。
VC++のような入力補間機能はAPIで手軽に作れたりしますか?
534
名前:
デフォルトの名無しさん
:2006/06/07(水) 20:47:23
あきらめなさい。
535
名前:
デフォルトの名無しさん
:2006/06/07(水) 20:47:37
>>533
むり
ファイル解析して一覧表みたいなの作って自力表示
536
名前:
デフォルトの名無しさん
:2006/06/07(水) 20:58:53
>>522
ttp://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/windows/aboutwindows.asp
537
名前:
デフォルトの名無しさん
:2006/06/07(水) 20:59:26
>>531
IContextMenuだったかも?
538
名前:
デフォルトの名無しさん
:2006/06/07(水) 21:15:43
DLLから関数を呼ぶとき_declspecを使う方法とDEFファイル使う場合があると思うが、
おまえらはどっち使ってる?
もしくは、どう使い分けてる?
539
名前:
デフォルトの名無しさん
:2006/06/07(水) 21:18:08
何となくDEF使ってる
540
名前:
デフォルトの名無しさん
:2006/06/07(水) 21:18:33
DEF ファイル使うのはシンボルのエキスポート名や番号を
陽に指定したいときだけかな。
541
名前:
デフォルトの名無しさん
:2006/06/07(水) 21:52:12
どっちも使ってないけどダメなん?
542
名前:
デフォルトの名無しさん
:2006/06/07(水) 21:57:54
>>541
どうやってるの?GetProcAddress?
543
名前:
デフォルトの名無しさん
:2006/06/07(水) 22:15:27
それ
544
名前:
デフォルトの名無しさん
:2006/06/08(木) 01:22:57
GetOpenFileNameでフォルダを選択することは可能ですか?
もしくは、ファイルとフォルダを同一のダイアログで選択→開くできる方法は
ありますか?
ご存知の方がおられましたらお教え下さい。(_ _)
545
名前:
デフォルトの名無しさん
:2006/06/08(木) 02:37:21
>Get(ry
無理。
>もし(ry
そのようなダイアログを自分で作る。
546
名前:
デフォルトの名無しさん
:2006/06/08(木) 02:48:57
> ファイルとフォルダを同一のダイアログで選択→開く
フォルダの中のファイルを開きたい場合どう操作するんだろう
547
名前:
デフォルトの名無しさん
:2006/06/08(木) 02:50:58
「開く」操作とフォルダ階層を降りていく操作を別にするとか?
548
名前:
デフォルトの名無しさん
:2006/06/08(木) 10:10:40
>>498
Windowsのバージョンに依存だったはず。
とりあえずWindows98/2000以降はサウンドカードの種類に依存せず複数再生可能(DirectSoundでミキシング)。
95は無印だとサウンドカードの再生可能チャンネル数依存だったはず。
549
名前:
デフォルトの名無しさん
:2006/06/08(木) 12:35:46
ダイアログ中のフォルダを右クリックして「開く」じゃダメ?
550
名前:
デフォルトの名無しさん
:2006/06/08(木) 13:36:42
>>544
SHBrowseForFolderで、BIF_BROWSEINCLUDEFILESを指定すればよい。
ただしIE4以上が必要。
551
名前:
デフォルトの名無しさん
:2006/06/08(木) 18:09:27
WinMain関数の戻り値の型について
WINAPIとAPIENTRYがありますが、
どう違うのでしょうか?
552
名前:
デフォルトの名無しさん
:2006/06/08(木) 18:13:02
それは戻り値の型ではありません。
553
名前:
デフォルトの名無しさん
:2006/06/08(木) 18:27:29
>>551
552の言うとおりで、それは呼び出し規約の指定。
どちらも最終的には__stdcallになる。
http://www.google.co.jp/search?q=__stdcall+__cdecl&lr=lang_ja
554
名前:
551
:2006/06/08(木) 19:29:48
おれあほす
どうも失礼しました
ありがとうでした
555
名前:
デフォルトの名無しさん
:2006/06/08(木) 20:27:38
最小化したメモ帳に直接文字を打ち込む(エンターなど含む)
プログラムを作りたいのですが、APIを使って実現可能でしょうか?
556
名前:
デフォルトの名無しさん
:2006/06/08(木) 20:41:31
>>555
WM_SETTEXTメッセージ送ればいい。
557
名前:
デフォルトの名無しさん
:2006/06/08(木) 22:06:34
信じちゃ駄目だよ。
558
名前:
デフォルトの名無しさん
:2006/06/08(木) 22:07:56
SendMessageがあれば何でもできるよ!
キー入力送ったりとか
559
名前:
デフォルトの名無しさん
:2006/06/08(木) 22:34:48
そりゃま、JNIとP/Invokeを使えばたいていのことは出来るだろう。
560
名前:
デフォルトの名無しさん
:2006/06/08(木) 22:35:27
>>559
誤爆です。失礼
561
名前:
デフォルトの名無しさん
:2006/06/09(金) 11:51:56
標準のスタティックコントロールとかエディットコントロールが内部でどんな動作してるか調べたいんですが、
ソースとか無いのでしょうか?
562
名前:
デフォルトの名無しさん
:2006/06/09(金) 11:55:54
>>561
あるよ。
563
名前:
デフォルトの名無しさん
:2006/06/09(金) 12:00:59
あるある厨氏ね
564
名前:
デフォルトの名無しさん
:2006/06/09(金) 12:04:06
Microsoft は Windows のソースコードを一般開発者には公開していません
↑
有るか無いか聞かれてるのに、こんな返事がいいのか?
565
名前:
デフォルトの名無しさん
:2006/06/09(金) 12:22:12
例のソースにボタンコントロールのソースは入ってた
他はおぼえてない
566
名前:
デフォルトの名無しさん
:2006/06/09(金) 13:12:07
おぼえてない厨氏ね
567
名前:
デフォルトの名無しさん
:2006/06/09(金) 13:14:30
厨氏ね厨氏ね
568
名前:
デフォルトの名無しさん
:2006/06/09(金) 13:51:18
厨氏ね厨氏ね厨氏ね
569
名前:
デフォルトの名無しさん
:2006/06/09(金) 13:56:35
標準コントロールのソースぐらい普通に配布してくれてもいいと思うんだけどなぁ
570
名前:
デフォルトの名無しさん
:2006/06/09(金) 14:22:52
勝手な仕様変更が出来なくなるから、却下です。
571
名前:
デフォルトの名無しさん
:2006/06/09(金) 14:57:06
wineってどうしてんの
572
名前:
デフォルトの名無しさん
:2006/06/09(金) 21:56:25
Exite翻訳で英語版MSDNを翻訳してもらおうとしましたが変な動きをします。
いい翻訳サイトはありませんか?
573
名前:
デフォルトの名無しさん
:2006/06/09(金) 22:17:05
擦れ違い
574
名前:
デフォルトの名無しさん
:2006/06/09(金) 22:31:02
↓芸無し、40代独身デブニート(素人)童貞、近藤妥の特徴
http://booklog.kinokuniya.co.jp/hayase/archives/2006/05/post_50.html
●自分に甘く、他人に厳しい
●努力せずに成果が欲しい
●すぐにいらつき、キレる
●無気力、鬱になりやすい
●「悪い」と思っても謝らない
575
名前:
デフォルトの名無しさん
:2006/06/09(金) 22:40:28
そいつの名前久しぶりに見たけど
どこかのスレに来てるの?
576
名前:
デフォルトの名無しさん
:2006/06/10(土) 00:25:29
>>572
結局最後は自分だけが頼り。
いい翻訳サイト探すよりも、いい辞書サイト探すほうがいいと思うよ。
577
名前:
487
:2006/06/10(土) 16:52:44
以前タイトルバーのダブルクリックの件で質問した者ですが、色々と仕様を見直した所、
やっぱWM_GETMINMAXINFO拾ってLPARAMで渡されるMINMAXINFOを弄るのではなく、完全に
独自処理をしたくなってしまいますた。
タイトルバーをダブルクリックした時の処理を完全に乗っ取る方法があれば教えて下さい。
orz コノトオリ
578
名前:
デフォルトの名無しさん
:2006/06/10(土) 17:01:53
自前のタイトルバー作れ
579
名前:
492
:2006/06/10(土) 17:46:30
>>577
SetWindowsHookEx(WH_GETMESSAGE, ...)でローカルフックを仕掛けて、
WM_NCLBUTTONDBLCLKかつHTCAPTIONな場合に
メッセージをWM_NULLへ変更すれば処理を無効化できる。
これを応用してお好きなように。
580
名前:
487
:2006/06/10(土) 18:09:56
>>492
フックは初めてなんで研究してみます
何度もスンマソン orz
581
名前:
デフォルトの名無しさん
:2006/06/10(土) 18:40:10
>>572
断片的な日本語資料でがんばってwinプログラミングに慣れてくれば、
そのうち英語msdnも読めるようになる。
582
名前:
デフォルトの名無しさん
:2006/06/10(土) 19:48:33
童貞が捨てられるAPIがMSDNに載ってないよ
583
名前:
デフォルトの名無しさん
:2006/06/10(土) 20:17:27
>>582
socket
gethostbyname
connect
send
recv
shutdown
closesocket
584
名前:
デフォルトの名無しさん
:2006/06/10(土) 20:21:17
ウィンドウのクライアントエリアのサイズを指定したサイズの通りにする方法はどうしたらいいのでしょう?
CreateWindow()で(0, 0, 100, 100)とかして正方形にしようとしたんですけど、キャプション部があるので正方形になりません。
585
名前:
デフォルトの名無しさん
:2006/06/10(土) 20:27:34
>>584
GetSystemMetricsでタイトルバーや枠のサイズを取得してそれをサイズから引く
586
名前:
デフォルトの名無しさん
:2006/06/10(土) 20:28:59
ポップアップウィンドウを作るとか、AdjustWindowRect()を使うとか。
自分も少し前まで必死に悩んでたよ。
587
名前:
デフォルトの名無しさん
:2006/06/10(土) 20:46:13
>>572
日本語に翻訳せずにそのまま英語で理解してしまえばおk
いや、マジで。
そんなに難しい文法は使われてないから中学レベルの英語力あれば辞書引きながら読めば読めるはず。
588
名前:
487
:2006/06/10(土) 20:53:53
>>584
簡単なのを一つ
1、GetWindowRect()でウィンドウのサイズを求める
2、GetClientRect()でクライアント領域のサイズを求める
3、手順1から手順2の値を引くことで縦横それぞれのクライアント領域「以外」のサイズが求められる
4、自分で調整したいサイズに手順3の結果を加えてMoveWindow();
この方法だとメニューやステータスバーの有無を一々考慮しなくても良いのでオススメ
589
名前:
デフォルトの名無しさん
:2006/06/10(土) 21:12:19
MoveWindow()よりもSetWindowPos()のほうがよくない貝?
590
名前:
デフォルトの名無しさん
:2006/06/10(土) 23:58:25
>>588
それらをやってくれるのが
>>586
な訳だが…
591
名前:
487
:2006/06/11(日) 00:03:23
ヒント:使い勝手
592
名前:
デフォルトの名無しさん
:2006/06/11(日) 00:13:49
AdjustWindowRect
クライアント領域の位置とサイズの指定から、その条件を満たすために必要な、
ウィンドウの位置とサイズを計算します。得られたウィンドウの座標は、通常、
CreateWindow 関数でウィンドウを作成するときに使われます。
意味がわからん・・・
593
名前:
590
:2006/06/11(日) 00:19:30
なるほど、頭が悪いだけか
594
名前:
デフォルトの名無しさん
:2006/06/11(日) 00:24:23
AdjustWindowRectはメニューが折り返された場合を考慮してくれないけど
>>588
では大丈夫なのかな?
595
名前:
デフォルトの名無しさん
:2006/06/11(日) 00:28:55
588でも駄目。588方式にAdjustWindowRect()に対する優位性はない。
同じ処理を毎回毎回書かなきゃいけない588方式は糞。
単にAdjustWindowRect()を知らなかっただけでしょ。
今度からはAPI使うようにしような。
596
名前:
デフォルトの名無しさん
:2006/06/11(日) 00:29:12
>>594
サイズ変更後に折り返しされる事は十分考えられる。
更に
>>588
ではCreate後にしか計算出来ないから、使い勝手も問題ありだと思うよ。
597
名前:
デフォルトの名無しさん
:2006/06/11(日) 00:41:06
>>595
いくら
>>588
でも、関数化くらいはするんジャマイカ?(w
598
名前:
デフォルトの名無しさん
:2006/06/11(日) 00:47:53
>>596
のはAdjustWindowRectは折り返しも考慮してくれる、って意味でいいんだよな?
可能性としてメニュー折り返されることは十分考えられる、と言ってるともとれるんだが。
599
名前:
596
:2006/06/11(日) 00:52:33
>>598
言いたい事は
>>595
と同じつもりだった…。
メニューの折り返しは、どちらもプログラマが考慮する必要がある。
600
名前:
デフォルトの名無しさん
:2006/06/11(日) 00:53:43
AdjustWindowRect()も588もメニューの折り返しは考慮されないよ。
588の方法でできない事はAWR()にもできないけど、
588の方法でできる事はAWR()にもできる。
AWR()でできない事は588でもできないけど、
AWR()でできる事は588でもできる。
AWR()の588に対する優位な点は標準APIとして提供されている事。
601
名前:
487
:2006/06/11(日) 00:56:06
>>595
>単にAdjustWindowRect()を知らなかっただけでしょ。
知ってて使い勝手悪いから588を書いたワケで、
>同じ処理を毎回毎回書かなきゃいけない588方式は糞。
数行のコードを一つの関数に纏めときゃ済む話なのに?
AdjustWindowRect()使う為引数考えたら588の例の方がマシ
そんなことも理解できない595が糞
>>596
>Create後にしか計算出来ないから、使い勝手も問題ありだと思うよ。
それのどこに問題があるのかわからんが…
CreateWindow前に決め打ちする必然性ってナニ?
hWnd = CreateWindow(); //位置・サイズはCW_USEDEFAULT
588の関数(hWnd);
ShowWindow(hWnd,SW_SHOW);
自分はWindowハンドルだけありゃいつでも使えるので多用してるけどな。
なお折り返しについてはAdjustWindowRect()も事情は一緒。
602
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:02:56
>>601
いい加減、ハジの上塗りはやめた方がいいよ?
603
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:03:49
おぉ怒っている・・・
つうか使い勝手を言うなら
AdjustWindowRect使う奴も
関数でラップすればいいだけの話なわけだが
604
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:06:05
>>603
ラップせずに使えるモノを、何故わざわざラップするのかと(ry
605
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:08:27
>>604
>つうか使い勝手を言うなら
606
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:08:31
http://kumei.ne.jp/c_lang/sdk/sdk_73.htm
ここに書いてある事は間違い?
>AdjustWindowRect関数はこれからウィンドウを作るときにはつかえても
>すでにできてしまったウィンドウの調整には使えません。
607
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:09:24
>>604
書かずに実現できる処理を、何故わざわざ自前で書くのかと(ry
608
名前:
606
:2006/06/11(日) 01:10:16
ああ、意味判った
606は忘れてちょ
609
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:13:58
588だと、WM_CREATEのタイミングでボタンを中央に生成ってなことが出来ないからな…。
AdjustWindowRectを紹介した上で利点と共に588を紹介ってのなら、まぁ、許せるけど。
1つ気になったんだけど、588を2回やると、1度目で幅がOKで長さがメニュー折り返しで不完全な
状態になって、2回目でメニューの折り返しもOKな状態になりそうに思えるんだけど、気のせい?
610
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:14:21
>>606
普通に出来るけどな
611
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:21:05
一応補足。
>AdjustWindowRectを紹介した上で利点と共に588を紹介ってのなら、まぁ、許せるけど。
601だけを読んでも588に利点があるとは全く思えないんで、利点と信じてる点を紹介ってことで。
612
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:21:44
>1
つ気になったんだけど、588を2回やると、1度目で幅がOKで長さがメニュー折り返しで不完全な
>状態になって、2回目でメニューの折り返しもOKな状態になりそうに思えるんだけど、気のせい?
気のせいではないと思われ
ところでメニューの折り返しの処理のやり方知らない…
メニューバーの文字列の横の長さをどうにかして拾ってなんとかすんの?
613
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:22:16
AWR()を知ってて588を使うって
どんな気持ち?
∩___∩ ∩___∩
♪ | ノ ⌒ ⌒ヽハッ __ _,, -ー ,, ハッ / ⌒ ⌒ 丶|
/ (●) (●) ハッ (/ "つ`..,: ハッ (●) (●) 丶 今、どんな気持ち?
| ( _●_) ミ :/ 588 :::::i:. ミ (_●_ ) | ねぇ、無知晒されるのって
___ 彡 |∪| ミ :i ─::!,, ミ、 |∪| 、彡____どんな気持ち?
ヽ___ ヽノ、`\ ヽ.....::::::::: ::::ij(_::● / ヽノ ___/
/ /ヽ < r " .r ミノ~. 〉 /\ 丶
/ /  ̄ :|::| ::::| :::i ゚。  ̄♪ \ 丶
/ / ♪ :|::| ::::| :::|: \ 丶
(_ ⌒丶... :` | ::::| :::|_: /⌒_)
| /ヽ }. :.,' ::( :::} } ヘ /
し )). ::i `.-‐" J´((
ソ トントン ソ トントン
614
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:37:22
イジメイクナイ
615
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:46:07
気になったのでメニューの折り返しについてぐぐったけど、参考になりそうなところが見つからない
616
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:48:38
でだ、584よ
結論としては、AdjustWindowRect()を使うようにしろ。
ただ、CreateWindowEx()使う場合にはAdjustWindowRectEx()を
使わなにゃならんから、そこんとこ注意な。
キャプション部が要らない場合はポップアップウィンドウを作るの
がいいと思うぞ。
617
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:51:34
>>615
自分も数年前に探したけどなかったよ。。。
その時はメニューの折り返しを考慮した関数を自作したけど、XPのビジュアルスタイルで
破綻して、もう更新してないアプリだったんでそれっきり…。
618
名前:
デフォルトの名無しさん
:2006/06/11(日) 01:55:40
メニューの折り返しについては、
1.ウィンドウを作成してからクライアント領域の大きさを取得する。
2.目的のウィンドウの大きさとの差を計算する。
3.差の分だけウィンドウの大きさを変更する。
goto 1.
こんな感じだね。2回ほど繰り返さないといけない。
619
名前:
デフォルトの名無しさん
:2006/06/11(日) 02:04:29
>618
588法x2回だな…
620
名前:
デフォルトの名無しさん
:2006/06/11(日) 03:34:07
>>577
WM_NCLBUTTONDBLCLK は、DefWindowProc()に渡さなけりゃ無効化できる。
こんなかんじでできるんじゃね
case WM_NCLBUTTONDBLCLK:
if (HTCAPTION == wParam)
{
// ここでタイトルバーをダブルクリックしたときの独自処理
return 0;
}
DefWindowProc();
621
名前:
デフォルトの名無しさん
:2006/06/11(日) 03:35:51
最後間違えた
return DefWindowProc();
622
名前:
デフォルトの名無しさん
:2006/06/11(日) 05:12:13
>>613
はバカ
>>588
はメリットあるだろ?
623
名前:
デフォルトの名無しさん
:2006/06/11(日) 06:11:01
AdjustWindowRect()して
その後心配ならGetClientRectで確認
624
名前:
588
:2006/06/11(日) 08:56:46
起きてみたらこれかい i||i(´・ω・` )
>>609
自分は単純に2回繰り返して折り返してまつ。
なおWM_SIZINGでlParam使って同じ事やる場合には2回目のMoveWindowは不要で
1回MoveWindow()したあとDefWindowProc()に渡してやると勝手に直してくれるみたい。
これをやるとWindow枠ドラッグ中にメニューが動的に折り返るようになる。(MoveWindowの第5引数はTRUEで)
#副作用として枠ドラッグ中もWindow内が更新されるけどキニシナイ
自分はこれで十分かと思ってるけどイマイチ自信が無い。他の人のメニュー折り返し部分のコード見たいが。
>>620
579で教えて貰った後でフック無しでもいけるとわかってそれでやってますた。
わざわざマリガトウ。
んじゃ名無しに戻るわ('A`)
625
名前:
デフォルトの名無しさん
:2006/06/11(日) 09:07:17
>>622
ないよ。
>>624
1. Adjust〜でサイズ計算
2. 1で計算したサイズでCreate
3. クライアント領域サイズを取得
4. 1の元となるクライアントサイズと3との差を算出
5. SetWindowPosでサイズ変更
626
名前:
デフォルトの名無しさん
:2006/06/11(日) 09:13:06
ここまでくるとAdjust〜のメリット無いな
627
名前:
デフォルトの名無しさん
:2006/06/11(日) 09:24:29
通常は
>625
の 1 2 だけ
メニューあり&横幅が狭くて2行になりそうな場合に 3 4 その結果によっては5
628
名前:
デフォルトの名無しさん
:2006/06/11(日) 09:30:28
Createしか考慮してないと軽くジャブ
629
名前:
デフォルトの名無しさん
:2006/06/11(日) 09:46:06
>628
>616
630
名前:
デフォルトの名無しさん
:2006/06/11(日) 09:49:52
マジ突っ込みの上に曲解された orz
ムキにならんでもいいのに
631
名前:
デフォルトの名無しさん
:2006/06/11(日) 11:17:35
曲解してるのはどちらかと(ry
632
名前:
デフォルトの名無しさん
:2006/06/11(日) 14:01:34
曲解っぷりならば
オレの右に出る者は居ない。
633
名前:
デフォルトの名無しさん
:2006/06/11(日) 14:12:56
すげー右曲がり
634
名前:
デフォルトの名無しさん
:2006/06/11(日) 14:20:28
スレ違いだからこっちでやれ。
ttp://pc8.2ch.net/test/read.cgi/tech/1148297648/
635
名前:
デフォルトの名無しさん
:2006/06/11(日) 21:55:23
http://up2.viploader.net/pic2d/src/viploader2d62026.jpg
こんな感じのタブはどうやって作るんですか?
636
名前:
デフォルトの名無しさん
:2006/06/11(日) 23:06:12
>>635
ツールバーがタブに変装している
637
名前:
デフォルトの名無しさん
:2006/06/11(日) 23:25:22
質問です。
ttp://www.aaaa.co.jp/FOLDER/
というURLがあったとします。
そのFOLDERフォルダ直下のファイル一覧の取得する方法ってありますか?
638
名前:
デフォルトの名無しさん
:2006/06/11(日) 23:29:30
むこうのサーバが一覧かえしてくれるなら
639
名前:
デフォルトの名無しさん
:2006/06/11(日) 23:29:37
ない。
640
名前:
デフォルトの名無しさん
:2006/06/11(日) 23:31:39
使えねぇなw
641
名前:
デフォルトの名無しさん
:2006/06/11(日) 23:37:26
TTPプロトコルなんて聞いたこともないな。
642
名前:
デフォルトの名無しさん
:2006/06/11(日) 23:38:26
素直にダウンローダが作りたいと言え
643
名前:
デフォルトの名無しさん
:2006/06/12(月) 00:24:18
>>637
Win32APIの話じゃない。
まず、ネットワークについて勉強汁。
その後は、プロトコルについて勉強汁。
644
名前:
デフォルトの名無しさん
:2006/06/12(月) 00:58:01
>>643
どのぐらい勉強したら出来ますかね?
645
名前:
デフォルトの名無しさん
:2006/06/12(月) 01:34:23
>>644
3日〜3年位
646
名前:
デフォルトの名無しさん
:2006/06/12(月) 02:49:17
>>645
すんごい幅広いですね
つまり出来ないやつは3年経っても出来ないってことか・・・
647
名前:
デフォルトの名無しさん
:2006/06/12(月) 03:01:17
>>644
数十年勉強してHTTPの仕様に関われるぐらい偉くなれば、あるいは……。
648
名前:
デフォルトの名無しさん
:2006/06/12(月) 08:57:36
>>644
まずはRFC2616を理解してから出直してくるがいいお(;^ω^)
649
名前:
デフォルトの名無しさん
:2006/06/12(月) 09:50:16
ttpスキームはHTTPなのか?
650
名前:
デフォルトの名無しさん
:2006/06/12(月) 12:45:56
アプリの実行中に終了して、再度実行すると前回の状態がそのまま復旧されるようなAPIってないですか?
プロセスのメモリイメージやリソースをそのまま退避・復旧してくれるような物です。
651
名前:
デフォルトの名無しさん
:2006/06/12(月) 12:47:03
>>650
ない
652
名前:
デフォルトの名無しさん
:2006/06/12(月) 12:47:06
結論だけは教えてやる。
「出来ない」
ああ、俺って親切。
653
名前:
デフォルトの名無しさん
:2006/06/12(月) 13:00:03
OSのスリープやレジュームを叩くAPIのことじゃないの?
654
名前:
デフォルトの名無しさん
:2006/06/12(月) 18:02:58
サブクラス化された時に、サブクラス化されたウィンドウに送られるメッセージってありますか?
655
名前:
デフォルトの名無しさん
:2006/06/12(月) 18:12:51
>>654
ない
656
名前:
デフォルトの名無しさん
:2006/06/12(月) 20:47:33
WM_CREATEの時に
ShowWindow(hWnd, SW_MAXIMIZE);を実行してもうまく最大化されません。
ウィンドウは画面いっぱいには表示されているが、最大化にはなっていない。という感じです。
なぜでしょうか?また、これを解決する方法はありますか?
657
名前:
デフォルトの名無しさん
:2006/06/12(月) 20:53:09
最大化ボタンを押す
658
名前:
デフォルトの名無しさん
:2006/06/12(月) 20:59:14
>>656
CreateWindowする時に最大化状態で作成汁
659
名前:
デフォルトの名無しさん
:2006/06/12(月) 21:02:19
出来ればメッセージループ内のWM_CREATEの時に最大化状態にしたいのですが、無理ですか?
660
名前:
デフォルトの名無しさん
:2006/06/12(月) 21:04:36
>>659
無理
661
名前:
デフォルトの名無しさん
:2006/06/12(月) 21:08:06
>>659
そもそもWM_CREATEはメッセージループ内ではない。
662
名前:
デフォルトの名無しさん
:2006/06/12(月) 21:08:54
WM_CREATEの中でShowWindow呼ぶのってキモイ
663
名前:
デフォルトの名無しさん
:2006/06/12(月) 21:12:14
了解しました。。。
664
名前:
デフォルトの名無しさん
:2006/06/12(月) 22:21:27
>>656
WM_CREATEの中で何か適当なメッセージを投げて(Postして)おいて、
そのメッセージを受け取ったときに最大化したらどうか?
665
名前:
デフォルトの名無しさん
:2006/06/12(月) 22:30:14
最大化ボタンを押す
666
名前:
デフォルトの名無しさん
:2006/06/12(月) 22:41:30
何の役にも立たない答えを一行で書いてるバカは
面白いと思ってやってるのかね
667
名前:
デフォルトの名無しさん
:2006/06/12(月) 23:00:02
役にも立たないと思うのは馬鹿だから
668
名前:
デフォルトの名無しさん
:2006/06/13(火) 00:10:26
>>666
質問側も、内容を一考して書き込め。
669
名前:
デフォルトの名無しさん
:2006/06/13(火) 11:50:12
WindowのZオーダーを調べる方法を教えてください。
670
名前:
デフォルトの名無しさん
:2006/06/13(火) 12:45:15
>>669
GetTopWindow, GetNextWindow
671
名前:
デフォルトの名無しさん
:2006/06/13(火) 13:19:13
::LoadLibrary("RICHED32.DLL");
の時はリッチエディットが使えて
::LoadLibrary("RICHED20.DLL"); //大文字、小文字色々試したけど無理でした
の時に使えないってことは2.0以降が使えないってことですか?
どうすれば使えるようになりますかorz
672
名前:
デフォルトの名無しさん
:2006/06/13(火) 13:43:10
>>671
リッチエディットコントロールは、そのバージョンによってウィンドウクラス名が違うぞ。
1.0 (Riched32)は"RichEdit"だが、2.0以上ではRICHEDIT_CLASSだ。
673
名前:
デフォルトの名無しさん
:2006/06/13(火) 14:01:18
ってことはもしかしてVC++6のリソースエディタじゃ中身を弄らないと作れなかったりします?
と思って中の"RICHEDIT"の部分を"RICHEDIT_CLASS"に変えてもダメでしたorz
674
名前:
デフォルトの名無しさん
:2006/06/13(火) 14:10:37
× "RICHEDIT_CLASS"
○ RICHEDIT_CLASS
675
名前:
デフォルトの名無しさん
:2006/06/13(火) 14:14:33
>>674
文字列じゃなくて定数にしなきゃいけなかったのかorz
直した後、RICHEDIT_CLASSがない言われたので、リソースファイルにも#include "Richedit.h"
したら成功しました。
>>672
,
>>674
d
676
名前:
デフォルトの名無しさん
:2006/06/13(火) 15:20:46
リッチエディットダブルクリックすると
プログラムは終了しないけど、デバッグウィンドウにアクセスバイオレーションがでてて
怖すぎorz
677
名前:
デフォルトの名無しさん
:2006/06/13(火) 17:49:40
>>487
もの凄ーく亀レスだけど
WM_SYSCOMMANDのwParamは0xFFF0でAND取らなきゃダメだよ
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_syscommand.asp
678
名前:
デフォルトの名無しさん
:2006/06/13(火) 18:07:58
try,catch,throw と Template がわかるページとかあったら教えてください。
書籍にあんまり載ってない・・
679
名前:
デフォルトの名無しさん
:2006/06/13(火) 18:15:43
API関係なくね?
680
名前:
デフォルトの名無しさん
:2006/06/13(火) 18:53:49
初心者はAPIと言語の区別がついてないから困る
681
名前:
デフォルトの名無しさん
:2006/06/13(火) 19:50:15
>>678
藻前には理解できないから、今の内に辞めた方がいいよ。
682
名前:
デフォルトの名無しさん
:2006/06/13(火) 20:09:02
マウスのホイールが回った時に飛んでくるメッセージってありますか?
683
名前:
デフォルトの名無しさん
:2006/06/13(火) 20:11:53
WM_MOUSEWHELL
684
名前:
デフォルトの名無しさん
:2006/06/13(火) 21:38:52
GetDiskFreeSpaceEx()APIについての質問です。
このAPIをGUI付きのMFCアプリケーションから呼び出すと
Aドライブ(フロッピー)の容量取得でディスクが入っていなくても
単純にエラーになるだけですが、
GUI無しのWin32アプリケーションから呼び出すと、ディスクの無い
Aドライブをチェックした瞬間に
「ドライブにディスクがありません。ディスクをドライブA:に挿入してください。」
というメッセージボックスが勝手に出てきてしまいます。
これを出さない方法はありますでしょうか?
685
名前:
デフォルトの名無しさん
:2006/06/13(火) 21:48:23
>>684
SetErrorMode()
686
名前:
デフォルトの名無しさん
:2006/06/13(火) 22:02:05
アプリの先頭で
SetErrorMode(SEM_FAILCRITICALERRORS);
で出来ました。ありがとうございます。
MFCはデフォルトでこの状態なんですかね。なんか恐ろしい。
687
名前:
デフォルトの名無しさん
:2006/06/13(火) 22:26:51
は?
688
名前:
デフォルトの名無しさん
:2006/06/13(火) 23:57:25
は?
689
名前:
デフォルトの名無しさん
:2006/06/14(水) 00:07:45
は?
690
名前:
デフォルトの名無しさん
:2006/06/14(水) 00:23:06
は?
691
名前:
デフォルトの名無しさん
:2006/06/14(水) 00:47:26
は?
692
名前:
デフォルトの名無しさん
:2006/06/14(水) 01:53:38
ウィンドウの小ウィンドウの小ウィンドウに
CreateWindowExでEDITコントロールを貼り付けたんですが、表示されなくて困っています
どうすればよいでしょうか?
693
名前:
デフォルトの名無しさん
:2006/06/14(水) 02:49:10
は?
694
名前:
デフォルトの名無しさん
:2006/06/14(水) 07:24:11
692 つまりは、孫ウィンドウって事だな。
695
名前:
デフォルトの名無しさん
:2006/06/14(水) 08:11:24
>>678
try, catch throw
例外処理
http://pc8.2ch.net/test/read.cgi/tech/1142667446/
template
【初心者歓迎】C/C++室 Ver.28【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1149815331/
696
名前:
デフォルトの名無しさん
:2006/06/14(水) 14:01:36
692 つまりは、孫がシャイで困っているという事だな。
697
名前:
デフォルトの名無しさん
:2006/06/14(水) 14:02:37
ニートかもしれん
698
名前:
デフォルトの名無しさん
:2006/06/14(水) 14:18:12
>>692
それだけの内容だと「ソースがおかしいんじゃね?」としか言えない。
って言うか、ちゃんと表示する様に指示しているか?
699
名前:
デフォルトの名無しさん
:2006/06/14(水) 18:25:57
リストボックスがクリックされたときに、フォームのCALLBACK関数で
処理したいのですが、どうすればいいですか?
ListBoxに LBS_NOTIFY を指定しても、 WM_NOTIFY メッセージが
送られてきていないようなのでちょっと困っています。
# ListViewなら普通に処理できそうなんですけどねぇ。。。
環境はMSVC++2005 ExpressEditionにPlatformSDKいれてやっています。
700
名前:
699
:2006/06/14(水) 18:50:57
自己解決しました。
WM_COMMAND で捕まえられるんですね。
701
名前:
デフォルトの名無しさん
:2006/06/14(水) 21:23:05
便乗、ってことになるのかな?
listboxでLBS_NOTIFY指定して、
WM_COMMANDでENTER捕まえることは可能ですか?
上手くいかない・・・
702
名前:
デフォルトの名無しさん
:2006/06/14(水) 23:01:50
質問です。
現在キーボードエミュレートをするツールを開発しているのですが、キー(ファンクション)
の長押しを実装方法が分からないので質問にきました。
PostMessage(hwnd, WM_KEYDOWN, VK_F1,0)
PostMessage(hwnd, WM_KEYUP, VK_F1,0)
現在はこのようにPostMessage()を並べているのですが、これをどのように書き換えれば
F1キーを長押し(リピート)しているように見せかけられるのでしょうか?
UWSCのスクリプト内では私が求めているような挙動は以下のようにして得られています。
KBD(VK_F1,DOWN,30)
KBD(VK_F1,DOWN,30)
KBD(VK_F1,CLICK,40)
どうぞよろしくお願い致します。
-------------------
使用OS: windowsXP
開発環境:Bccコンパイラ
使用言語:C++
-------------------
703
名前:
デフォルトの名無しさん
:2006/06/14(水) 23:34:38
昨日思いついたんだけど、windowsヘッダをインクルードするとき
namespace Win{
#include <windows.h>
}
ってやったら便利かな?
インテリセンスでローカル識別子と一緒にAPI関数がズラズラ入っちゃうのを防げる。
704
名前:
デフォルトの名無しさん
:2006/06/14(水) 23:50:26
>>702
それでうまく動いてるんだったら、
PostMessage(hwnd, WM_KEYDOWN, VK_F1,0)
PostMessage(hwnd, WM_KEYDOWN, VK_F1,1)
PostMessage(hwnd, WM_KEYDOWN, VK_F1,2)
PostMessage(hwnd, WM_KEYDOWN, VK_F1,3)
PostMessage(hwnd, WM_KEYDOWN, VK_F1,4)
PostMessage(hwnd, WM_KEYUP, VK_F1,0)
で4回リピート。
705
名前:
デフォルトの名無しさん
:2006/06/15(木) 00:04:49
>>703
Win::CreateWindowの名前をリンカが解決できると思う?
706
名前:
702
:2006/06/15(木) 00:12:00
>>704
さんアドバイスありがとうございます。
さっそく試してみましたが長押しだと認識しませんでした。
考えられることは
(1)Postmessage()では長押しは実現できない?
(2)Postmessage()以外にキーボードイベントを模索するべき?
(3)その他
このくらいしか思い浮かばないのですがどなたかアドバイスお
願いできないでしょうか?
707
名前:
デフォルトの名無しさん
:2006/06/15(木) 00:21:02
LPARAM の0-15ビットがリピート情報じゃなかったっけ
708
名前:
702
:2006/06/15(木) 00:24:29
>>707
はい。その通りです。以下のサイトにそのように書いてあります。
ttp://wisdom.sakura.ne.jp/system/winapi/win32/win30.html
しかし、実際にはどのように引数としてLPARAMの内容を決定すれば
よろしいのでしょうか?
709
名前:
デフォルトの名無しさん
:2006/06/15(木) 00:32:25
>>705
解決してるみたいだけど
710
名前:
デフォルトの名無しさん
:2006/06/15(木) 00:33:43
keybd_event使うんじゃないの?
711
名前:
デフォルトの名無しさん
:2006/06/15(木) 00:33:46
>>708
そのサイトに書いてあるじゃん
>30
ビット目は直前のキーの状態を意味します
>直前に発生したキーイベントが離されたものであれば0
>押された状態のものならば1であり、キーを離した時の状態はつねに1になります
>直前のキーストロークが押しつづけて発生したオートリピートの監視に使えます
>最後の31ビット目は、キーが押されたものであれば0、離されたものであれば1になります
>これは、WM_KEYDOWNでは0、WM_KEYUPなら1になっています
LPARAMの 0-15ビット目をなんか適当な数 30ビット目を1 31ビット目を0
にすりゃいいんでないの?試してないけど
712
名前:
デフォルトの名無しさん
:2006/06/15(木) 10:46:02
CreateWindowで作るウインドウを、モーダルダイアログのようにしたいんですけど
(親のウインドウにフォーカスいかなくなるような)
どのように実装したらいんでしょうか?
参考になりそうなソースなどご存じでしたら紹介してください。
713
名前:
デフォルトの名無しさん
:2006/06/15(木) 10:52:14
モーダルダイアログに貼り付ける
714
名前:
デフォルトの名無しさん
:2006/06/15(木) 11:38:21
>712
CreateDialogは駄目なの?
CreateDialogでダイアログ生成(仮:DialogA)
親WindowをEnableWindowで無効
↓
処理が終わったらDialogAをDestroyWindow()で消去前に
EnableWindow()で親Windowを有効に戻す
俺はこうやってるけど参考にならなかったらシカトしてくれ
715
名前:
702
:2006/06/15(木) 11:39:31
>>710
さん,
>>711
さんレスありがとうございます。
>>710
さん
keybd_event()はwindowsXPではSendInput()推奨になっているようですね。
ただSendInput()のサンプルになりそうなプログラムってネットに転がってな
いようですね。。。ちなみにkeybd_event()でも試してみましたが、動作しませ
んでした。
>711
さん
PostMessage(hwnd, WM_KEYDOWN, VK_F1, 0x3B0001);
for(int count=0;count<30;count++){
PostMessage(hwnd, WM_KEYDOWN, VK_F1, 0x203B0001);
}
PostMessage(hwnd, WM_KEYUP, VK_F1, 0);
こんな感じでビットの内容を指定したのですが動作しませんでした。
ちなみに走査コードは実際にF1キーを入力したときに確認した値を
代入しています。
まだ考えられる方法はあるでしょうか?
716
名前:
デフォルトの名無しさん
:2006/06/15(木) 12:10:34
>>702
その入力先がゲームとかじゃないだろうな。
DirectInputでキー拾ってるアプリだとキーメッセージ投げても反応しないぞ。
717
名前:
712
:2006/06/15(木) 12:20:33
レスありがとうございます。
>713
、714
表示したいダイアログが、Layerウインドウでアルファーチャンネルを持ったウインドウなんですが、
可能でしょうか?、childで指定でダイアログに貼り付けて、親のダイアログのVisibleをオフにするとか?
何か情報ありましたらお願いします。
718
名前:
デフォルトの名無しさん
:2006/06/15(木) 12:27:28
>>709
ATLやMFC(MFCは使ったことが無いけどたぶん)
では、Win32 APIがグローバルな名前空間にあるという前提の元コードが書かれているので、
問題になる。
719
名前:
デフォルトの名無しさん
:2006/06/15(木) 14:07:49
ダイアログが生きているか削除されたか調べる方法ない?
720
名前:
デフォルトの名無しさん
:2006/06/15(木) 14:10:34
>>719
ウインドウハンドルに対してIsWindowをかけるとか
721
名前:
719
:2006/06/15(木) 14:27:05
>>720
できた!
ありがとう!
722
名前:
デフォルトの名無しさん
:2006/06/15(木) 15:45:40
>>705
extern "C"が指定されているから、問題ない。
723
名前:
デフォルトの名無しさん
:2006/06/15(木) 18:36:08
>>722
そうなんだ。extern "C"するとnamespaceって完全無視なの?
724
名前:
デフォルトの名無しさん
:2006/06/15(木) 18:52:48
アンインストール情報。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
の中をのぞくとDisplayName,UninstallStringの2つしかないアプリがありますが
「プログラムの追加と削除」プログラムは該当アプリのアイコンを何の情報を元に取得しているのでしょうか?
725
名前:
デフォルトの名無しさん
:2006/06/15(木) 19:07:39
>>723
そういうこと。
だから関数名は問題ない。
でもWinMainとか些細な問題はまだいくつかあるはず。
実際に703のようなことをやってみたことはないから、
俺はほかにどんな問題があるかも知らない。
726
名前:
デフォルトの名無しさん
:2006/06/15(木) 19:15:46
でも意図不明なコードとしてそのコードを見た誰かに叩かれることもありうるので、
やらない方がいいと思うんだが。
つーか、俺なら叩くなw
727
名前:
デフォルトの名無しさん
:2006/06/15(木) 23:54:25
普通はGetAsyncKeyStateを使って押されているかどうかを調べると思う。
これだとエミュレートは出来ないと思います。
>>716
>>702
を見ると、スクリプトではうまくいくそうだから、
何らかの方法があるはず。
ところで、ファンクションキー以外のキー(例えば A )は上手く行くの?
728
名前:
デフォルトの名無しさん
:2006/06/16(金) 09:57:18
>>702
キーボード入力のフェイクは、SendInputでやること。
DirectInputにも対応したかったら、SendInput必須
スキャンコード指定すればDirectInputでもおk。
//keybd_event()でもできないことはないが、ドキュメント化されていないのでお勧めしない
Vistaだと、自分より権限が高いウインドウには、送れないようになるらしいけど。
729
名前:
デフォルトの名無しさん
:2006/06/16(金) 10:00:54
>>728
> Vistaだと、自分より権限が高いウインドウには、送れないようになるらしいけど。
HIDフィルタドライバー経由でいけそうな気もしないではないけど…
そこまでやったことないな。
730
名前:
デフォルトの名無しさん
:2006/06/16(金) 13:37:59
98って何年前のwindows
731
名前:
デフォルトの名無しさん
:2006/06/16(金) 15:16:05
98年前だ
732
名前:
デフォルトの名無しさん
:2006/06/16(金) 17:11:59
>>731
そうか!だから「98」だったのか
733
名前:
デフォルトの名無しさん
:2006/06/16(金) 17:20:34
来年にはWindows99になるのか
734
名前:
デフォルトの名無しさん
:2006/06/16(金) 17:23:53
来年Windows-1が発売します
735
名前:
デフォルトの名無しさん
:2006/06/16(金) 17:33:59
>>729
ドライバ辺りはまったくの素人だからわからないのだけれど、
それをするには管理者権限が必要になるんじゃないのかな?
Vistaは、管理者が実行しても、デフォルトでは一般ユーザ権限で実行されるのだけれど。
権限をしっかり考えていなかったコードが、
必要以上の権限を要求したりしていることがよくあるから、
その辺の互換性は大丈夫なのか心配になるけど。
736
名前:
702
:2006/06/16(金) 18:09:24
レス遅れました。
>>716
さん,
>>727
さん,
>>728
さん,
>>729
さんレスありがとうございます。
>>716
さん
入力先はゲーム(DirectX使用)です。DirectInput関数でキーを拾うと反応
しないなんて知りませんでした。他のレスではSendInput()だと拾えるような
ことが書いてありますね。どっちが正しいのか試してみます。
>>727
さん
GetAsyncKeyState()ですか。ということは今のところDirectInputとGetAsyncKeyState()
の2種類は物理的に信号を発生させないと無理かもしれないということですね。
ちなみにWM_CHARに関しては入力を正しく受け付けています。
>>728
さん
716さん、727さんのおっしゃっている関数でSendInputを拾えるかどうかを確認
してみます。むしろDirectInput()については結論がでているようですが、これも
勉強のうちなので。
>>729
Vistaですか。ますますエミュレートするのが困難になるわけですね。。。
737
名前:
デフォルトの名無しさん
:2006/06/16(金) 20:07:25
>>735
ドライバとスクリプト駆動アプリ間の インターフェース DLL を ちゃんと真面目に作れば
スクリプト駆動アプリ はユーザー権限のままでいける
問題は インターフェース DLL をちゃんと作るのが大変っぽいのよね…
738
名前:
デフォルトの名無しさん
:2006/06/16(金) 22:39:51
なんだボットか
739
名前:
デフォルトの名無しさん
:2006/06/17(土) 02:29:54
D言語ってどこらへんがいいんだ?<時代のさきっちょに乗ったつもり
740
名前:
デフォルトの名無しさん
:2006/06/17(土) 02:31:41
>>739
D言語スレがありますので、そちらでどうぞ。
741
名前:
デフォルトの名無しさん
:2006/06/17(土) 11:22:01
Win32APIなのかわかんないのですが、他に答えが得られそうなスレが無かったのでここで質問させてください
サーバーソケット(?)へクライアントが接続したかどうかを知る方法はありますでしょうか?
やりたい事は「***がサーバーに接続しました」と表示することです
よろしくお願いします。
742
名前:
デフォルトの名無しさん
:2006/06/17(土) 11:39:39
WinSock?
743
名前:
デフォルトの名無しさん
:2006/06/17(土) 11:41:56
>>741
は他プロセスのコネクションを覗き見たいのだろう。
ドライバでも書いとけ。
744
名前:
デフォルトの名無しさん
:2006/06/17(土) 11:45:37
エスパー登場w
745
名前:
デフォルトの名無しさん
:2006/06/17(土) 12:01:55
MessageBox(NULL, "***がサーバーに接続しました", "741", MB_OK);
これでいいんじゃない?
746
名前:
デフォルトの名無しさん
:2006/06/17(土) 12:22:31
>>742
そうです
>>743
いや、自プロセスの報です
>>745
>>285
747
名前:
デフォルトの名無しさん
:2006/06/17(土) 12:32:26
>>741
それが出来ずにいったいどうやってクライアントの接続を処理してるのか気になる
748
名前:
デフォルトの名無しさん
:2006/06/17(土) 12:45:33
accept
puts("***がサーバーに接続しました");
749
名前:
デフォルトの名無しさん
:2006/06/17(土) 13:02:46
>>747-478
あれ、もしかしてacceptが接続されるまでループしてくれるのかな
おかげ様で解決できそうです、ありがとうございました!
750
名前:
デフォルトの名無しさん
:2006/06/17(土) 13:13:56
つまり、やってみもしないで、グダグダと聞き回っているわけだな?
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.