■過去ログ置き場に戻る■ 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.