■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build13
501
名前:
名無し@沢村
:03/09/05 12:56
>>496
とりあえずWaitForSingleObjectにはHWNDを渡すのではなく
ShellExecuteExが返すプロセスハンドルを渡す。
502
名前:
デフォルトの名無しさん
:03/09/05 13:19
CreateFontといえば、自分は将棋をwin32アプリで作っていて、駒の表示、
画面の部分クリアなんかをCreateFontでやっているが、エディタに書き込んでいる
時などにマウスで文字属性を変えられる所を行ったり来たりさせていると、
表示がバグる。いったん最小化させて、又元に戻しても、ばぐったままのが表示
される。あまり頻繁には使ってはいけないものなのかも。
503
名前:
デフォルトの名無しさん
:03/09/05 14:13
CreateFontで画面の部分クリア?
意味わかりませんが。
っつーか、フォント作りすぎてリソース不足になっているだけか?
504
名前:
デフォルトの名無しさん
:03/09/05 14:15
>>501
レスありがとうございます。
プロセスハンドルを渡してますがその値(ハンドル)は常に0のようです。
おそらくShellExecuteExに渡すHWNDにトップウィンドウのハンドルを指定
すればいいと思うのですが、そこで操作の糸が切れました・・・・
505
名前:
474
:03/09/05 15:51
>481
コピペした時に誤って消してました(汗
>479
CreateFont(16, 0, 0, 0, 0, 0, 0, 0, SHIFTJIS_CHARSET, 0, 0, 0, 0, "MS Pゴシック");
で
e8
g7
の出力が得られました。どうやら成功のようです。
ありがとうございました。
506
名前:
デフォルトの名無しさん
:03/09/05 15:51
>>504
ShellExecuteで得られるのってHINSTANCE にキャストされてるだけで、
実際のHINSTANCEとは違うんじゃなかった?
そういうのにはCreateProcess()ではないのかと。
507
名前:
506
:03/09/05 15:56
すまん。ShellExecuteExには hProcess があるのね。
508
名前:
502
:03/09/05 16:38
>>503
>CreateFontで画面の部分クリア? 意味わかりませんが。
消したい部分が30×100なら、CreateFontの引数をそのサイズにして
半角スペース1つを出力。
>っつーか、フォント作りすぎてリソース不足になっているだけか?
CreateFont→駒1枚表示→Deleteにしてたけどそれだとそうなる?
後、全部の駒を一度に表示する時(初期、再表示)は、同じ属性の表示
(上攻め、下攻めなど)は変更→全て表示→Deleteで表示する様にしたが
それでもダメだった。ただ、その時変更した後Deleteせずに再変更して、
終わりの時だけしかDeleteして無かったかも。
509
名前:
デフォルトの名無しさん
:03/09/05 16:42
>>508
そういう用途ならExtTextOutのほうが便利だと思うが。
510
名前:
502
:03/09/05 17:05
>>509
始めて見たから、まだ使い方が分かんない。いろいろ試してみます。ありがとう。
http://www.microsoft.com/japan/developer/library/jpgdipf/_win32_exttextout.htm
しかし、上のようなページに行く元のページはどこにあるのだろう。
511
名前:
デフォルトの名無しさん
:03/09/05 17:17
ExtTextOutで矩形を塗りつぶす方法はMFCのCDC::FillSolidRectのソースが参考になる、
つーのも大概どうかと思うが。
512
名前:
デフォルトの名無しさん
:03/09/05 17:26
素直に矩形で塗り潰せっと
513
名前:
デフォルトの名無しさん
:03/09/05 17:40
ブラシとか作って矩形で塗りつぶすより、CDC::FillSolidRectみたいに
ExtTextOutでやったほうが、かな〜り速かった記憶が
514
名前:
デフォルトの名無しさん
:03/09/05 17:48
しかもExtTextOutのほうが格段に手間かからんしな。
515
名前:
デフォルトの名無しさん
:03/09/05 17:52
>>510
http://www.microsoft.com/japan/msdn/library/default.asp
516
名前:
デフォルトの名無しさん
:03/09/05 18:05
>>504
hProcessを得るときはSEE_MASK_NOCLOSEPROCESSフラグが必要だってさ。
あとウィンドウがないときはSEE_MASK_FLAG_DDEWAITフラグも付けろとかなんとか
書いてあるような。MSDN。英語自信なし。
517
名前:
502
:03/09/05 19:12
>>515
そのページは知っているのですが、選択できるものがいっぱいあって
使い方が分かりません。
Win32API一覧
CreateFont
ExtTextOut
TextOut
...
windows.h構造体の型一覧
POINT
...
こんな感じになってくれていればうれしいのですが。
知っている、使ったことがあるものでこつこつ作っていこうかな。
518
名前:
496
:03/09/05 20:25
>>506
>>516
レスありがとうございます。
SEE_MASK_NOCLOSEPROCESSはついてます。
SEE_MASK_FLAG_DDEWAITも試しにつけてみます。
板さえ出せばhwndは取得できるわけで、しょうがないから
「EXCEL起動中」板でも出して逃げちゃおうかなぁなどと考えています。
後はエクセルのファイルが起動した後、如何にオブジェクトを取得するかですが。
・・・・・これも厄介そうです。修行と思ってがんばります。
APIって難しいですねぇ(T−T)
519
名前:
デフォルトの名無しさん
:03/09/05 20:27
>>518
というか、やりたいことからするとCOM使ったほうがよさげな気がするが。
520
名前:
496
:03/09/05 21:44
>>519
レスありがとうございます。
COMってなんですか?
521
名前:
デフォルトの名無しさん
:03/09/05 21:48
WNDCLASSとWNDCLASSEXはどう使い分ければよろしいのでしょうか
なにぶん、ド初心者なのですが・・・
(´д`;)
(\/)
((
522
名前:
デフォルトの名無しさん
:03/09/05 21:54
Advanced Windowsによると
「最初からいきなりCOMアーキテクチャの学習を始める人には同情の意を禁じえない」
と。
523
名前:
デフォルトの名無しさん
:03/09/05 21:58
>>520
Component Object Model
何ができるかって説明は面倒なんで自分で調べろ。
例えばIEコンポーネントのタブブラウザなんかもこのシステムで実現されている。
>>521
ド初心者なら何も考えずにMSの推奨どおりWNDCLASSEX使っとけば?
別に大した違いはないし。
524
名前:
521
:03/09/05 22:12
>>523
ありがとうございました。
>大した違いはないし。
で納得しました。WNDCLASSEX使うことにします。
Microsoft Visual Studio\VC98\Includ\WINUSER.h を見たところ、
弱冠メンバ変数(?)の数がWNDCLASSEXの方が多かったので、まだ自分には理解できない機能が余分にWNDCLASSEXにはいっているのかなぁと思いました。
525
名前:
デフォルトの名無しさん
:03/09/05 23:38
>>520
実行形式ファイルの1つ。
スタックセグメントを持たないDOS EXE形式ファイルを
EXE2BINユーティリティで変換することにより得られる。
526
名前:
デフォルトの名無しさん
:03/09/05 23:43
激しくつまんね。略してハゲ妻。
527
名前:
デフォルトの名無しさん
:03/09/06 00:22
ハゲ妻 昼下がりの情事
528
名前:
デフォルトの名無しさん
:03/09/06 03:05
>>527
コラ!! インテリぶるな!!
529
名前:
デフォルトの名無しさん
:03/09/06 11:00
マジレスですが、MSDNライブラリでWin32APIのリファレンス見るにはどうたどればいいんでつか?
子一時間やってるけど、みつからないのですが。
530
名前:
デフォルトの名無しさん
:03/09/06 11:38
キーボードを押してもまったく反応させないようにするには…
どのAPIを使えばよいの?
531
名前:
デフォルトの名無しさん
:03/09/06 12:01
グローバルフック
532
名前:
デフォルトの名無しさん
:03/09/06 13:51
>>530
wParamメッセージを無視すれば、反応しないと同じだと思うが。
533
名前:
デフォルトの名無しさん
:03/09/06 15:41
スクロールメッセージの
SB_TOP とか SB_BOTTOM はどうやったら送られてきますか?
534
名前:
デフォルトの名無しさん
:03/09/06 15:45
スクロールバーを操作したら
535
名前:
デフォルトの名無しさん
:03/09/06 19:20
StretchBltで縮小した画像がむちゃくちゃ汚いんですけど…
なんとかできませんか?
ゲフォ2MXにて
536
名前:
デフォルトの名無しさん
:03/09/06 19:38
>>535
SetStretchBltMode() 試してみた?
537
名前:
デフォルトの名無しさん
:03/09/06 20:15
>>536
わぁ,ありがとうございます!,綺麗にできました!
こんなAPIしりませんですた
538
名前:
デフォルトの名無しさん
:03/09/06 22:23
ウィンドウの大きさを変更したりしてWM_PAINTが呼び出されたときの再描写で
ビットマップなどを再描写したときにちらついてしまいます。
今はBeginPaint()を使っているのでこれが一度描画領域を消去してから描写しなおすらしく、
背景の色で消去せず上書きのようにすればちらつかないと思うのですが、
どなたかその方法を教えていただけないでしょうか?
539
名前:
デフォルトの名無しさん
:03/09/06 22:28
WM_ERASEBKGNDを捕まえて潰しておくこと。
540
名前:
538
:03/09/06 22:35
ありがとうございました!
541
名前:
デフォルトの名無しさん
:03/09/06 23:04
ダイヤルアップネットワークの接続・切断やダイヤルアップネット
ワークエントリーの編集ができるWin32-APIってありますか?
542
名前:
デフォルトの名無しさん
:03/09/06 23:15
むろんあります
543
名前:
デフォルトの名無しさん
:03/09/06 23:25
>>536
ありがd
拡大縮小は自前で補間処理を書かなきゃならないと思ってた。
このスレ見てヨカタ〜
544
名前:
デフォルトの名無しさん
:03/09/06 23:41
>>529
なんか構成が変わったようだが見つからん事はなかろう。
例えばCreateFileなら
www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpfileio/html/_win32_createfile.asp
545
名前:
デフォルトの名無しさん
:03/09/07 04:10
windowをある一定の大きさより小さくサイズ変更出来ないようにするにはどうしたらいいですか?
546
名前:
デフォルトの名無しさん
:03/09/07 04:24
>>545
・WM_GETMINMAXINFOに適当に反応
・WM_WINDOWPOSCHANGINGで適当に調整
547
名前:
545
:03/09/07 04:39
>>546
夜中なのにありがとうございました
548
名前:
デフォルトの名無しさん
:03/09/07 10:12
>>542
は屑
549
名前:
デフォルトの名無しさん
:03/09/07 13:21
屑が屑を屑呼ばわりするの図。
550
名前:
デフォルトの名無しさん
:03/09/07 14:13
test
551
名前:
デフォルトの名無しさん
:03/09/07 15:37
↓の関数なんですが
SetClassLong(hWindow,GCL_HCURSOR,(LONG)LoadCursor(NULL,IDC_ARROW));
「LoadCursorの戻り値HCURSORをLONGに切り詰める」と警告しやがります。
そりゃごもっともですが、黙らせるような上手い方法はありませんか?
ただし、警告レベルを下げるとか、SetCursorを使うとかはなしです。
552
名前:
デフォルトの名無しさん
:03/09/07 15:52
>> 551
キャストすればいいんでは?単純に
553
名前:
552
:03/09/07 16:12
ごめん、質問の意味を理解してませんでした
警告レベルを下げずに警告するな、というのはできないのでは?
一時的に下げる、とかでもダメ?
たいていのコンパイラの
#pragma
あたりで操作できないのかな
あるいはいっそのことヘッダファイルかなんかの
先行宣言の部分を強引に書きかえるしかないんじゃないの?
ちなみに、C++での話だったら、reinterpret_cast<>を
使っても警告してくるの?
554
名前:
デフォルトの名無しさん
:03/09/07 16:14
>552
単純にやってだめだから質問してるんじゃないの?
>551
コンパイラは何よ?
555
名前:
552
:03/09/07 16:14
そういや、「切り詰める」と警告してくるの?
あなたの環境では HCURSOR と LONG の
サイズが違うのか…それならキャストは危険だな
556
名前:
デフォルトの名無しさん
:03/09/07 16:31
HCURSOR = HICON__*で最近のVC++あたりは64bit環境を視野に入れてるから
警告を出すんじゃないか。まぁその辺は不用意にLONGにポインタをつっこませる
Win32API自体が糞だと思ってあきらめろ。
557
名前:
デフォルトの名無しさん
:03/09/07 16:34
Win64対策ならSetWindowLongPtrとLONG_PTRだな
Win16は忘れた
558
名前:
デフォルトの名無しさん
:03/09/07 19:20
>>553
んだな、規格違反はエラーであり、警告は規格外。
559
名前:
デフォルトの名無しさん
:03/09/07 19:21
#pragma warning(disable : 4999)
560
名前:
デフォルトの名無しさん
:03/09/07 19:54
分割ペインってWin32APIレベルで用意されてる?
フレームワーク使わない場合は自分で実装しなきゃいけないのかな。
561
名前:
デフォルトの名無しさん
:03/09/07 20:27
>>557
細かくてスマンが、今回はSetClassLongPtrな。
562
名前:
デフォルトの名無しさん
:03/09/07 20:48
>>560
ウィンドウクラスとWIN32 APIは関係ないと思うが。
563
名前:
デフォルトの名無しさん
:03/09/07 20:51
コモンコントロールには無いな
564
名前:
デフォルトの名無しさん
:03/09/07 21:13
質問おながいします。
CreateCompatibleDC()ですが、フォントとかのGDI
オブジェクトは元のDCから反映されてないみたいなのですが
どうすればいいのでしょう?
またなぜ反映してくれないのでしょうか?
565
名前:
デフォルトの名無しさん
:03/09/07 21:43
SetClassLong(hWindow,GCL_HCURSOR,(LONG)(LONG_PTR)LoadCursor(NULL,IDC_ARROW));
で黙りやがりました。どうもです。
何か怖い気もするけど、正常に動いてるし、まぁいいや。
566
名前:
デフォルトの名無しさん
:03/09/07 22:02
>>565
いや、最近のSDKではSetClassLongの代わりにSetClassLongPtrを使うことになってるのよ
567
名前:
デフォルトの名無しさん
:03/09/07 22:23
キャストを使えばそりゃ黙るだろう
568
名前:
デフォルトの名無しさん
:03/09/07 23:49
つーか64bit対応が邪魔ならプロジェクトの設定で外すのが正道
今まで貯め込んできたライブラリまで全部移植するのは片手間じゃ無理
569
名前:
デフォルトの名無しさん
:03/09/08 00:43
system("cd sub");
を実行しようと思ったのですが、どうやらうまくいきません。
そもそもcdコマンドって外部プログラムじゃない気がしますが。
どうやったらこの機能を実現できますか?
570
名前:
デフォルトの名無しさん
:03/09/08 00:46
>>569
基本的には子プロセスでカレントディレクトリを変更しても親プロセスに影響しないから無意味
571
名前:
デフォルトの名無しさん
:03/09/08 00:46
つまり、カレントフォルダを変更する方法を教えてください。
ということです。
572
名前:
デフォルトの名無しさん
:03/09/08 00:47
>>570
ありがとうございます。
親のプロセスのカレントを移動する方法はないでしょうか。
573
名前:
デフォルトの名無しさん
:03/09/08 00:47
>>569
_chdir
574
名前:
デフォルトの名無しさん
:03/09/08 00:48
>>573
ありがとう。これでできそうです。
もしかしてwinapiじゃなかったのかな。
だとしたらごめんなさい。
575
名前:
デフォルトの名無しさん
:03/09/08 00:48
>>573
できればネタは控えて欲しいです。マジレス希望なので。
576
名前:
デフォルトの名無しさん
:03/09/08 00:49
ちっ・・・
577
名前:
569
:03/09/08 00:50
>>575
??
え、ネタなの?
578
名前:
デフォルトの名無しさん
:03/09/08 00:51
>>577
マジ
579
名前:
569
:03/09/08 00:52
ありがとう
580
名前:
名無し@沢村
:03/09/08 00:54
ここはAPIスレだから、
>>573
の回答は非常に不適切。
正しくはSetCurrentDirectory()だ。
581
名前:
デフォルトの名無しさん
:03/09/08 02:25
ウインアプリのウインドウにはprintfは使えない?ので、TextOutで出力
しているのですが、可変引数で無いので不便です。sprintfを使えば出来る
のですが、変数を用意し、2行書かなければなりません。sprintfの文字列を
戻り値で返すバージョン、又は、TextOutの可変引数バージョンがあるなら
教えてください。
582
名前:
デフォルトの名無しさん
:03/09/08 02:32
自分で関数つくれボケ
583
名前:
デフォルトの名無しさん
:03/09/08 02:36
>>581
MFCのCStringクラスを使えばsprintfよりは簡単に書けるかも。
584
名前:
デフォルトの名無しさん
:03/09/08 02:39
C++ならboost::format使えば一応一行で書けるな。
585
名前:
581
:03/09/08 03:11
お答えありがとうございます。
>>582
可変引数はかなり難しかった気が。
...と書いて、varとかの構造体を何かやるという。
自分のLVでは無理っす。
>>583
MFCはほとんど使ったことが無いのですが、調べてみます。
>>584
::は使ったことが無いのですが、通常関数の感覚でコードに付け足して
みたのですが、エラーになってしまいました。いろいろ調べてみます。
586
名前:
デフォルトの名無しさん
:03/09/08 03:31
ShellExecuteで複数のURLを複数のウィンドウを開いて
表示する処理を行いたいのですが、どうしても
開いた一つ目のウィンドウ内で表示されてしまいます。
どのようにしたらよいでしょうか?
587
名前:
デフォルトの名無しさん
:03/09/08 03:44
親ウィンドウと子ウィンドウでそれぞれ別々のウィンドウクラスを作り、
コールバック関数を同じウィンドウプロシージャにしたいのですが、
動作がおかしくなりました。
同じプロシージャは使えないのでしょうか?
588
名前:
名無し@沢村
:03/09/08 03:55
>>586
ShellExecuteをやめてIWebBrowser2を使う。
589
名前:
デフォルトの名無しさん
:03/09/08 03:57
>>588
ありがとうございます。
早速取り組んでみます。
590
名前:
デフォルトの名無しさん
:03/09/08 11:06
Win32APIで、コントロールパネルやアプリケーションの追加削除画面を開くことは出来ますか?
591
名前:
デフォルトの名無しさん
:03/09/08 12:33
WinExec("control appwiz.cpl", SW_SHOW);
592
名前:
デフォルトの名無しさん
:03/09/08 14:06
>>587
Win32APIとあんまり関係ないだろ。
コールバック関数は静的(スタティック)である必要があり、
別々のウィンドウはそれぞれ別個のインスタンスを持ち、
スタティック関数は全インスタンス(メンバなら同一クラスの全インスタンス)に共通。
つまり、コールバックから各インスタンスへ振り分けてやる必要がある。
MFCなんかだとウィンドウハンドルからマップオブジェクトを利用して、
CWnd*を取得し、内部関数を呼ぶ構造(だったと思う)。
593
名前:
デフォルトの名無しさん
:03/09/08 14:31
我ながら情けない質問なのですが、リストビューの任意の項目を
選択するリストビューメッセージを、教えて頂けないでしょうか。
594
名前:
デフォルトの名無しさん
:03/09/08 15:19
LVM_SETITEM
595
名前:
デフォルトの名無しさん
:03/09/08 15:39
>>594
レスありがとうございました。おかげで
それらしいフラグを、ようやく発見できました。
596
名前:
デフォルトの名無しさん
:03/09/08 15:43
10行の.txtファイルを 自作メモ帳で表示します。
現在画面には4行表示できます。
このとき SCROLLINFO の設定は
nPage = 4;
nMin = 0;
nMax = 10;
ですか?
それとも
nPage = 4;
nMin = 0;
nMax = 10 - nPage;
ですか?
597
名前:
デフォルトの名無しさん
:03/09/08 16:54
聞く前に試せ。
598
名前:
デフォルトの名無しさん
:03/09/08 20:15
Winny2の設定変更したら、自動的にアプリの再起動がかかったんだけど、
アプリの再起動ってどうやるん?
599
名前:
デフォルトの名無しさん
:03/09/08 20:26
再起動が掛かったように見えるだけじゃねぇの?
600
名前:
デフォルトの名無しさん
:03/09/08 22:06
設定を保存する。 自分自身のパスを取得し実行。実行元を終了。
601
名前:
デフォルトの名無しさん
:03/09/08 22:27
>>598
単にメインルーチンで
main(){
for(;;)
{
Application->Init();
Application->Run();
}
}
とかやってるだけだろ。
602
名前:
デフォルトの名無しさん
:03/09/09 00:18
>>598
メインフレームをSH_HIDE。
しばらくSleepしてから、位置を少しずらしてSH_SHOW。
たったこれだけで、何でもGUIで物事を考えてる連中にはきっと、
再起動したように見えるはず。
603
名前:
デフォルトの名無しさん
:03/09/09 00:22
>>603
ループでCPU消費して、ついでにHDDにでもアクセスしとくとより効果的
604
名前:
デフォルトの名無しさん
:03/09/09 00:25
>>603
なるほど。詰めが甘かったですね。もっと精進してきます。
605
名前:
デフォルトの名無しさん
:03/09/09 01:17
んで見せかけてどうすんの
606
名前:
デフォルトの名無しさん
:03/09/09 01:29
603がループしている。
607
名前:
デフォルトの名無しさん
:03/09/09 01:59
>>605
FormCreate/FormDestoyイベントを発生させて設定の再読み込みでもしてるんだろ。
608
名前:
デフォルトの名無しさん
:03/09/09 02:00
>>605
利用者に、アプリの再起動ってどうやるんだろ?って思わせる。
609
名前:
デフォルトの名無しさん
:03/09/09 02:17
ウィンドウの大きさを変えずにクライアント領域の大きさだけを変えるAPIって有りませんよね?
610
名前:
デフォルトの名無しさん
:03/09/09 02:19
>>609
子ウィンドウいっこ貼る
611
名前:
デフォルトの名無しさん
:03/09/09 05:20
>>609
私も以前ここで教えてもらったのですが
WM_NCCALCSIZEに反応するみたいです。。。
612
名前:
デフォルトの名無しさん
:03/09/09 11:04
画像等へ任意の色で網掛けするAPIってありますか?
613
名前:
デフォルトの名無しさん
:03/09/09 11:09
ブラシにそのように設定するだけ
614
名前:
デフォルトの名無しさん
:03/09/09 11:12
ハッチブラシの線の間隔って変えられるの?
615
名前:
デフォルトの名無しさん
:03/09/09 11:14
ゴチャゴチャ言わずに好きな網のビットマップを作ってブラシに関連づけろ
616
名前:
デフォルトの名無しさん
:03/09/09 20:32
フォルダを開いてウィンドウが表示される位置を指定したいです。
ShellExecuteEx(&sei); で非表示のままロードし、
WaitForSingleObject(sei.hProcess, INFINITE); で待って、
EnumWindows( EnumWndProc, (LPARAM)0); として、
EnumWndProcでウィンドウを移動してから表示させようと
したのですがsei.hProcessが0なってしまいます。
良い方法ありませんか?
617
名前:
デフォルトの名無しさん
:03/09/09 20:37
SEE_MASK_NOCLOSEPROCESSは付けてるか?
(
>>518
によると付けてるようだが)
618
名前:
デフォルトの名無しさん
:03/09/09 20:39
>>616
ShellExecuteExの戻り値/エラーコードはどうなってますか?
_SHELLEXECUTEINFOのcbSizeに値を設定していなかったりしませんか?
619
名前:
616
:03/09/09 20:52
ありがとうございます。
>>617
つけてます。(ちなみに518さんとは別人です)
>>616
sei.cbSize = sizeof(SHELLEXECUTEINFO); ってしてます。
戻り値は1でした。
フォルダの場合、他のプロセスで表示させて新しいプロセスは
すぐ終了してしまうのかな、と想像してますが...
620
名前:
デフォルトの名無しさん
:03/09/09 20:55
ShellExecuteEx()より CreateProcess()の方が
構造体の初期化とか簡単で確実じゃね?
621
名前:
616
:03/09/09 21:33
>>620
PROCESS_INFORMATIONに値は入ってましたが、
WaitForSingleObject(pi.hProcess, INFINITE);
や
WaitForInputIdle(pi.hProcess, INFINITE);
で待ってくれているように見えませんでした。
なんででしょう?
CreateProcessだったらSTARTUPINFO使って位置を決められるものなの
でしょうか?どうも、うまく動きません。
質問ばかりですみませんが、何か良い方法があればお願いします。
622
名前:
デフォルトの名無しさん
:03/09/09 22:52
>>621
dwProcessIdで示されるプロセスは、終了しているはずです。
NT系ならタスクモニタで確認して下さい。
これは、おそらく最初に起動したプロセス(A)がプロセス(B)を起動した後に
終了していると思われます。
PROCESS_INFORMATIONのPIDは、プロセスAのものと思われます。
画面上に表示されるものは、プロセスBになっているのでは?
このような動作をするアプリに、ペイントがありますね。
623
名前:
622
:03/09/09 23:01
622に書いている動作の通りとして。
Win2000以降なら、プロセスBのハンドルを取得するAPIがあったような・・・
以前MSDNで見た気が。ハンドル等のオブジェクトの生成元を追跡していく
ようなことが出来るAPIだったので、逆もあるはず。
よく覚えて無い、スマソ
624
名前:
622
:03/09/09 23:05
以前MSDNマガジンで記事が載ってたな〜
いつだったか思い出せない・・・
625
名前:
616
:03/09/09 23:47
>>622
ありがとうございます。
> プロセス(A)がプロセス(B)を起動した後に終了
私のイメージでは、プロセスAが元々ある場合は、プロセスBを起動すると、
BがやろうとしていたことをAに引き継ぎ、Aがスレッドとして実行しつつ
Bは終了してしまう。という感じです。
結果的に同じことですけど。
>オブジェクトの生成元を追跡していく
そんなこともできるんですね。初めて聞きました。
なんか、やりたいことは単純なのにややこしいですね。
626
名前:
デフォルトの名無しさん
:03/09/09 23:58
C++からADO使おうとしてCOMの初期化(マルチスレッド使う)やってまつ。
CoInitializeEx(NULL, COINIT_MULTITHREADED);
こうやった後、
ShellExecute(hWnd, NULL, "
http://www.yahoo.co.jp",
NULL, NULL, SW_SHOWNORMAL);
としてみたんですが、ShellExecute が ERROR_FILE_NOT_FOUND(2) を返してきまつ。
CoInitializeEx(...) -> CoInitialize(NULL) とするとブラウザ立ち上がるんですが・・・
マルチスレッド環境でADOを使いたいので CoInitializeEx を使わなきゃだと思うんですが
CoInitializeEx 使うと ShellExecute がマトモに動かず・・・
どなたかこのような経験ありませんか?長文スマソ
627
名前:
デフォルトの名無しさん
:03/09/10 01:15
スタート→シャットダウンや、
タスクマネージャでの強制終了な時に送られる
ウインドウメッセージって無いですか?
常駐ソフトを作っていて
ウインドウズ終了時に設定保存したいのですが
628
名前:
デフォルトの名無しさん
:03/09/10 01:35
CreateWindow()でWS_HSCROLL、WS_VSCROLLを使い、
fMaskで SIF_DISABLENOSCROLLを使用しないで
スクロールバーがウィンドウの大きさによって出たり消えたりさせたいのですが、
スクロールバーが表示されているときに
クライアントエリアの大きさ(スクロールバーが表示されている部分を除いた大きさ)
を得るにはどうしたらいいでしょうか?
私のプログラムではWM_SIZE:の時に得られるクライアントエリアの大きさが
nMaxとnPageの関係によって
スクロールバーが表示されている部分を除いた大きさと
スクロールバーが表示されている部分も含めた大きさ
のどちらか一方になってしまうようです。
これを片方にすることはできないのでしょうか?
普通はこのようなことはないのでしょうか?
629
名前:
デフォルトの名無しさん
:03/09/10 01:39
>>627
Windows終了時なら
WM_QUERYENDSESSION
WM_ENDSESSION
が送られてくるが。
630
名前:
名無し@沢村
:03/09/10 01:41
>>627
> スタート→シャットダウン
WM_QUERYENDSESSION
631
名前:
デフォルトの名無しさん
:03/09/10 01:46
>>627
常駐ソフトがサービスを指しているなら注意。
WM_ENDSESSION,WM_QUERYENDSESSIONはlogoffの時にも
送られてくる・・・
632
名前:
デフォルトの名無しさん
:03/09/10 10:27
OS(Win95,Win98,NT,2000,XP)を識別する方法を教えて下さい
633
名前:
●のテストカキコ中
:03/09/10 10:29
http://ula2ch.muvc.net/
(このカキコは削除しても良いです)
634
名前:
デフォルトの名無しさん
:03/09/10 11:47
>>632
GetVersionEx()
635
名前:
デフォルトの名無しさん
:03/09/10 11:53
>>634
Win95とWin98の区別は?
636
名前:
デフォルトの名無しさん
:03/09/10 11:59
あと、NTと2000とXPもね
637
名前:
デフォルトの名無しさん
:03/09/10 12:13
>>635
それくらいドキュメント嫁
638
名前:
デフォルトの名無しさん
:03/09/10 12:14
C:\>ver
639
名前:
634
:03/09/10 12:15
>>635
>>636
OSVERSIONINFOを嫁
640
名前:
634
:03/09/10 12:18
つか
>>635-636
みたいなのもHungryGhostって言うのかね
641
名前:
デフォルトの名無しさん
:03/09/10 12:43
いいから教えれよカス共が
642
名前:
デフォルトの名無しさん
:03/09/10 12:46
いいから調べろよ負け犬が
643
名前:
デフォルトの名無しさん
:03/09/10 14:34
マイコンピュータ右クリック→プロパティ→全般→システム
644
名前:
デフォルトの名無しさん
:03/09/10 14:53
>>642
いいから氏ねよ負け犬のうんこが
>>643
あり
645
名前:
デフォルトの名無しさん
:03/09/10 17:09
黙れよ負け犬のうんこの食物繊維
646
名前:
デフォルトの名無しさん
:03/09/10 18:24
ダイアログで閉じるボタンを押したら最小化してそのあとに閉じるには、
これでだめ?
case WM_CLOSE:
SendMessage(hDlg, WM_SYSCOMMAND, SC_MINIMIZE, 0);
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
なぜかタスクバーからすぐ消えてくれないんだけど…
647
名前:
デフォルトの名無しさん
:03/09/10 18:34
氏ねよ負け犬のうんこの食物繊維を食ううんこ蝿が
648
名前:
デフォルトの名無しさん
:03/09/10 18:40
メッセージ送信先と、case WM_CLOSE: を含むウィンドウプロシージャを持つものが同じ?
649
名前:
デフォルトの名無しさん
:03/09/10 18:57
相当【負け犬】という言葉に敏感とみた(w
負け犬負け犬負け犬負け犬負け犬
負け犬負け犬負け犬負け犬負け犬
ぶははははははははははははあああああああ あれ?(w
650
名前:
デフォルトの名無しさん
:03/09/10 19:00
ということにしたいようだな
651
名前:
デフォルトの名無しさん
:03/09/10 19:29
むしろ
>>649
がネタに釣られている
652
名前:
646
:03/09/10 19:37
>648
同じです。
653
名前:
デフォルトの名無しさん
:03/09/10 20:25
>646
WM_SYSCOMMANDが処理されていないのでは?
SendMessageでタイムアウトが返っているだけとか
654
名前:
646
:03/09/10 20:43
>653
最小化はするのでメッセージは処理されてるのかなぁ?
最小化したあとにタスクバーに3秒ぐらい残ってしまうんです。
タスクトレイにアイコンを出していて、そのアイコンが拾ったメッセージで処理する時はいいのですが、
とうのダイアログ自体を閉じるボタンで閉じた時に症状が出ます。
ちなみにSendMessageの戻り値は0でした。
655
名前:
646
:03/09/10 20:49
すみません。原因のようなものがわかりました。
タスクバーに入れていたMS-IMEの影響だったようです。
でも、ちゃんと動いてるソフトもあるのに何でだろう…
656
名前:
デフォルトの名無しさん
:03/09/10 20:53
タスクバーに暫く残ったりするのを防ぐには一旦ShowWindow(hWnd, SW_HIDE);
しておけばいいんじゃなかったか。
657
名前:
デフォルトの名無しさん
:03/09/10 20:54
EndDialogってWM_CLOSE出すんじゃ?
658
名前:
デフォルトの名無しさん
:03/09/10 23:23
WinXPのPPPoEにファイアーウォールを設定するAPIを教えてくれ。
PBKファイルにもレジストリにも見当たらない・・・。
659
名前:
デフォルトの名無しさん
:03/09/11 02:14
>>658
http://msdn.microsoft.com/library/en-us/ics/ics/ics_and_icf_start_page.asp
660
名前:
デフォルトの名無しさん
:03/09/11 21:39
>>659
Thanks!!完璧!!!
661
名前:
デフォルトの名無しさん
:03/09/11 22:24
>>649
最近エヴァ板に出没する荒らし蚊と思いました
662
名前:
デフォルトの名無しさん
:03/09/11 22:30
あちこち探しても、Windows2000のAWEのAPIの使い方の
情報がありません。EMSのように使えるらしいのですが、
どのようにプログラムを作ったらよいのですか?
663
名前:
デフォルトの名無しさん
:03/09/12 09:03
WAVE再生のWaveOutOpenや、録音のWaveInOpenの
ボリュームを調整したいのですが、WAVE_MAPPERで
デバイスを指定している場合、使用しているデバイスの
LineIDやデバイスのIndexなんかは、ひっぱってこれる
のでしょうか・・・・
664
名前:
デフォルトの名無しさん
:03/09/12 21:29
.txtのファイルを読み込んで画面に表示するには
どんな関数使ったら良いのでしょうか?
665
名前:
デフォルトの名無しさん
:03/09/12 21:47
type
666
名前:
デフォルトの名無しさん
:03/09/12 22:29
LoadImageってJPEGやPNGも読み込めるの?
そうだったんならOleLoadPictureで作ったオレは激しく鬱だ・・・(´・ω・`)
667
名前:
デフォルトの名無しさん
:03/09/12 23:23
>>666
昔のWindowsにやさすぃne!!
668
名前:
デフォルトの名無しさん
:03/09/13 04:07
カスタムウィンドウクラスじゃないSTATICとかのウィンドウクラスで
背景色とかを変えるにはどうしたらいいですか?
669
名前:
デフォルトの名無しさん
:03/09/13 04:25
>>662
ほんとにあちこち探したのか?
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/physical_address_extension.asp?frame=true
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/awe_example.asp
670
名前:
デフォルトの名無しさん
:03/09/13 04:26
>>664
puts()
671
名前:
デフォルトの名無しさん
:03/09/13 04:27
>>668
WM_CTLCOLORSTATIC
672
名前:
デフォルトの名無しさん
:03/09/13 07:22
マウスカーソルがウィンドウ上にあるか、外にあるか知るにはどうしたらいいですか?
WM_MOUSEMOVEだとウィンドウ上を動くたびにすごく無駄なきがするので・・・
673
名前:
デフォルトの名無しさん
:03/09/13 07:33
>>663
使ったことが無いが、たぶんwaveOutSetVolume。
WAVEFORMATEX、WAVEHDR構造体には無い。
674
名前:
デフォルトの名無しさん
:03/09/13 09:19
>>672
GetWindowRectしてPtInRect
もしくはWindowFromPoint
675
名前:
デフォルトの名無しさん
:03/09/13 16:58
>>673
この人は、もうちょっと高度なオーディオミキサーの
制御がしたいようですが。
深く考えなければ音量調整はwaveOutSetVolumeで出来るけどね。
ただし、ドライバーの作りで少々挙動が変わる。
ミキサーのボリュームと連動している場合と、してない場合とか。
WAVE_MAPPER で「オープン」してるなら、オープンしているハンドルを使って、
mixerOpen API 呼べば開けるでしょ。
オープンして無くても一瞬開いてハンドル作ってミキサー
開いた後で閉じちゃえ。
676
名前:
デフォルトの名無しさん
:03/09/14 02:23
ボタンの名前を複数行表示するにはどうしたらいいですか?
677
名前:
デフォルトの名無しさん
:03/09/14 02:24
残念ながらそれはムリ。
678
名前:
デフォルトの名無しさん
:03/09/14 02:26
オーナードロー
679
名前:
デフォルトの名無しさん
:03/09/14 02:31
BS_MULTILINE
680
名前:
デフォルトの名無しさん
:03/09/14 07:12
>669
Thanks!!完璧!!!
681
名前:
デフォルトの名無しさん
:03/09/14 18:14
WIN32ってなんでつぁか?
682
名前:
デフォルトの名無しさん
:03/09/14 18:26
ダイアログにスライダーコントロールを貼り付けたのですが
背景を透明にしたくて困っています。
スタティックコントロールはSetBkMode(hDC, TRANSPARENT);
でできたのですが同様のことをするにはどのようにしたら
よいでしょうか?
683
名前:
デフォルトの名無しさん
:03/09/14 23:12
WIN32ってなんでつぁか?
684
名前:
デフォルトの名無しさん
:03/09/15 01:03
カメラの画像を表示するソフトを作ろうと思っているのですが、
GlobalAllocでバッファを取り、そこに、24ビットDIBを、0,5
秒間ごとに入れ替えています。これを、AVIとして表示、もしくは
保存したいのですが、なにか良いAPI関数はありますでしょうか?
685
名前:
デフォルトの名無しさん
:03/09/15 01:05
>>683
ええっと32ビットって感じかい?
ってのは嘘で、Win95以降をあらわすことが多いと思うで。
Win3.1はWin16。それ以降は大体Win32といってもよい。
そういえば、Win95以来GUIの大きな変化はないな。
XPもやっぱり変わっていない。右上の×とか_とか□とか。
686
名前:
デフォルトの名無しさん
:03/09/15 01:16
>>685
右上の凶な
687
名前:
デフォルトの名無しさん
:03/09/15 02:09
>>684
Video for Windowsでぐぐる
688
名前:
デフォルトの名無しさん
:03/09/15 05:22
DLLを指定して公開されたAPIの関数宣言一覧を取得するツールはないでしょうか?
具体的にはcabview.dll、zipfldr.dllのAPIを調べてみたいのです。
フリーのアーカイバは使いたくないので。
689
名前:
688
:03/09/15 05:36
tdump(Borland製), dumpbin(MS製)を使って一覧を取得できました。
ちなみにExportしている関数は両DLLともに
EXPORT ord:0002='DllCanUnloadNow'
EXPORT ord:0003='DllGetClassObject'
EXPORT ord:0004='DllRegisterServer'
EXPORT ord:0005='DllUnregisterServer'
EXPORT ord:0006='RegisterSendto'
EXPORT ord:0001='RouteTheCall'
でしたがいまいち使い方が分からないです。各APIをもうちょっと調べてみます。
690
名前:
デフォルトの名無しさん
:03/09/15 05:44
>>687
参考になるものが、ありました。
ありがとうございます。
691
名前:
デフォルトの名無しさん
:03/09/15 05:48
>>689
そいつらを調べても時間の無駄だと思うよ。
Shell Extensionだから。
692
名前:
デフォルトの名無しさん
:03/09/15 09:07
ThreadIDから情報取得する関数ってありますか?
693
名前:
デフォルトの名無しさん
:03/09/15 09:53
Platform SDKってどこに落ちてます?
694
名前:
デフォルトの名無しさん
:03/09/15 09:57
落ちちゃいない。
695
名前:
デフォルトの名無しさん
:03/09/15 10:05
>>693
ttp://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
696
名前:
デフォルトの名無しさん
:03/09/15 17:06
WIN32ってなんでつぁか?
697
名前:
デフォルトの名無しさん
:03/09/15 20:22
windows 32bitじゃないの?
698
名前:
デフォルトの名無しさん
:03/09/15 21:29
プログラム作るときに必要になるWin32ってなんでつか?
699
名前:
デフォルトの名無しさん
:03/09/15 22:08
QueueUserWorkItemってAPI使おうとしてるのですが
これもCreateThreadみたいにLPTHREAD_START_ROUTINE内でCライブラリ関数使っちゃだめなんですかね?
700
名前:
デフォルトの名無しさん
:03/09/16 01:57
C#のShowDialogのように、ウインドウが処理結果を返すまで、呼び出し側の次の行のコードが実行されないようにするにはEnableWindow(PARENT,FALSE)のあとにどうすればよいのでしょう。
701
名前:
デフォルトの名無しさん
:03/09/16 02:08
>>700
->
>>366
702
名前:
デフォルトの名無しさん
:03/09/16 02:30
ShowModalじゃあかんの?
703
名前:
デフォルトの名無しさん
:03/09/16 02:41
>>701
できました
ありがとう
704
名前:
デフォルトの名無しさん
:03/09/16 04:41
>>696
厨房君
次の夏休みまでさようなら
705
名前:
デフォルトの名無しさん
:03/09/16 17:19
ツリービューを作ろうとして下のコードを実行するとアプリケーションとOSが固まり、タスクマネージャも起動できなくなります。
ログオフを選んで強制終了させなければなりませんでした。
何故でしょう?
INITCOMMONCONTROLSEX ic;
ic.dwSize = sizeof(INITCOMMONCONTROLSEX);
ic.dwICC = ICC_TREEVIEW_CLASSES;
InitCommonControlsEx(&ic);
hwnd = CreateWindowEx(0, WC_TREEVIEW, "Tree View",
WS_CHILD | WS_BORDER | WS_VISIBLE | TVS_HASLINES |
TVS_HASBUTTONS | TVS_LINESATROOT | TVS_EDITLABELS,
0, 0, 100, 100,
Parent, (HMENU)IDC_MYAPP, hInstance, NULL);
706
名前:
705
:03/09/16 20:16
なんかネット上に落ちてるプログラムを実行してもフリーズするので僕のシステムのComCtl自体が変になっているのかもしれません。
自分で造ることにしたのでスレ汚しすみません
707
名前:
デフォルトの名無しさん
:03/09/17 00:13
ADO によるデータベース接続のサンプル
どこかにありませんか?
708
名前:
デフォルトの名無しさん
:03/09/17 01:24
>>707
ありますよ
709
名前:
デフォルトの名無しさん
:03/09/17 15:19
>>708
教えろや
710
名前:
デフォルトの名無しさん
:03/09/17 15:23
自分で探せよ。
711
名前:
デフォルトの名無しさん
:03/09/17 16:15
↑
ナイス(゚∀゚)コンビ!!
712
名前:
デフォルトの名無しさん
:03/09/18 11:20
質問です。
ボタンに画像を表示させるにはどうすればいいのですか。
713
名前:
デフォルトの名無しさん
:03/09/18 11:20
ダイアログのボタンです。↑
714
名前:
デフォルトの名無しさん
:03/09/18 11:21
一応、ageておくので答えてください。
715
名前:
デフォルトの名無しさん
:03/09/18 11:25
>>710
へ戻る
716
名前:
デフォルトの名無しさん
:03/09/18 12:41
>>712
WM_PAINT
717
名前:
デフォルトの名無しさん
:03/09/18 14:22
LPDWORD lpdword;
ReadFile(file,str,1,lpdword,NULL);
これでファイルリードしたらlpdwordがWrittenできないという
エラーがでました。
なんで、型がこんなにややこしいのでしょうか?
目的は、CStringにstrの内容を代入したいのですが
とにかくLPDWORDのヘルプがありませんでしたこの正体はなんでつか?
BOOL ReadFile(
HANDLE hFile,
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
LPOVERLAPPED lpOverlapped
);
718
名前:
デフォルトの名無しさん
:03/09/18 14:27
API以前の問題だなこりゃ
719
名前:
デフォルトの名無しさん
:03/09/18 14:27
全然ややこしくないので、ちゃんと勉強して理解するまでネットに繋がないでくだちい。
720
名前:
デフォルトの名無しさん
:03/09/18 15:26
717は、
DWORD *ptr; *ptr = SOME_VALUE;
とかやるタイプか。
721
名前:
デフォルトの名無しさん
:03/09/18 15:43
わかってしまえばなんてこたないが
型というかtypedefされたのは最初はややこしいかもしれない。
LPCTSTR
LPTSTR
LPCSTR
…
もう初めに見たときは何がなんだか
722
名前:
デフォルトの名無しさん
:03/09/18 15:54
Windows98,BCCですが、「開く」ダイアログが出てきません
最初の二行に
#define _WIN32_WINNT 0x400
#define WINVER 0x400
も入れています
どうすれば上手くいくのか教えて下さい
static HBITMAP hbmp;
とグローバルに定義しておいて、関数
void get_bmphandle(HWND hw)
によってhbmpを得て
void bit_paint(HWND hw)
で描画しようとしました
723
名前:
722
:03/09/18 15:55
void get_bmphandle(HWND hw){
char szFilter[]="ビットマップ(*.bmp)\0*.bmp\0すべて(*.*)\0*.*\0";
OPENFILENAME ofn;
char *szFileName;//ダイアログから受け取るファイルの名前
memset(&ofn,0,sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hw;
ofn.lpstrFilter = szFilter;
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFileName;
ofn.nMaxFile = FILENAMESIZE;
ofn.lpstrTitle = "ファイル名の取得";
ofn.lpstrDefExt = "sqf";
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ZeroMemory(szFileName,sizeof(szFileName));//szFileNameの初期化
if(GetOpenFileName(&ofn)){
hbmp=(HBITMAP)LoadImage((HINSTANCE)GetWindowLong(hw,GWL_HINSTANCE),//インスタンスハンドル
szFileName,//arb
IMAGE_BITMAP,
0,0,
LR_CREATEDIBSECTION | LR_LOADFROMFILE);
if(hbmp==NULL){MessageBox(hw,"ファイルオープンに失敗しました","msg",MB_OK);}
}
}
724
名前:
デフォルトの名無しさん
:03/09/18 16:02
>>722-723
>>718
725
名前:
722
:03/09/18 16:18
>724
あなたの仰る通りですね・・・
malloc入れたらダイアログ出てきました
726
名前:
デフォルトの名無しさん
:03/09/18 16:22
char szFileName[MAX_PATH]でいいじゃん。
727
名前:
722
:03/09/18 16:31
>726
有難うございます
その方が簡単みたいですね
728
名前:
デフォルトの名無しさん
:03/09/18 21:38
>>723
> char *szFileName;//ダイアログから受け取るファイルの名前
> ZeroMemory(szFileName,sizeof(szFileName));//szFileNameの初期化
っていうかダメだろ‥‥
729
名前:
デフォルトの名無しさん
:03/09/19 00:58
背景のCGにキャラの立ち絵を重ねるような処理ってどうすればできますか?
730
名前:
デフォルトの名無しさん
:03/09/19 01:04
>>729
まー方法はいろいろあるけど。
とりあえずTransparentBlt()が楽。
731
名前:
デフォルトの名無しさん
:03/09/19 01:22
ファイルをロードしたあとDIBでマスクを自動的に作れるクラスを作っておくともっと幸せになれる。
732
名前:
デフォルトの名無しさん
:03/09/19 03:22
リージョンつくってDCに選択っててもあらぁな。
733
名前:
717
:03/09/19 10:36
>>718-721
もうね、全部ね、char* intで統一汁とvoid*ややこしいし
なんでパラメタごとに元の肩を見に行くのかと、
>DWORD *ptr; *ptr = SOME_VALUE;
?初期値の場合はポインタとらない主義?という回答でいいでつか?
734
名前:
デフォルトの名無しさん
:03/09/19 10:51
>>733
(;´Д`)
735
名前:
デフォルトの名無しさん
:03/09/19 10:51
>>733
>>718
736
名前:
717
:03/09/19 11:14
>>734-735
( ´_ゝ`)ついでに教えてくれ
前の続きになるが
FileRead()のパラメタで読み込み先のポインタLPWORDがあるんだが
それの対応をEditBoxの内容にしたいわけよ、つまり表示させていわけ
だが、EditBoxがCString型なためどうやってLPDWORDを関連させて
CStringに代入しようか考えてるんだが、char[]で経由したほうがいいでつか?
737
名前:
デフォルトの名無しさん
:03/09/19 11:18
正直このままC++をやり続けるのはどうかと思う。
Cを勉強して出直すか、C#へ行って楽になってしまうか、どちらかをお勧めする。
(C#へ行くにしてもCの知識があるとないとでは大違いだが)
738
名前:
デフォルトの名無しさん
:03/09/19 11:26
>>736
>>718
739
名前:
デフォルトの名無しさん
:03/09/19 11:27
つーか、CStringとか言ってるならみんなMFCでやりゃいいじゃねえか。
なんでFileReadなんてraw apiを使うのかワカラン。
740
名前:
717
:03/09/19 11:29
>Cを勉強して出直すか、C#へ行って楽になってしまうか、どちらかをお勧めする。
Cは今復習してるぽ、C++チョットオブジェクト嗜好なだけ、C#♪
俺が足りないのはセンスだけだと思うんだが
それとLPDWORDはvoid*だからやっぱり
char a[];
ReadFile(,,a,,);
CString b = a;
これはまずいのか?
741
名前:
デフォルトの名無しさん
:03/09/19 11:37
>>740
藻前に足りないのはセンスだけじゃないのは確実だ
LPDWORDがvoid*なんて言ってる時点で終わってる
742
名前:
717
:03/09/19 11:41
>>739
>CStringとか言ってるならみんなMFCでやりゃいいじゃねえか。
ごもっとだ、もっとも最初はメッセージ制御からネイティブでやってた
だが表示が面倒なんで、表示だけクラスつかってる
MFC限定かC言語限定かどのスレがいいかわからんし、、、
743
名前:
デフォルトの名無しさん
:03/09/19 11:46
>>742
MFCとかAPI以前の問題だなこりゃ。
744
名前:
717
:03/09/19 11:48
>>741
( ´_ゝ`)あぁ定義みたら間違ってたYO
typedef unsigned long DWORD;
typedef DWORD far *LPDWORD;
ころでfarって32ビットって意味?
2つ目の*LPDWORDがわからん
745
名前:
デフォルトの名無しさん
:03/09/19 11:48
ポインタは何を指しているの?ってことじゃないの?
746
名前:
デフォルトの名無しさん
:03/09/19 11:55
>>744
16ビット時代の名残
http://www.microsoft.com/japan/msdn/library/ja/vccore/html/_core_Removing_Near_and_Far_Type_Declarations.asp
747
名前:
737
:03/09/19 11:55
>>740
キミに足りないのは「きちんと理解しようとする心構え」だと思う。
センスが問われるのは、ずーっとずーっと先のレベルだよ。
テキトーに雰囲気でつかもうとせず、根気よくヘルプをしっかり読もう。
748
名前:
デフォルトの名無しさん
:03/09/19 11:59
DWORD lpdword;
ReadFile(file,str,1,&lpdword,NULL);
749
名前:
デフォルトの名無しさん
:03/09/19 12:12
>>748
まぎらわしいをまぎわらしいと書く人って結構居るんだな
750
名前:
デフォルトの名無しさん
:03/09/19 12:21
>>749
誤爆か?
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.