■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API 質問箱 Build11
501
名前:
デフォルトの名無しさん
:03/06/01 00:50
>>499
>>500
まず全裸になり、自分の尻を両手でバンバン叩きながら白目をむき
「びっくりするほどユートピア!びっくりするほどユートピア!」
とハイトーンで連呼しながらベットを昇り降りする
これを10分程続ければOK!
502
名前:
吉岡美穂
:03/06/01 01:49
>>500
ないこともないわ
503
名前:
デフォルトの名無しさん
:03/06/01 02:11
普通C++ならSTLコンテナ使うけどあれはAPIとは何の関係もないよな。
504
名前:
デフォルトの名無しさん
:03/06/01 03:34
VARIANTの配列使うやつなかったっけ。
まあ、普通はstd::vectorだな
505
名前:
デフォルトの名無しさん
:03/06/01 21:43
VC++のCreateWindowExでリストボックスのスタイルを
dwStyle:
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | WS_TABSTOP | LBS_NOTIFY
dwExStyle:
WS_EX_CLIENTEDGE
で作成したんですがスクロールが遅いです。
MSDNライブラリの「キーワード」みたいな
高速にスクロールするリストボックスはどの指定で行うのですか?
506
名前:
デフォルトの名無しさん
:03/06/02 02:26
コンソールアプリからウインアプリSDKに移ってプログラムを組んでいるのですが、
ウインアプリだと、文字のサイズが一定でないので困っています。同じにする方法
を教えてください。
507
名前:
名無し@沢村
:03/06/02 02:44
>>506
HFONT
508
名前:
デフォルトの名無しさん
:03/06/02 02:45
>>506
フォントにはプロショーナルフォントと等幅フォントの二種類があるのじゃよ。
↓続き
509
名前:
デフォルトの名無しさん
:03/06/02 02:47
>506
どう困っているのよ?
510
名前:
デフォルトの名無しさん
:03/06/02 02:58
DLLの中の関数が提供するダイアログボックスをタスクモーダルにする
(MessageBoxでMB_TASKMODALが指定された状態と同様の効果を得る)には
どのようにしたらよいですか?
511
名前:
デフォルトの名無しさん
:03/06/02 03:13
お答えありがとうございます。
>>507
それで調べて見ると、猫の所にいけました。どこを変えれば出来るかは
分かりませんが。
>>508
TrueTipeのことですか?フォント自体にそれが決まっているのか、フォント
には関係なく、属性として与えるのかわからないです。
>>509
うまく説明できませんが、背景の色を変えた文字を使用していて、その位置
に同じバイト数の文字列を持ってきた時、コンソールなら前のがきれいに
消えて新しく表示されますが、サイズが変わって特に後のほうが小さい時は
前野が消えずに残ってしまいます。
512
名前:
デフォルトの名無しさん
:03/06/02 03:36
>>511
ま、Windowsプログラミングの基礎からやっていけや
513
名前:
デフォルトの名無しさん
:03/06/02 03:40
>>511
たとえば
「MS Pゴシック」とかがプロポーショナルフォントで、文字ごとに幅が違うの。
「MS ゴシック」は等幅フォントで、文字の幅が全部同じ。
514
名前:
デフォルトの名無しさん
:03/06/02 03:54
>>512
はい。がんがります。
>>513
CreateフォントでMS ゴシックにしてもダメでした。他のパラメータが
違うのでしょうか。
hFont = CreateFont(32,//フォント高さ
32,//文字幅
0,//テキストの角度
0,//ベースラインとx軸との角度
FW_REGULAR,//フォントの重さ(太さ)
FALSE,//イタリック体
FALSE,//アンダーライン
FALSE,//打ち消し線
SHIFTJIS_CHARSET,//文字セット
OUT_DEFAULT_PRECIS,//出力精度
CLIP_DEFAULT_PRECIS,//クリッピング精度
PROOF_QUALITY,//出力品質
FIXED_PITCH | FF_MODERN,//ピッチとファミリー
"MS ゴシック");//書体名
515
名前:
デフォルトの名無しさん
:03/06/02 03:57
>コンソールなら前のがきれいに 消えて新しく表示されますが、
>サイズが変わって特に後のほうが小さい時は
>前野が消えずに残ってしまいます。
これってプロポーショナル云々じゃなくて前回の描画領域を背景で塗りつぶせってことじゃないの?
516
名前:
デフォルトの名無しさん
:03/06/02 04:04
「サイズが変わって」の意味がどうも分からない感じ。
フォントサイズが変わる、なの?
517
名前:
デフォルトの名無しさん
:03/06/02 04:06
例えば100ポイントの文字を表示して、その上に10ポイントの文字を重ねて表示すると、
先に表示した100ポイントの文字が後ろからはみ出て見えてしまう、ということでは?
518
名前:
デフォルトの名無しさん
:03/06/02 04:14
>>515
そうです。それを解決したいのもありますが、とにかく同じサイズに表示
したいんです。他の問題点としては文字列サイズを指定したものを縦に並
べて表示していく時、ベこぼこになってしまいます。
519
名前:
デフォルトの名無しさん
:03/06/02 04:20
>>516
コンソールのはABCDEを表示、改行、abcdeと表示するとCとcは同じ位置に
表示されますよね。ただ、ウインの方は、かなりずれます。インターネット
でも同じですが。それを利用して面白いAAができたと言う利点もありますが。
ABCDE
abcde
>>517
そうです。1文字32ピクセルの"ABCDE"の上に、同サイズの"abcde"を上書き
すると、コンソールではabcdeのみ表示されますが、ウインだとabcdEと
なります。
520
名前:
デフォルトの名無しさん
:03/06/02 04:21
DrawTextで矩形を指定じゃないか
521
名前:
デフォルトの名無しさん
:03/06/02 04:25
>>519
それ見る限り、ちゃんとMSゴシックが表示されてないんじゃないかと
522
名前:
デフォルトの名無しさん
:03/06/02 04:30
あぁわかった。
>>514
の書体名、「MS」は全角じゃないとダメだよ。
523
名前:
デフォルトの名無しさん
:03/06/02 04:30
>>520
問題はそれではありませんでした。次に書きますが。
>>521
やってしまっていました。SelectObjectを入れ忘れていました。入れたら
出来ました。すいません。本当にごめんなさい。答えてくださったみなさま、
どうもありがとうございました。逝って来ます。
524
名前:
デフォルトの名無しさん
:03/06/02 04:32
>>522
それは大丈夫みたいです。スペースを入れまくったりしても大丈夫でした。
525
名前:
デフォルトの名無しさん
:03/06/02 04:35
システム登録済みの固定幅フォントを使うと簡単
HFONT hFont = (HFONT) GetStockObject(SYSTEM_FIXED_FONT);
HFONT hFontOld = (HFONT) SelectObject(hDC, hFont);
TextOut(〜);
SelectObject(hDC, hFontOld);
526
名前:
デフォルトの名無しさん
:03/06/02 04:45
>>525
おおっいいですね。簡単にできます。ありがとうございました。
527
名前:
510
:03/06/02 09:42
>>510
自己レスっす。
手でガリガリ書くしかないようです。
EnumThreadWindows()でウィンドウ一覧を獲得し、
自分以外のウィンドウをEnableWindow(FALSE)して解決しました。
528
名前:
デフォルトの名無しさん
:03/06/02 13:09
Windows画面(どのアプリでも)で
押されたキーボードのキーが何が押されたか監視し、
そのキーが押されたときに他のキーが押されたと認識されるやり方が解る方いますでしょうか?
よければ教えてください。
例:F12キーが押された場合CTRL+Numberキーが押された事にする。
という感じです。
529
名前:
デフォルトの名無しさん
:03/06/02 14:04
>>528
SetWindowsHookExでWH_KEYBOARDを引っかける。
530
名前:
デフォルトの名無しさん
:03/06/02 14:35
質問させてください。
任意のアプリケーションが呼び出すWin32APIを監視(?)して、
自分で作成したDLL内の関数にすりかえる方法ってあるでしょうか?
自作DLLの注入は出来ても、Win32APIを偽装することは無理なんでしょうか?
531
名前:
529
:03/06/02 14:49
>>529
訂正。
WH_KEYBOARD_LLじゃないとダメかも。
532
名前:
名無し@沢村
:03/06/02 15:25
エクセルのようなワークシートをつくるWin32APIはどれですか?
533
名前:
デフォルトの名無しさん
:03/06/02 15:31
>>532
MoveTo
LineTo
など
534
名前:
名無し@沢村
:03/06/02 18:31
>>533
MoveToとLineToの升目の中に文字や計算式を入力するWin32APIは?
535
名前:
デフォルトの名無しさん
:03/06/02 18:34
>>534
APIつーかエディットコントロールでも貼り付ければ?
536
名前:
デフォルトの名無しさん
:03/06/02 18:43
沢村の質問キタ━━━━━━(゚∀゚)━━━━━━ !!
537
名前:
名無し@沢村
:03/06/02 18:49
>>535
MoveToとLineToの間の升目の数だけエディットコントロールを貼り付けるのか?
膨大な数のエディットコントロールができるな…
538
名前:
名無し@村沢
:03/06/02 18:59
>>537
ハローワールドの次の作品作っているのかな?
期待してるよん。
539
名前:
デフォルトの名無しさん
:03/06/02 19:22
すみません、質問があります。
プロセスの使用メモリを小さくする、最も一般的な方法を教えてください。
単にウィンドウを開くだけのプログラムでも、
2MB近く消費しているようなのですが…。
540
名前:
デフォルトの名無しさん
:03/06/02 19:38
>>539
・スタートアップコードを自分で書く
・スタックを極限まで減らす
541
名前:
デフォルトの名無しさん
:03/06/02 20:07
>>539
ウインドウを作成し表示したらいったん最小化して戻す
542
名前:
539
:03/06/02 21:04
早速のお返事をどうもありがとうございます。
>>540
スタートアップコードはいじったことがありませんでした。勉強してみます。
スタックを減らすというのは、具体的には何をすればいいんでしょう…。
>>541
画面表示状態によって使用メモリが変化するんですね。これは知りませんでした。
よく考えてみると、使用メモリが小さいプロセスというのは、
ウィンドウが表示されていないものばかりでした。
タスクマネージャを見ると使用メモリが小さなものがあったので、特別な方法が
あるものと思い込んでしまったのですが、私の早とちりだったかもしれません。
543
名前:
デフォルトの名無しさん
:03/06/02 22:55
見えないダイアログを作成しようとして
case WM_INITDIALOG: {
ShowWindow(hWnd, SW_HIDE);
のようにしていますが消えてくれません。
Windowを表示しないようにするにはどうしたらいいですか。
544
名前:
:03/06/02 23:05
Windowsの音量を調整(ボリューム)するAPIってわかりますか?
545
名前:
デフォルトの名無しさん
:03/06/02 23:07
>>532
リストビューコントロールにLVS_EDITLABELSのスタイルを指定すると
エディット可能になるよ。
LVS_EX_GRIDLINESも指定するとグリッド線が描かれる。
>>543
ダイアログがメインウィンドウだと非表示にしようとしても、勝手に表示
された記憶がある。そうでないなら、普通に消せたかと。
546
名前:
505
:03/06/02 23:53
くっ、やはり高速リストボックスは無理なのか!?
>>543
その後、UpdataWindow( hWnd );
かな?(w
スペル間違えてたらスマソ
547
名前:
530
:03/06/03 01:24
ここで聞いたのは間違いだったようです。
548
名前:
Win32SDK勉強中
◆Win32BkCJ.
:03/06/03 01:24
>>546
うん、間違えてる。
UpdateWindowだね
549
名前:
デフォルトの名無しさん
:03/06/03 02:18
>>543
それ、俺も昔悩まされた
DoModal()ではなくCreate()を使ってウィンドウ作成すれば表示されない
表示するときはShowWindowする
それとそのウィンドウ閉じたときは
OnCancel()は呼ばれずWM_DESTROYが送られる
その後DestroyWindow()してメモリ解放
550
名前:
デフォルトの名無しさん
:03/06/03 04:00
>>547
=530
APIフックなんてググればすぐに出てくると思うが?
551
名前:
デフォルトの名無しさん
:03/06/03 05:44
>>537
いま編集対象になってる升にだけあればいいんでは。
升ごとにテキストバッファを持っとかないといけないけど。
552
名前:
名無し@沢村
:03/06/03 10:12
>>530
「Advanced Windows」買え
553
名前:
デフォルトの名無しさん
:03/06/03 10:12
>>552
Windows 2000 Advanced Server?
554
名前:
名無し@沢村
:03/06/03 10:15
>>553
本
555
名前:
デフォルトの名無しさん
:03/06/03 10:35
>>552
Advanced には載ってない
556
名前:
デフォルトの名無しさん
:03/06/03 11:06
「画面上の座標(x, y)で左クリック」という処理をプログラム適に実行するには、
どうすればよいでしょうか?
デスクトップのハンドルを取得して、WM_LBUTTONDOWNメッセージを
SendMessageで送信してみたのですが、上手くいきません。
おおざっぱでいいので教えてください。よろしくおねがいします。
557
名前:
デフォルトの名無しさん
:03/06/03 11:07
>>543
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
で似たような質問があった。答えもあった。
558
名前:
デフォルトの名無しさん
:03/06/03 11:11
>>556
デスクトップではなくて、メッセージを送りたいウインドウのハンドルを取得しないとダメなんじゃない?
559
名前:
直リン
:03/06/03 11:13
http://homepage.mac.com/yuuka20/
560
名前:
デフォルトの名無しさん
:03/06/03 11:13
>>556
mouse_event
561
名前:
デフォルトの名無しさん
:03/06/03 11:37
>>556
よく質問の意味が分からないのですが、位置指定なら。
const int y=100,x=100;
case WM_LBUTTONDOWN:
if(LOWORD(lParam)!=x||HIWORD(lParam)!=y)break;
hdc=GetDC(hWnd);
TextOut(hdc,x,y,"指定した位置を押しました",24);
ReleaseDC(hWnd,hdc);
break;
562
名前:
530
:03/06/03 12:12
>>552
改訂第4版に追記されてたんですね。
以前の版を持ってるんで、買いたくないんですけど・・・。
どなたかソース貼って貰えませんか?
563
名前:
デフォルトの名無しさん
:03/06/03 12:26
>>562
DLLの注入までできているなら
後はインポートテーブルを書きかえるだけじゃないか
GetProcAddressの返り値の加工も必要かもしれないが
564
名前:
530
:03/06/03 12:45
>>563
インポートテーブルの書きかえですか。
なるほど。ありがとうございます。
それくらいならAdvancedWindows買わなくてもなんとか出来そうです。
AdvancedWindowsでも同様の方法が記述されているんでしょうかね?
565
名前:
デフォルトの名無しさん
:03/06/03 18:44
タイトルの所にFPS表示させるのって
相当オーバーヘッド大きい?
566
名前:
デフォルトの名無しさん
:03/06/03 19:04
>>505
そのスタイルだけ見てわかるかw
項目が1万くらいあるっていうなら仮想リストボックス、
5億ぐらいあるんだったら仮想リストビューにしとけ
567
名前:
デフォルトの名無しさん
:03/06/03 19:17
一応。
ttp://www.codeguru.com/system/apihook.html
568
名前:
デフォルトの名無しさん
:03/06/04 02:29
>>530
ttp://www.geocities.co.jp/SiliconValley-Oakland/7565/
あと、
ttp://www.geocities.co.jp/Playtown-Domino/8282/
とかか?まぁ、クラックガンガレ
569
名前:
デフォルトの名無しさん
:03/06/04 11:42
ツリービューのノードがドラッグ中というメッセージをとらえるには
どうやったらよいのでしょうか?
570
名前:
530
:03/06/04 16:24
563
>>567
>>568
ありがとうございます。おかげさまで解決しました。
>>568
このように利用されているんですね。
ちなみに私はクラックではなくお仕事で使います。w
571
名前:
デフォルトの名無しさん
:03/06/04 16:54
>530
そのAPIを提供しているDLLをこういうの
http://www.dependencywalker.com/
とかを
使って特定し、そのDLLに被さるDLLを作って乗っ取ればOKでは?
572
名前:
デフォルトの名無しさん
:03/06/04 18:20
質問です。
VB6 SP5
Win2000
Exe起動直後にALT+F4を押し、そこで起きるイベント(QueryUnload)時に
GetMenuItemInfoを使って閉じるメニューの情報を取得しているのですが、
うまく情報を取得することができないです。
一度メニューバーをクリックした後にALT+F4をするとうまく取得できるのですが。
起動直後にうまく情報を取得するにはどうしたら良いでしょうか?
'×ボタンのメニュー情報を取得
With Mnu
.cbSize = Len(Mnu)
.dwTypeData = String(80, 0)
.cch = Len(.dwTypeData)
.fMask = MnuM_STATE
.wID = SC_CLOSE
lngRet = GetMenuItemInfo(hMenu, .wID, False, Mnu)
End With
573
名前:
デフォルトの名無しさん
:03/06/04 22:50
>>542
SetProcessWorkingSetSize
最小化されたときはDefWindowProcか何かがこれを呼んでる
574
名前:
:03/06/04 23:36
mixer系APIを使って、ボリュームを調整したいのですが詳しく解説しているページとかありませんか?
言語はVC++6.0でMFCのウィザードを使ってます。
575
名前:
539
:03/06/05 00:17
>>573
おお、どうもありがとうございます。
でも、これが使えるのってNT系だけみたいですね…。
576
名前:
デフォルトの名無しさん
:03/06/05 03:59
自分で作ったウィンドウの表示/非表示が変更されたことを知るにはどうすればよいのでしょう。
WM_SHOWWINDOW では表示/非表示が変更されようとしているタイミングで送られてくるので少しタイミングが早すぎます。
WM_SHOWWINDOW を DeWindowProc 関数に通した後でも変更はまだ反映されていないようです。
御存知の方どうか宜しくお願いします。
577
名前:
デフォルトの名無しさん
:03/06/05 06:49
>>576
SPYでメッセージを追え
578
名前:
528
:03/06/05 13:46
>529
さま
たいへん遅くなりましたが、ご回答ありがとうございますm(_ _)m
579
名前:
デフォルトの名無しさん
:03/06/05 19:16
>>576
少し早いと思ったら、何か適当なメッセージを自分にPostしとくのはどうか
580
名前:
デフォルトの名無しさん
:03/06/05 22:47
>>576
表示ならWM_PAINTとか
でもLonghornでだめぽになりそうな予感
581
名前:
デフォルトの名無しさん
:03/06/05 23:20
>>576
WM_WINDOWPOSCHANGED
でWINDOWPOSのflagみればいい気もするが。
582
名前:
デフォルトの名無しさん
:03/06/05 23:27
ここでいいのか不安ですが質問させていただきます
WindowsでEXE単体で動くちょっとしたツールを作りました
ただちょっとだけセーブデータを保存したくなったんですが、datファイルなどをつくりたくありません
exeファイルのお尻に勝手にデータをくっつけて平気でしょうか
保存する(exeの最後にくっつける)データはおそらく文字列です
583
名前:
デフォルトの名無しさん
:03/06/05 23:32
>>577-581
ありがとうございます。
>>577
氏の発言にしたがいSPYでメッセージを追っていたところ
WM_WINDOWPOSCHANGED が目的に適したメッセージのように思えましたので
WM_WINDOWPOSCHANGED を処理する方向で実装することにしました。
こんなにもたくさんのレスどうもありがとうございました。
584
名前:
デフォルトの名無しさん
:03/06/05 23:41
>>574
ページとかは知らないけど多分mixer系APIを使う。
mixerOpenとかmixerGetLineInfoとか。
585
名前:
584
:03/06/05 23:47
と思ったらそこから先を知りたかったのね…、スマン
これくらいしか分かりません。
えーと。Windowsにはn個(大抵はサウンドカードの枚数)の
ミキサーデバイスがあって、各mixerデバイス毎にm個
(サウンドカードの種類による)のミキサーラインがあって、
とかいう概念が基本かな。
どのミキサーラインがWAVEなのかCDなのかLineInなのかというのが
サウンドカードの種類によって違ったりするので、
きっちりやるなら色んな環境でテストしないといけないとか。
586
名前:
デフォルトの名無しさん
:03/06/06 02:12
>582
答える前にdatファイルを作りたくない理由を聞きたいと思うのはオレだけかな?
587
名前:
デフォルトの名無しさん
:03/06/06 02:19
いじられたくないとか・・・
予めくっつけておいて、そこを書きかえればいいんじゃないかな。
とかいいつつできないけど。
588
名前:
デフォルトの名無しさん
:03/06/06 02:50
CreateDIBSectionでビットマップのビットへのアドレスは分かったんですけど、
ピクセルのRGBを取り出す方法が分かりません。
24bitで。
589
名前:
586
:03/06/06 02:52
偉そうに書いたけど自分も解らないです。
でも個人用に作るとしてもリビルドしたら、それまでのが消えちゃうよなぁ。
普通に考えるとマズイと思うんだが...
590
名前:
デフォルトの名無しさん
:03/06/06 04:16
平気かどうか以前に自分自身を書き換えられるの?
実行中のexeはシステムが開いていて書き込みオープンできないでしょ
>>588
24ビット.bmpのヘッダを除いた部分と同じ
591
名前:
デフォルトの名無しさん
:03/06/06 06:23
∩( ・ω・)∩モニュアゲ
592
名前:
デフォルトの名無しさん
:03/06/06 07:26
>>588
「DIBSection」で愚愚ればサンプルが見つかると思うが?
593
名前:
デフォルトの名無しさん
:03/06/06 07:51
>>586-587
本当に「ちょっとしたツール」なので、ファイルが2個になるのが嫌なだけです
ぶちゃけ「ドラッグインしたファイルを、リストとしてtxtに吐き出すツール」なのですが
出力先の設定を保存しておきたいのです
594
名前:
デフォルトの名無しさん
:03/06/06 08:08
レジストリは嫌いなん?
595
名前:
デフォルトの名無しさん
:03/06/06 08:34
普通はiniファイルかレジストリだよなー
596
名前:
デフォルトの名無しさん
:03/06/06 08:57
レジストリにせよiniにせよ、アンインストーラつきでないソフトで使うのはアレだが。
つことで、ちょっとしたツールには余計向かない気がするな。
597
名前:
デフォルトの名無しさん
:03/06/06 09:07
>>596
じゃあ、何がいいの?
598
名前:
デフォルトの名無しさん
:03/06/06 09:14
>>596
ツール自体に設定情報の削除機能を入れておけばいいだけの話
アンインストーラーなど必要ない
599
名前:
デフォルトの名無しさん
:03/06/06 09:18
じゃあ、NTFS限定やけど、NTFSストリームにでも保存したら?
600
名前:
デフォルトの名無しさん
:03/06/06 09:19
iniファイルだったら専用APIで読み書きできるし、datよりいいと思います。
601
名前:
名無し@沢村
:03/06/06 09:45
最近の流行はXMLだな
602
名前:
_
:03/06/06 09:45
http://homepage.mac.com/hiroyuki43/moe/hankaku06.html
603
名前:
デフォルトの名無しさん
:03/06/06 11:02
>>593
おいらだったらレジストリだな
インストーラやアンインストールは簡便に WSH で作っちゃえばよろし
604
名前:
名無し@沢村
:03/06/06 11:14
>>593
おまいがネット上にサーバを立ち上げて、全ユーザの設定情報を一括管理しろ。
605
名前:
デフォルトの名無しさん
:03/06/06 11:43
>>593
exeA(本体)のリソースにexeB(Aをいじくってから自殺)を仕込んどく。
exeAの終了時にTempにセーブデータとexeBを切り離し、exeA終了。
exeBはexeAの終了(ファイル書き込みが可能になる)を待って
セーブデータの内容をexeAに書き込み、セーブデータを削除してから
exeBは自殺。
どーよ?
606
名前:
デフォルトの名無しさん
:03/06/06 11:48
>>605
どう考えてもiniファイルの方が簡便。
607
名前:
デフォルトの名無しさん
:03/06/06 12:13
そういうケースなら ini ファイルだろ。
インストーラのないソフトでレジストリは勘弁してくれ。
ここらへんは個人の好みなのかもしれないが。
608
名前:
デフォルトの名無しさん
:03/06/06 12:29
>>607
おなじく。ちょっとしたツールなら迷うことなくINI。
レジストリはいくつもソフトを作ってて
しかもそれが関連してあるときしか意味が無い。
Aというソフトがインストールされていたら実行できるとかね。
ちなみにOSをよく再インストールするので
しょうもないレジストリの使い方をするソフトは
使わないようにしてる。
609
名前:
605
:03/06/06 12:36
>>606
いや、俺もそう思うけど、593の要望に遵ったまで。
610
名前:
デフォルトの名無しさん
:03/06/06 12:37
( ・ω・)∩<先生。604は何が言いたいのかわからないです。
611
名前:
デフォルトの名無しさん
:03/06/06 12:39
>>610
知障?
612
名前:
デフォルトの名無しさん
:03/06/06 12:49
>>609
593の要望は
>ファイルが2個になるのが嫌なだけです
なので、
>>609
はその要望を満たしていないと思うがどうか。
613
名前:
デフォルトの名無しさん
:03/06/06 12:52
設定はBIOSに保存
どうよ?
614
名前:
デフォルトの名無しさん
:03/06/06 12:55
さらに、exeBがexeAを呼び出して、
exeAはexeB終了と同時にこれを削除し
exeAは、安心して終了
615
名前:
デフォルトの名無しさん
:03/06/06 13:19
レジストリ人気ないですなぁ
オイラはちょっとしたツールにも MRU リストが欲しいからすぐ
CRecentFileList 、ファイル名以外の設定を保存したい時はそれを
派生させたクラスを使う
すると必然的にレジストリに書き込むことになるわけで
.NET の実装見てると、DLL のシェアとレジストリって実はMSも後悔
しるようにも見えるが、オイラは↑で特に困った経験はないなぁ
616
名前:
デフォルトの名無しさん
:03/06/06 13:22
>>615
開発者が困るんじゃなくてユーザが困るって話だろう。
617
名前:
デフォルトの名無しさん
:03/06/06 13:38
だからツールに使ったレジストリの消去機能を入れておけばいいんだって
618
名前:
デフォルトの名無しさん
:03/06/06 14:15
>>615
CRecentFileList使うときでもレジストリじゃなくてiniに保存できますよ。
CWinApp::InitInistance()で何かいじくればよかったはず。
619
名前:
デフォルトの名無しさん
:03/06/06 14:28
M$はWin32以降レジストリの使用を推奨しているけど、本来レジストリは
COMやOCXのためのもので一般のアプリが使うのは良いとは思わない。
(シェルはバシバシ使ってるけど)
基本的には.ini形式だろな。これが何だかんだ言って一番安全。
レジストリの場合、こわれたら他のアプリも道連れ。
.INIファイルを秘密の奥深いフォルダーに隠しておく。すべてhidden属性
にセット。同時に100個位、多数ダミーを作る。一回毎にファイル名を
変える。他人にいじられないようにする方法なんていくらでもあるだしょ。
620
名前:
デフォルトの名無しさん
:03/06/06 14:33
>>619
> .INIファイルを秘密の奥深いフォルダーに隠しておく。すべてhidden属性
> にセット。同時に100個位、多数ダミーを作る。一回毎にファイル名を
> 変える。他人にいじられないようにする方法なんていくらでもあるだしょ。
アフォということでいいですか ? > ALL
621
名前:
デフォルトの名無しさん
:03/06/06 14:41
レジストリファイルの構造わかりますか?
622
名前:
デフォルトの名無しさん
:03/06/06 15:55
>>620
同意。
593はファイルを増やしたくないと言っているのに100個もファイル増やしてどうするよ?
それに論点は「設定を何処にどのように記録するか」であって「如何にしてファイルの改竄を防ぐか」ではない。
623
名前:
デフォルトの名無しさん
:03/06/06 16:00
>>621
Windowsのバージョンによって違う。(95系、NT系では記録されるファイルから違う)
違いを吸収する為にWindows APIがある。
624
名前:
デフォルトの名無しさん
:03/06/06 16:02
>>620
いいよ。
625
名前:
デフォルトの名無しさん
:03/06/06 16:13
>>619
俺のマシン以外ならそれもあり。
626
名前:
デフォルトの名無しさん
:03/06/06 16:26
一番最初に「暗号化」を思いつかない時点で
>>619
は(略
627
名前:
デフォルトの名無しさん
:03/06/06 16:34
ていうか「いじられたくない」なんて誰も言ってねえし。
628
名前:
デフォルトの名無しさん
:03/06/06 16:44
暗号化と一言で言っても実際やってみればわかるが、非常に面倒で
後々必ず後悔する。真に有効な設定ファイルがどこにあるかさえ
アプリが知っていれば、設定ファイル方式にするのが良いと思われる。
ダミーを作る作らないは自由。作るのは万が一消された場合のバックアップ
の意味が大きいだろうね。
ただ意外に絶対に消されないような安全なフォルダーを発見するのが難し
い。
629
名前:
解決補完マン
◆eW8C0JkO9w
:03/06/06 16:47
>>626
で(略された部分
「天才に違いない。」
630
名前:
デフォルトの名無しさん
:03/06/06 17:07
>>628
元の論点から外れるが、俺には暗号化の方が圧倒的に簡単に思える。
619のやり方ではプログラムはどうやって正しいファイルを知る事が出来るんだ?
ダミーが無数にあり、ファイル名が不定なんだぞ。
大体データの改変はユーザの自己責任で行われるもので
「絶対に消されないような安全なフォルダー」等を意識するのはおかしい。
それに暗号化が必要な情報は消されても全然困らない。
困るのは情報が漏れる事であり、そんなファイルを一般的な形式で記録するのは
危険極まりない。
631
名前:
デフォルトの名無しさん
:03/06/06 17:09
暗号化ってXORするだけで効果ある?
632
名前:
デフォルトの名無しさん
:03/06/06 17:16
ビット反転だけで十分
633
名前:
デフォルトの名無しさん
:03/06/06 17:33
>>631
昔レインガルドというネットゲーがあったが
ローカルに保存するファイルにそれをやっていて
速攻でクラックされていた
634
名前:
デフォルトの名無しさん
:03/06/06 17:36
>>631
632も言っているが、効果はある。
プログラミング出来る位の人間には解かれるかもしれないが、絶対に解けない暗号は
在り得ないので、データの重要性に応じて暗号化方式を変えるしかない。
タンスに隠すか、隠し金庫に保管するかで例えると、ビット反転はタンスに隠すかな。
635
名前:
デフォルトの名無しさん
:03/06/06 17:38
>>628
>ただ意外に絶対に消されないような安全なフォルダーを発見するのが難し
>い。
NTFS限定だけどSystem Volume Informationとか。
636
名前:
デフォルトの名無しさん
:03/06/06 18:03
皆の衆、これ使え。
http://www.ntl.co.jp/2/product/plugin/
637
名前:
デフォルトの名無しさん
:03/06/06 18:05
IPアドレスからホスト名って取得できますか?
638
名前:
デフォルトの名無しさん
:03/06/06 18:07
>>637
GetHostName()を使いなされ。
639
名前:
デフォルトの名無しさん
:03/06/06 18:10
>>619
=
>>629
恥の上塗り。
640
名前:
デフォルトの名無しさん
:03/06/06 18:17
629はただのネタだろ
つまらんけど
641
名前:
デフォルトの名無しさん
:03/06/06 18:17
>>637
gethostbyaddrかWSAAsyncGetHostByAddr。
642
名前:
デフォルトの名無しさん
:03/06/06 19:01
つか、レジストリ使うソフトを公開するのは止めろよな。
個人で使ってろ。
643
名前:
デフォルトの名無しさん
:03/06/06 19:43
レジストリーを使わないソフトって安いっぽいから俺は
レジストリーを使うソフトしか使いたく無いよ
レジストリーの使い方の分からない初心者がINIを使え
644
名前:
デフォルトの名無しさん
:03/06/06 20:13
変な奴
645
名前:
デフォルトの名無しさん
:03/06/06 20:35
設定をバックアップしやすいから.iniがいい。
646
名前:
デフォルトの名無しさん
:03/06/06 20:37
もう完全にスレ違いだな
647
名前:
デフォルトの名無しさん
:03/06/06 20:41
こんばんは。
さっそくですが、ファイルが変更されたのを通知してもらうような
API はありますでしょうか?
数秒ごとにファイルが変更されたかチェックするのではなく
変更を OS から知らせてもらうようなイメージです。
よろしくお願いします。
648
名前:
デフォルトの名無しさん
:03/06/06 20:43
>>605
「ちょっとしたツール」でそこまでやるのって
本末転倒というか目的のために手段を選ばないというか
手段が目的化してるというか
649
名前:
デフォルトの名無しさん
:03/06/06 20:44
>>647
FindFirstChangeNotification
ReadDirectoryChangesW
でぐぐれ
650
名前:
デフォルトの名無しさん
:03/06/06 20:47
実行可能ファイル書き換えると
ウィルスチェッカーに文句言われる可能性があるし
実行可能ファイルを読み出し専用の場所におけないし
あまりいいことないと思う
651
名前:
デフォルトの名無しさん
:03/06/06 22:13
>>649
ありがとうごじあます。
さっそくぐぐります。
とりあえずお礼だけ先に^^
652
名前:
デフォルトの名無しさん
:03/06/06 23:03
現在 SwitchDesktop でデスクトップ切り替えをするツールを作っています
はじめのデスクトップをA、新しいデスクトップをBとしたとき
デスクトップをAからBに切り替えても消えないウィンドウを作るには
どうしたら良いのでしょうか?
SetWindowPosでできそうな気がしたんだけどできない...
653
名前:
605
:03/06/06 23:14
>>648
>本末転倒というか目的のために手段を選ばないというか
>手段が目的化してるというか
なんか普段の自分の事言われてるみたい…
自分への戒めとします。ありがd
654
名前:
デフォルトの名無しさん
:03/06/06 23:33
Hook ってクラス化できるの?
他のコールバック関数みたいに
パラメータ渡せないっぽいし
655
名前:
593
:03/06/07 01:15
皆様、たくさんのレスありがとうございます
大変勉強になりました
INI→ファイルが2つになる
レジストリ→嫌いな人が多い。ちょっとしたアプリ程度でレジいじくるなー
複雑な方法→複雑(;´д`)
なかなかままならないものですね
素直に毎回うたせるかな・・・
656
名前:
デフォルトの名無しさん
:03/06/07 01:36
>>655
「ドラッグインしたファイルを、リストとしてtxtに吐き出すツール」
ショートカットにドラッグする。
本体はtxtと一緒に別のフォルダに置く。
657
名前:
デフォルトの名無しさん
:03/06/07 04:14
Win32コンソールのアプリケーションを作っています。
で、興味本位でウィンドウを隠して、インジケータに
アイコンを登録してみました。ここまではいいのですが
うまく登録メッセージを受け取ることができません。
サブクラス化もできないし、メッセージのフックも
インストールまではできるのですが結局呼ばれないようです。
だれか、いい方法知りませんか?
658
名前:
デフォルトの名無しさん
:03/06/07 09:11
>657
意味が分からん
・登録メッセージとは何か
・何のサブクラス化なのか
・何を対象にしたメッセージのフックか
ちゃんと書いてくれ
つかインジケータってタスクトレイのことか?
659
名前:
デフォルトの名無しさん
:03/06/07 09:47
しかも、コンソールアプリケーションでか?
できんの?
660
名前:
デフォルトの名無しさん
:03/06/07 10:13
質問の仕方が悪かった
HOOKした時に
SetWindowsHookExの引数に渡した、
HOOKPROC あるでしょ
あのコールバック関数内で、
GetWindowLongみたいに、
ユーザー側で指定した
パラメータ受け取ることって出来ますか?
661
名前:
デフォルトの名無しさん
:03/06/07 11:11
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(´∀` ) < 教えておながい
( ),,,,, \____________
/ ̄ ̄ ̄ ̄ ̄/|
∧ ∧ / /|
/_( ,,)__/ / ┌──────
|| ̄/ | ̄ ̄||/ < ヤダ
||, (___/ || └──────
/
662
名前:
デフォルトの名無しさん
:03/06/07 11:27
>660
GetWindowLongだったら、ウィンドウハンドルを取れていればできると思うが
663
名前:
657
:03/06/07 14:20
なんか適当に書きすぎたみたいで・・・スマソ
やっていることは
コンソールのウィンドウハンドル取得
ShowWindowでSW_HIDEを使って隠す
Shell_NotifyIconでタスクバーにアイコン登録
んで、このときにマウス関連のメッセージを受けるために
WM_APPあたりをNOTIFYICONDATA構造体の
uCallbackMessageにセットしておく
ここからが問題で
ウィンドウプロシージャは自前じゃないので
コンソールのウィンドウハンドルからサブクラス化して
メッセージをもらおうとしたけどだめ。サブクラス化できない。
(SPY++で見てもだめっぽい)
んじゃ、SetWindowsHookEx + WH_GETMESSAGEで
メッセージをフックしてみようと。今度はインストールはできるけど、
フックプロシージャを呼んでもらえないみたい。
んで、なんか他にいい方法思いつく人いませんか?
ってことなんですが、うまくできた人とかいます?(長文スマソ
664
名前:
デフォルトの名無しさん
:03/06/07 14:24
>>663
隠しウィンドウを一個クリエイトしとけばいいんでないの?
しらんけど。
665
名前:
デフォルトの名無しさん
:03/06/07 16:20
>フックプロシージャを呼んでもらえないみたい。
DLLにフックプロージャを置いてるか?
666
名前:
デフォルトの名無しさん
:03/06/07 17:14
>>655
ちなみにその手のデータを置くべきフォルダの、Microsoftによるお勧めは
shfolder.dll内のSHGetFolderPathを使ってフォルダを取得せよ、ってことになってる。
CSIDL_APPDATAかCSIDL_LOCAL_APPDATAでしょうな。
>663
>664
の方法に一票。
667
名前:
657
:03/06/07 18:35
いろいろレスサンクス
>664
>666
実はすでに隠しウィンドウのほうで実装は済んでるんだけど
コンソールでできないかなぁといろいろ試してみたかったんです。
もしできたら窓作る分のリソースの消費を抑えられるし。
>665
システムフックじゃないからいらないとは思うけど、一応作ってます。
あっ、もしかしたらシステムのフックにすればいいのかな?
試してみます。
↓
やっぱだめみたい。
どうもコンソールは普通の窓とは仕組みが違うみたい。
668
名前:
デフォルトの名無しさん
:03/06/07 19:04
どう考えても自前のWS_POPUPウィンドウ一枚のほうが
コンソールウィンドウよりリソース食わないと思うが
669
名前:
デフォルトの名無しさん
:03/06/08 11:58
ListBoxを作成したんですが、途中で複数選択出来るようにするために
SetWIndowLongを実行したんですが、内容が変更できません。
・↑を実行した直後、GetWindowLongを送ると、どうやらちゃんと書きかえられているようです。
・InvalidataRect、UpdateWindowは指定しましたが、駄目でした。
// 複数選択
::SetWindowLong( hList1, GWL_STYLE, GetWindowLong( GWL_STYLE ) | LBS_EXTENDEDSEL ) );
::UpdateWindow( hList1 );
::UpdateWindow( hMainWin );
::InvalidateRect( hMainWin, NULL, TRUE );
::InvalidateRect( hMainWin, NULL, FALSE );
::InvalidateRect( NULL, NULL, TRUE );
::InvalidateRect( NULL, NULL, FALSE );
// ↑を送っても複数選択できず
もしかして、Window自体作り直すしかない?(^〜^;
670
名前:
669
:03/06/08 12:05
>>SetWindowLong
書き間違えた。
::SetWindowLong( hList1, GWL_STYLE, ::GetWindowLong( hlist1, GWL_STYLE ) | LBS_EXTENDEDSEL ) );
671
名前:
デフォルトの名無しさん
:03/06/08 12:50
>669
仕様です。
672
名前:
669
:03/06/08 13:54
>>671
ノ---------]TOT[----------!!
673
名前:
LBS_MULTIPLESEL
:03/06/08 14:36
>>669
俺のことを忘れていないかい・・・
674
名前:
669
:03/06/08 15:04
>>673
無理でした。
最初から複数選択可能「LBS_MULTIPLESEL」or「LBS_EXTENDEDSEL」を付けて
ListBox作ると、途中変更が効かない。
何故だ……確かに、変わっているはずなのに…
675
名前:
669
:03/06/08 15:11
↑の付けたし。
一度、Windowを作ると、「複数選択」⇔「単一選択」への変更が出来ない。
676
名前:
デフォルトの名無しさん
:03/06/08 15:55
>669
だから仕様だって。仕様っつうかSDKにちゃんと
「後でスタイル変更しても無効だよ」って書かれている。
取扱説明書を読むのは基本中の基本だよ。
677
名前:
669
:03/06/08 16:55
>>676
うそ!?ほんとですか!?
どこに書いてありました?
678
名前:
デフォルトの名無しさん
:03/06/08 17:28
>>677
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listboxes/listboxreference/listboxstyles.asp
After the control has been created, these styles cannot be modified, except as noted.
679
名前:
デフォルトの名無しさん
:03/06/08 17:33
>>678
>except as noted.
がポイントだな。
680
名前:
デフォルトの名無しさん
:03/06/08 23:18
システムフックについて質問です。
CallNextHookExはいったい何をする関数なんでしょうか?
「次のフックを呼び出す」の意味がイマイチ分かりません。
アドバイスお願いします。
681
名前:
デフォルトの名無しさん
:03/06/08 23:56
>680
ttp://www.kab-studio.com/Programing/Codian/DLL_Hook_SClass/07.html
嫁
682
名前:
669
:03/06/09 00:32
>>678-679
激しくサンクス!
勉強不足だな…オレ。英語ニガテだし。
683
名前:
デフォルトの名無しさん
:03/06/09 01:12
ユーザーインターフェースをwin32api以外のなかに無い奴とかダウンロードできますか?
あるとこ教えてください
例えば丸いつまみを回すやつとか
684
名前:
無料動画直リン
:03/06/09 01:13
http://homepage.mac.com/norika27/
685
名前:
_
:03/06/09 01:13
http://kame.kakiko.com/hiroyuki/hankaku_b01.html
686
名前:
デフォルトの名無しさん
:03/06/09 01:19
>>683
MSDNを見れば、丸だろうが三角だろうが、好きな形のカスタムコントロールを
作成できるだけの情報は詰まっていると思います。
どこが出来ないかを聞いたほうがいいのではないでしょうか?
687
名前:
デフォルトの名無しさん
:03/06/09 01:22
>>686
初めから出来てる奴を使いたいのです
688
名前:
デフォルトの名無しさん
:03/06/09 03:25
>>687
用意はされていないよ。凝ったコントロールは
そこの会社のプログラマが一生懸命作ったものだから。
そこに尋ねるのがいいと思います。
689
名前:
デフォルトの名無しさん
:03/06/09 09:46
>>687
じゃあ、スレ違い。
690
名前:
デフォルトの名無しさん
:03/06/09 13:46
>>689
これではまるで役所のたらいまわしだな(w
691
名前:
デフォルトの名無しさん
:03/06/09 14:05
Windowsで ファンの回転数等を知るにはどうしたらよいのでしょうか?
Linuxでは Lm_sensorの出力を加工して使っていました。
692
名前:
デフォルトの名無しさん
:03/06/09 16:33
みんな、だまされるな!
> win32api以外のなかに無い奴
だからつまりwin32apiのなかにある奴ってことだ!
693
名前:
デフォルトの名無しさん
:03/06/09 17:13
ASM
694
名前:
デフォルトの名無しさん
:03/06/10 00:14
InvalidateRect()とInvalidateRgn()はどう使い分けるんでしょうか??
またUpdateWindow()とは。
695
名前:
デフォルトの名無しさん
:03/06/10 00:42
Rgn+=Rect
Rgn+=Rgn
InvalidateRect(h,0,1);
SendMessage(h,WM_PAINT);
696
名前:
デフォルトの名無しさん
:03/06/10 10:14
複数のスレッドからアクセスされるintのグローバル変数にはvolatileを
指定したりしますよね。
でもなぜか基本型以外のグローバル変数にはvolatileをつけているのを見ません。
なぜですか?
697
名前:
デフォルトの名無しさん
:03/06/10 10:17
それ本当にこのスレで質問する内容なん?
698
名前:
デフォルトの名無しさん
:03/06/10 11:53
>>694
InvalidateRect()は、
指定した矩形を更新リージョンに追加する関数
InvalidateRgn()は、
指定した非矩形(矩形も可)を更新リージョンに追加する関数
UpdateWindow()は、
指定されたウィンドウの更新リージョンが空ではない場合、
ウィンドウへ WM_PAINT メッセージを送信し、
そのウィンドウのクライアント領域を更新する関数
699
名前:
デフォルトの名無しさん
:03/06/10 12:08
>>697
そういうレスはいらないです。あなたの発言でみんなが関わり合いを
避けて結局回答が得られなくなります。
省いてますがintはvolatileなのに、クリティカルセクションやイベントハンドルなどが
volatileでなかったことから質問しているのです。だから安心してください。
700
名前:
デフォルトの名無しさん
:03/06/10 12:17
>>699
いや、そういうレスもらわないように最初からそう書けよ。
701
名前:
デフォルトの名無しさん
:03/06/10 12:21
ではそういう事情ですのでよろしくお願いします。
702
名前:
デフォルトの名無しさん
:03/06/10 12:23
クリティカルセクションやイベントハンドルは
ユーザーの最適化コードが複数のスレッドから
直接触るわけじゃないから。
703
名前:
デフォルトの名無しさん
:03/06/10 12:28
回答ありがとうございます。
つまりクリティカルセクションやイベントハンドルはそれらを扱う
APIが内部でそのことを考慮してうまく設計されてるからOK。
ということでしょうか?
704
名前:
デフォルトの名無しさん
:03/06/10 12:30
Yes
705
名前:
デフォルトの名無しさん
:03/06/10 12:32
非常に良く分かりました。ありがとうございます。
どうもお騒がせしました。
706
名前:
デフォルトの名無しさん
:03/06/10 12:34
とまぁ、696はvolatileの意味を誤解したまま終わってしまったわけだが。
707
名前:
デフォルトの名無しさん
:03/06/10 12:36
それはこのスレの守備範囲外だから
このスレ的にはクリティカルセクションやイベントハンドル
についてだけ答えてればOKでしょ
708
名前:
51
:03/06/10 12:56
API が考慮していようといまいと、自分でコードを追えない部分に volatile
が必要なほど過激な最適化は、少なくともMSのコンパイラではやらないと思うが
→じゃあ逆に int の引数については API が考慮してないって事か?
709
名前:
デフォルトの名無しさん
:03/06/10 12:58
コンパイラの最適化対策とAPIの内部動作の問題は全く別なのだが
スレ違いだから誤解したままでいてもらおう
710
名前:
デフォルトの名無しさん
:03/06/10 13:01
>>708
スレ違いだから微細は省くが最適化による無限ループにはまって悩むが良かろう
>少なくともMSのコンパイラではやらないと
馬鹿は痛い目を見なければわからん
711
名前:
デフォルトの名無しさん
:03/06/10 13:16
すれ違いというルールを厳格に主張する奴は目的を見失ってるね。
例えそれが純粋にAPIに関することから始まり、最終的にはコンパイラや
OSの内部の問題になったとしてもそこまで指摘することは自然なことだし
議論としては継続しているじゃないですか。
そのことがスレッドを読みにくくするんですか。
スレ違いなどというものを厳密に守った結果、助言としては誤解を与え得る
中途半端なものになっては本末転倒だが、妙なこだわりに取り付かれた人たちに言っても無駄か。
712
名前:
デフォルトの名無しさん
:03/06/10 13:32
>>711
どこかで見たようなバカだな。
713
名前:
デフォルトの名無しさん
:03/06/10 13:41
マルチスレッドの実行では volatile よりも何よによりも
ミューテックスやセマフォでロックかけてデータアクセスの同期
取る方が先に来るんじゃ
volatile 付けときゃOKというわけではあるまい
714
名前:
694
:03/06/10 13:51
>>698
遅レスですみません。
MSDNよりずっとよくわかりました。
どうもです。
715
名前:
デフォルトの名無しさん
:03/06/10 13:58
>>712
あんたのほうがバカっぽいよ。
716
名前:
デフォルトの名無しさん
:03/06/10 14:00
よーしパパ、スレ違いな質問をしまくっちゃうぞぉ。
717
名前:
デフォルトの名無しさん
:03/06/10 14:04
>>696
は明らかにスレ違いだぞ。
> 複数のスレッドからアクセスされるintのグローバル変数にはvolatileを
> 指定したりしますよね。
> でもなぜか基本型以外のグローバル変数にはvolatileをつけているのを見ません。
> なぜですか?
と問われても、基本型にvolatileの記述が強制されている訳でもないし、基本型以外に
volatileの記述が禁止されている訳でもないから、意図など分かる訳がない。
コーディングした奴に聞けとしか言えん。
> 省いてますがintはvolatileなのに、クリティカルセクションやイベントハンドルなどが
> volatileでなかったことから質問しているのです。だから安心してください。
何が安心してくださいだ。逝って良し!!
718
名前:
デフォルトの名無しさん
:03/06/10 14:04
>>711
コピペに使えるな。もらっておこう。
719
名前:
_
:03/06/10 14:13
http://homepage.mac.com/hiroyuki44/hankaku06.html
720
名前:
デフォルトの名無しさん
:03/06/10 14:42
>>715
この板から出てって下さい。ウザイです。
721
名前:
デフォルトの名無しさん
:03/06/10 15:55
>718
ワロタ。オレももらうよ。早く使える日が来ないかな。
722
名前:
デフォルトの名無しさん
:03/06/10 16:16
ファイルの存在チェックとリネームの良いやり方ってありますか?
ShellExecuteとSHFileOperationをつかってたんだけど
もっとスマートな方法がありそうなきがして…
723
名前:
デフォルトの名無しさん
:03/06/10 16:26
>>722
FindFirstFileとかMoveFileはどうよ?
724
名前:
デフォルトの名無しさん
:03/06/10 16:42
>>722
それでいいんじゃないの。
俺もFindFirstFile使うけど、別にこれがスマートって訳じゃないし。
725
名前:
デフォルトの名無しさん
:03/06/10 16:53
すいません、質問させて下さい。
Windows2000のDocuments and Settingsフォルダのパス情報を取得するAPIってあるのでしょうか?
テンポラリフォルダのパスを取得するAPIがあるのは知っているので、このAPIで取得したパスから
フォルダ階層をさかのぼっていけば取れるとは思うのですが、もっとスマートな方法をご存知でしたら
アドバイス下さい。
よろしくお願いします。
726
名前:
デフォルトの名無しさん
:03/06/10 17:07
>>725
SHGetSpecialFolderLocation
SHGetPathFromIDList
このへんを調べてみたら
727
名前:
デフォルトの名無しさん
:03/06/10 17:09
>>725
GetProfilesDirectoryはどうよ?
728
名前:
デフォルトの名無しさん
:03/06/10 17:15
>>725
SHGetSpecialFolderLocationでCSIDL_PROFILESが使えるはず・・・
729
名前:
デフォルトの名無しさん
:03/06/10 18:31
>>722
存在チェックはPathFileExists使ってる。
Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 4.0 or later).
Windows 95/98/Me: Requires Windows 98 (or Windows 95 with Internet Explorer 4.0 or later).
だけど。
730
名前:
デフォルトの名無しさん
:03/06/10 18:35
>>722
GetFileAttributesがエラー返したら存在しない。強引かも
731
名前:
デフォルトの名無しさん
:03/06/10 19:08
>>725
CSIDL_PROFILES てのがあるではないか。
OSのバージョン知らないけど。
732
名前:
デフォルトの名無しさん
:03/06/10 19:23
つーか、普通 FileExists じゃねえの?
733
名前:
デフォルトの名無しさん
:03/06/10 19:31
>>732
どこの普通だ
734
名前:
デフォルトの名無しさん
:03/06/10 19:33
>>733
WSHじゃない?
735
名前:
デフォルトの名無しさん
:03/06/10 19:37
>>732
おまえみたいなのがいるからVB厨と言われるんだヽ(`Д´)ノウワァァァン!
736
名前:
デフォルトの名無しさん
:03/06/10 19:40
>>735
いや、VCL厨かもよ
737
名前:
デフォルトの名無しさん
:03/06/10 19:49
CSIDL_PROFILE
のすぐ上がすべてのユーザのルートだと思うよ。
738
名前:
725
:03/06/10 20:10
726、727、728、731、737さん、アドバイスありがとうございます。
まだ試してないんですが、まずはお礼を。
739
名前:
デフォルトの名無しさん
:03/06/10 20:27
>>711
同意
740
名前:
デフォルトの名無しさん
:03/06/10 21:02
迷惑だからスレ違い野郎を弁護しないでくれ
741
名前:
デフォルトの名無しさん
:03/06/10 21:14
質問お願いします。
SetBkColorで背景色を設定することは背景ブラシの色を(ブラシの種類は
そのままに)変更することと同じではないのでしょうか?
というのはRectangle()のときに内部の塗りつぶし色にSetBkColor()で
設定した色が反映されないもので...。
MSDNからでは読み取れないものでよろしくお願いいたします。
742
名前:
デフォルトの名無しさん
:03/06/10 21:22
>>741
ttp://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_setbkcolor.htm
この関数は、CreatePen 関数を使って作成したペンで描いたスタイル付きの複数の線の
隙間を塗りつぶします。しかし、ExtCreatePen 関数を使って作成したペンで描いたスタイル
付きの複数の線の隙間は塗りつぶしません。また、SetBKColor 関数は、TextOut と
ExtTextOut の各関数の背景色も設定します。
背景モードが OPAQUE の場合、背景色は、スタイル付きの複数の線の隙間、ブラシの
ハッチ線の隙間、文字の背景を塗りつぶすのに使われます。また、ビットマップをカラー
からモノクロームまたはその逆へ変換するときにも使われます。
743
名前:
デフォルトの名無しさん
:03/06/10 21:22
SetBkColorはテキストの背景色だな
744
名前:
デフォルトの名無しさん
:03/06/10 21:30
>>742-743
テキストの背景色だけなんですね。
ずっとVBをやってたもので背景色全部だと思ってしまいました。
ありがとうございました。
745
名前:
デフォルトの名無しさん
:03/06/10 21:35
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
(^^)
746
名前:
デフォルトの名無しさん
:03/06/10 21:42
彡川川川三三三ミ〜
川|川/ \|〜 プゥ〜ン
‖|‖ ◎---◎|〜 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
川川‖ 3 ヽ〜 < (*´д`*)ハァハァハァ
川川 ∴)д(∴)〜 \_______________
川川 〜 /〜 カタカタカタ
川川‖ 〜 /‖ _____
川川川川___/‖ | | ̄ ̄\ \ ←
>>1-1000
/ \__| | | ̄ ̄|
/ \___ | | |__|
| \ |つ |__|__/ /
/  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
| | ̄
747
名前:
デフォルトの名無しさん
:03/06/10 21:50
>>737
移動プロファイルでZ:\になっていた罠とかないの?
748
名前:
732
:03/06/10 22:41
ぐぁ、スレ間違えてたよ(;´Д`)
逝ってくる。
749
名前:
デフォルトの名無しさん
:03/06/10 23:17
CreateThreadによって作成された複数のスレッドから
外部のDLLにある関数を呼ぶときは関数の呼び出しの前後を
クリティカルセクションで囲む必要があるのでしょうか?
750
名前:
デフォルトの名無しさん
:03/06/10 23:36
>>749
ということはAPIを一つ呼ぶのにいちいちクリティカルセクションで囲んでいるのか?
クリティカルセクションを使うためには、それ自体も外部のDLLにある関数を使う必要があるが、
クリティカルセクションを使うためにクリティカルセクションを使うのか?
クリティカルセクションを使うためにクリティカルセクションを使うためにクリティカルセクションを使うのか?
クリティカルセクションを使うためにクリティカルセクションを使うためにクリティカルセクションを使うためにクリティカルセクションを使うのか?
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.