■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API 質問箱 Build12
501 名前:デフォルトの名無しさん :03/07/13 18:36
このスレって使えないですよね。

502 名前:デフォルトの名無しさん :03/07/13 18:40
使えない

503 名前:デフォルトの名無しさん :03/07/13 19:44
>>496
いいえ、一応C言語でのWin32APIプログラミングは心得ているつもりです。
(プログラミングWindows第5版上巻の内容はすべて理解しています)
それでも無理なのでしょうか(汗)

504 名前:デフォルトの名無しさん :03/07/13 19:46
>>503
>>491で分からないならまず無理。あきらめろ。

505 名前:デフォルトの名無しさん :03/07/13 19:51
>>504
実行中のプログラムについて知りたいので、>>491ではだめなのです。

506 名前:デフォルトの名無しさん :03/07/13 19:54
Aは実行中でもBが実行される前なら問題ないだろう

507 名前:デフォルトの名無しさん :03/07/13 19:59
このスレって使えないですよね。

508 名前:デフォルトの名無しさん :03/07/13 20:24
そりゃPlatform SDK Documentation見ればほとんど解決するからね

509 名前:デフォルトの名無しさん :03/07/13 21:04
いやいや喪前には負けますよハゲ

510 名前:デフォルトの名無しさん :03/07/13 22:49
>>503 <<465

511 名前:デフォルトの名無しさん :03/07/13 23:09
> (プログラミングWindows第5版上巻の内容はすべて理解しています)

「すべて」「理解」してるなんてスゲー!

512 名前:デフォルトの名無しさん :03/07/13 23:23
結局このスレには489の質問に答えられる香具師はいないってことだな。
もちろん漏れもだが。

513 名前:デフォルトの名無しさん :03/07/13 23:31
492の「潜り込む」というのは、システムフック(グローバルフック)のことかと。
とりあえずDLLと共有メモリの作り方を知らないとできない。


514 名前:489です :03/07/13 23:34
>>513
ありがとうございます。勉強してみます。

515 名前:デフォルトの名無しさん :03/07/13 23:37
>>489
Win32API 質問箱 Build6
http://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
の740からの書き込みがまぁまぁ参考になるかと。
ほぼそのまんまみたいだし。でもVBだときつそうだな。

516 名前:デフォルトの名無しさん :03/07/13 23:44
↑741からの書き込みだった。。。

517 名前:デフォルトの名無しさん :03/07/13 23:45
つか、素直にAdvanced Windowsでも読んだほうが早いと思うが。

518 名前:デフォルトの名無しさん :03/07/13 23:47
あるサンプルソースでCreateThread関数で、

int d;

hThread1=CreateThread(NULL,0,fnThread1,0,0,&d);
hThread2=CreateThread(NULL,0,fnThread2,0,0,&d);

とあったのですが、
最後の引数は、

lpThreadId
1 個の変数へのポインタを指定します。関数から制御が返ると、この変数に、スレッド識別子が格納されます。

とあるんですが、スレッド識別子が格納されるというっことは、別々の変数を関数側に渡したほうが良いん&ですよね?
&d1,&d2のように。

519 名前:デフォルトの名無しさん :03/07/13 23:56
>>518
スレッドハンドルだけ使って、スレッドIDは使わないなら、
518のような書き方も構わない。
dは便宜上セットしているというだけ。


520 名前:デフォルトの名無しさん :03/07/13 23:56
スレッド識別子を使わないなら、特に別々にする必要は無いかと。
ちなみに、Cランタイムな関数使うときは_beginthreadが推奨だけど、
その辺はOK?

521 名前:デフォルトの名無しさん :03/07/13 23:58
_beginthread/_beginthreadexはAPIじゃないけどな。
まぁ、普通はこっち使うけど。

522 名前:デフォルトの名無しさん :03/07/14 00:10
LPDWORDって、unsigned long*
だったんですか?
int型のポインタ渡そうとしたら起こられましたけど

523 名前:デフォルトの名無しさん :03/07/14 00:11
>>518
戻ってきた値をなにかに使うんじゃなければ、単に空の箱だけ用意し
とけばいいじゃない。

524 名前:518 :03/07/14 00:20
>>519
>>520
>>521
>>523
情報ありがとうございました。
難関に思えたスレッドというものがこんなに簡単に実現できるとは・・・。
注意点とかありますか?
スレッドあんまり作成しないほうが良いみたいですが

525 名前:デフォルトの名無しさん :03/07/14 00:24
>>522
typedef unsigned long DWORD;
typedef DWORD *LPDWORD;
だな。WTypes.h を参照

526 名前:デフォルトの名無しさん :03/07/14 00:30
>>524
作るのは簡単。
しかし、使いこなして問題が起こらないように維持するのは、
規模が少し大きくなるだけで、絶望的に難しくなる。

527 名前:522 :03/07/14 01:02
>>525
おお、そうですか
そういうのって、コンパイラのある場所(puroguramフォルダ)にあるんですかね?

528 名前:デフォルトの名無しさん :03/07/14 01:10
>>518
ちなみに、最後の引数、NT系はNULLでも動いちゃう。
それで安心してたら、95系でコケてNULLは使えないと気づく・・・

529 名前:デフォルトの名無しさん :03/07/14 01:31
>>527
WTypes.h より windif.h の方が一般的かもしれない。
場所は開発環境、Win32SDKなんかをインストールした場所によって異なる。
検索しろ。

530 名前:デフォルトの名無しさん :03/07/14 01:34
>>529
windef.hじゃなくて?

531 名前:デフォルトの名無しさん :03/07/14 01:42
>>530
windef.hでした。非常に恥ズイ…
指摘感謝。

532 名前:デフォルトの名無しさん :03/07/14 07:00
http://www.sm.rim.or.jp/~shishido/wavbuf.html
ここでビープウェブをドレミファソラシドと鳴らすプログラムがあるのですが、
ぷつぷつと途切れないようにするには、どうすればよいのですか?

533 名前:デフォルトの名無しさん :03/07/14 15:55
リソースでつまずいた・・・

534 名前:デフォルトの名無しさん :03/07/14 23:42
LoadImage関数って、NTでは使えないみたいだね
でもXPでは使えるみたいだね

535 名前:デフォルトの名無しさん :03/07/15 09:08
>>534
そうなの?
NTの環境ないから試せないけど、
MSDN読む限りでは、使えそうだけどな・・・

536 名前:デフォルトの名無しさん :03/07/15 09:18
APIの関数の使い方みたいなの乗ってるサイトで便利なとこありますか?
お薦め教えてください。

537 名前:デフォルトの名無しさん :03/07/15 09:24
>>536
>>2よめ

538 名前:山崎 渉 :03/07/15 09:39

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

539 名前:デフォルトの名無しさん :03/07/15 10:23
NT系のマルチモニタ(デュアルディスプレイ)の制御をする
APIを知りませんか?
手がかりもないのでMSDNライブラリの検索にも全然
引っかからなくて。

お願いします。

540 名前:デフォルトの名無しさん :03/07/15 11:11
ホイ
ttp://sysneitf.hp.infoseek.co.jp/monitors.html

541 名前:デフォルトの名無しさん :03/07/15 11:38
>>534
4.0以降と書いてあるが。

もしかしてLR_LOADFROMFILEのこと?
日本語版の古いMSDNだとNTではサポートされないようなこと書いてあるけど、
英語版や最新の日本語版ではそんなことどこにも書いてない。

>>539
この辺の階層かな。
ttp://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_EnumDisplayMonitors.asp

542 名前:デフォルトの名無しさん :03/07/15 11:40
>>540
ありがd!!
こいつを手がかりにまた捜してみます。

543 名前:山崎 渉 :03/07/15 14:02

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

544 名前:ケン :03/07/15 14:12
VBAのユーザーフォームのイメージコントロールに貼り付けた画像の、
例えば、上から10ポイント左から20ポイントのドットの色の情報を
取得する方法があれば、教えてほしいのですが・・・
API関数のなかにありますか?


545 名前:デフォルトの名無しさん :03/07/15 14:16
>>544
GetPixel?

546 名前:デフォルトの名無しさん :03/07/15 19:37
http://jbbs.shitaraba.com/computer/7345/

547 名前:デフォルトの名無しさん :03/07/15 19:44
>>534
日本語版MSDNヘルプが古いだけ(NT 3.5では使えなかったという意味)
NT4以降なら使える
がいしゅつにもほどがある

548 名前:デフォルトの名無しさん :03/07/15 21:48
>>547
だが、4.0以降と書いてあるにも関わらず、サポートしてねぇよ、とも書いてあるので
3.5では使えないけど4.0以降なら使える、という情報は読み取れない。

まぁ、日本語版は信用するなってこった。

549 名前:デフォルトの名無しさん :03/07/16 07:11
英語版見ればNT4以降で使えるのは明らかだがな
もっとも最近英語版の記述も怪しい

550 名前:デフォルトの名無しさん :03/07/16 08:25
Cのisspaceに代わるAPIってありますか?

551 名前:デフォルトの名無しさん :03/07/16 12:29
そのフォルダが存在していなくても、フォルダパスであれば真になるようなAPIはあるでしょうか。
PathIsDirectoryはフォルダが存在していないと偽を返してしまいます。

552 名前:デフォルトの名無しさん :03/07/16 12:32
>>551
拡張子のないファイルとフォルダが
両方とも存在しないとして、それをどうやって区別するの?

553 名前:デフォルトの名無しさん :03/07/16 12:53
>>552
その場合はファイルとして判定してくれればいいです。
単純に言うとパスの最後に\があるか否かを判定するAPIがあればいいんですが・・・
やはりパスの先頭からIsDBCSLeadByteを使って走査していき、
最後が\か否かを判定する関数を自作するしかないんでしょうか。


554 名前:デフォルトの名無しさん :03/07/16 13:01
>>553
そんな君専用のようなAPIが存在するわけが無いだろう
Windowsではドライブ以外はフォルダの最後に\はつかないのが普通

555 名前:デフォルトの名無しさん :03/07/16 13:19
>最後が\か否かを判定する関数を自作するしかないんでしょうか。
その部分だけなら作るのに30秒かからないが・・・

556 名前:デフォルトの名無しさん :03/07/16 13:26
というかそんなチェックが本当に必要なのか?
APIに丸投げしてエラーをチェックした方がよっぽどまし。ということもありえるぞ。

557 名前:553 :03/07/16 13:44
リストビューにファイルパス(フォルダパスではない)を一覧していまして、
 1. リストにファイルパスを与えた場合はそのままファイルパスをリストに追加
 2.リストにフォルダパスを与えた場合はフォルダ内のファイルパスをリストに追加
とし、
 3.ファイルが存在する場合はそのまま表示
 4.ファイルが存在しない場合は追加したファイルパスを赤く表示
としたいのです。
このとき存在しないフォルダパスを与えてしまうと、4.の処理のために
この存在しないフォルダパスがリストに追加されてしまいます。
自分でやるしかないみたいですね・・

558 名前:デフォルトの名無しさん :03/07/16 13:56
CRT使ってよくて MBCSなら、ch='\\'として

BOOL IsLastChar(LPCTSTR str, UINT ch)
{
 BYTE* pLast = _mbsrchr((const BYTE *)str, ch);
 return (pLast && (*_mbsinc(pLast) == '\0'));
}


559 名前:デフォルトの名無しさん :03/07/16 14:11
こういうパターンは想定しないの?
c:\
\\servername\

560 名前:デフォルトの名無しさん :03/07/16 15:24
>>557
>この存在しないフォルダパスがリストに追加されてしまいます。

↓この定義からすると何ら問題ない動作のような気がするんだが。
>>553>その場合はファイルとして判定してくれればいいです。


561 名前:デフォルトの名無しさん :03/07/16 16:12
>>560
ファイルパスなのかフォルダパスなのか区別のしようが無い場合は
ファイルパスとして判定してくれれば良いということです。

(パス末尾に\をつけて)フォルダパスとして与えたつもりなのに
ファイルパスとして判定されるから困るのです。


562 名前:デフォルトの名無しさん :03/07/16 16:22
HDDスリープさせたいんだけど、
Linuxの「hdparm -Y」と同じ働きをする関数ある?


563 名前:デフォルトの名無しさん :03/07/16 16:24
>>561
>(パス末尾に\をつけて)フォルダパスとして与えたつもりなのに

フォルダパスであることがわかってるならわざわざ判定させる必要ないじゃん。

564 名前:デフォルトの名無しさん :03/07/16 16:30
>>563
それをパスだけで判定できないかという話です。

565 名前:デフォルトの名無しさん :03/07/16 16:37
>>563
そんなこと言ってたらPathIsRootやPathIsFileSpecやPathIsDirectoryがいらないなw

566 名前:デフォルトの名無しさん :03/07/16 16:43
>>565
それは「実在するかどうか」という判断をするための物だろ。
「実在しないがフォルダパスである」とわかっているものの何を判定しろというのか。

567 名前:デフォルトの名無しさん :03/07/16 16:49
>>566
C:\hoge\
↑これはフォルダパス?

568 名前:デフォルトの名無しさん :03/07/16 17:05
>>567
C:\hogeというフォルダが実在すればフォルダパス。
C:\hogeというファイルが実在すればファイルパス。
ファイルもフォルダもなかったら自分で決める。

569 名前:デフォルトの名無しさん :03/07/16 17:24
>>568
ではC:\にhogeというファイルを作ってPathFileExists(_T("C:\\hoge\\"))を実行するとTRUEが返ってくるはずだな

570 名前:デフォルトの名無しさん :03/07/16 17:29
やってみりゃイインジャネーノ

571 名前:デフォルトの名無しさん :03/07/16 17:30
漏れのパソコンではFALSEが返ってきますたがバグですか?

572 名前:デフォルトの名無しさん :03/07/16 17:32
569が何を言いたいのかサッパリわからない。

573 名前:デフォルトの名無しさん :03/07/16 17:35
>>568がこっそり最後の\を省いてる罠

574 名前:デフォルトの名無しさん :03/07/16 17:39
>>568
C:\hogeというファイルが実在しててもファイルパスじゃねーじゃん。

575 名前:デフォルトの名無しさん :03/07/16 17:47
>>574
だからどうしたとしか言いようがない。
自分でわかっている(末尾に\を付与する)なら判定させる必要ないじゃん。

576 名前:デフォルトの名無しさん :03/07/16 17:53
>>575
おい、知ったか。嘘を言っておいてそれか。

577 名前:デフォルトの名無しさん :03/07/16 18:03
>>576
何ですかこの粘着は。568は別にPathFileExistsの挙動について述べたわけじゃねえだろ。

578 名前:デフォルトの名無しさん :03/07/16 18:08
>>575
自分では判っているから末尾に\をつけるの!

579 名前:553 :03/07/16 18:10
あのですね、
void run(char* path)
{
  if(isdir(path))

}

580 名前:553 :03/07/16 18:14
途中で投稿してしまった・・・
void run(char* path)
{
  if(isdir(path))
    >>557の2の処理 ;
  else
    >>557の1の処理 ;
}
簡単に言うとこんなことをしたくて、isdirに該当するAPIはあるかという質問なんですよ。
んで無いみたいなので自作するしかななという結論にとっくに至りました。

>>575
あなたもういいです。

581 名前:デフォルトの名無しさん :03/07/16 18:17
>>580
GetFileAttribute?

582 名前:デフォルトの名無しさん :03/07/16 18:19
...butes

583 名前:デフォルトの名無しさん :03/07/16 18:25
APIじゃ無いけど、_splitpath でいいんじゃねーかと

584 名前:デフォルトの名無しさん :03/07/16 18:26
>>580
>>557の仕様を実現するのにそういう機能のAPIを要求するお前のセンスに問題がある
ような気がするよ。

585 名前:デフォルトの名無しさん :03/07/16 18:28
そうかなぁ。MakeSureDirectoryPathExistsは\がパスの最後にあればディレクトリだとみなすのでそんなAPIがあってもいいと思ったんだけど

586 名前:デフォルトの名無しさん :03/07/16 18:30
>>581をためせよ

587 名前:デフォルトの名無しさん :03/07/16 18:31
>>584
splitpathがあるんだからWin32APIに求めてもそれほど変でもあるまい。

588 名前:デフォルトの名無しさん :03/07/16 18:32
>>585
MakeSureDirectoryPathExistsは「末尾に\を付与することを要求」しているだけで
「\がパスの最後にあればディレクトリだとみなす」わけじゃないだろ。
\が付いてなければ「不正な引数」と判断してるだけだ。

589 名前:デフォルトの名無しさん :03/07/16 18:34
>>588
違うだろ。
末尾が\じゃ無い場合は、その前の\までのディレクトリしか作らない。

590 名前:デフォルトの名無しさん :03/07/16 18:34
>>586
ログちゃんと読めよ

591 名前:デフォルトの名無しさん :03/07/16 18:36
>>588
MSDN読めよ

592 名前:デフォルトの名無しさん :03/07/16 18:37
頼む。今後のためにも知ったか厨は消えてくれ。

593 名前:デフォルトの名無しさん :03/07/16 18:37
>>590
ほぼisdirそのものだけど

594 名前:デフォルトの名無しさん :03/07/16 18:38
if (!pathというファイルが実在する) {
    if (pathというディレクトリが実在する)
        >>557の2の処理;
    else
        >>557の4の処理;
else
    >>557の1の処理;


595 名前:デフォルトの名無しさん :03/07/16 18:39
>>593
今話してるのは「存在しないフォルダパス」の話だ。

596 名前:デフォルトの名無しさん :03/07/16 18:42
>>595
C:\dir D
C:\dir\ D
C:\file F
C:\file\ -1
C:\notexist -1
C:\notexist\ -1


597 名前:デフォルトの名無しさん :03/07/16 18:42
>>587
いや、>>557にある3つの動作(条件)を実現するのに、最初に「ディレクトリかどうか」を
判断しようとするセンスに問題があるって事だろ。

598 名前:デフォルトの名無しさん :03/07/16 18:43
>>594
それだと4の処理で存在しないフォルダパスが追加されてしまう。
追加するのは「ファイルパス」。

599 名前:デフォルトの名無しさん :03/07/16 18:44
>>596
存在しなくてもDになるようなAPIの話だ、ってログ読めよ!

600 名前:594 :03/07/16 18:47
>>598
>>553より、4の処理で必ずファイルパスとして追加するようにすればよい。

601 名前:デフォルトの名無しさん :03/07/16 18:49
>>600
渡されるパスに末尾\がついてて「これはフォルダパスだ」と主張してる場合でもか

602 名前:デフォルトの名無しさん :03/07/16 18:49
すでにAPIに無いのはわかっているんだから、藻前らみんなスレ違いですよ。

603 名前:594 :03/07/16 18:55
>>601
「実在しないフォルダパス」をどうするか仕様として与えられておりませんので(w

604 名前:デフォルトの名無しさん :03/07/16 18:57
>>599
すみませんでした

605 名前:デフォルトの名無しさん :03/07/16 18:59
>>603
リストにはファイルパスを表示する仕様なのでフォルダパスは表示しない。
たとえ存在しないフォルダパスだとしても。

606 名前:デフォルトの名無しさん :03/07/16 19:02
実在しないパス文字列をどうやって生成するのか知らんが、「フォルダパスの末尾には必ず\が
ある」ってのがわかってるなら、フォルダかファイルかの判定は済んでいるも同然だよな?

なら
末尾に\がある→実在すれば557の2、しなければ何もしない
末尾に\がない→実在すれば557の1、しなければ557の4

でいいんじゃねえの?
なんでひとつのAPIで済ませようとするのか不思議だ。

607 名前:デフォルトの名無しさん :03/07/16 19:06
>>606
>>553でマンドクセっていったけど仕方ないので自分でもう作ったといっている

608 名前:元質問者 :03/07/16 19:06
>>606
そういうAPIがあるなら使いたいというだけで無いなら自作するとかなり前に結論が出てます。

609 名前:デフォルトの名無しさん :03/07/16 19:09
>>608
それにしても
>先頭からIsDBCSLeadByteを使って走査
ってのはやっぱりセンスねえんだなぁ・・・

610 名前:デフォルトの名無しさん :03/07/16 19:11
>>609
CRT無しでもっと良い方法がありますか?

611 名前:デフォルトの名無しさん :03/07/16 19:19
>>610
(末尾のバイト=='\' && !IsDBCSLeadByte(末尾の1個前))
ならフォルダパス。
なお、文字列の長さが不明の時はlstrlen APIで調べる。

612 名前:デフォルトの名無しさん :03/07/16 19:19
おれに言わせりゃノーセンス

613 名前:デフォルトの名無しさん :03/07/16 19:22
>>611
文字列の途中でIsDBCSLeadByteを使っちゃいかんよ

614 名前:デフォルトの名無しさん :03/07/16 19:22
そもそも>557なアプリの仕様に問題があるのだ。
論点がずれてるぞ。

615 名前:デフォルトの名無しさん :03/07/16 19:24
>>611
SJISの場合二バイト目でもIsDBCSLeadByteに引っかかる場合があるぞ。
"C:\最後がそういう文字な名前\" の場合誤診する。
後ろから行きたければIsDBCSLeadByteがFALSEを返すとこまで戻って
戻った字数が偶数か奇数かで判定

616 名前:デフォルトの名無しさん :03/07/16 19:29
今日は知ったかぶりが多いよねえ

617 名前:デフォルトの名無しさん :03/07/16 19:29
>>615
WTLの_IsDBCSTrailByteがまさにそんなコードだったと思う。

618 名前:デフォルトの名無しさん :03/07/16 19:29
MultiByteToWideCharでUnicodeに変換してから末尾の文字を拾えばいいじゃん。

619 名前:デフォルトの名無しさん :03/07/16 19:30
>>609=>>611

620 名前:デフォルトの名無しさん :03/07/16 19:31
>>618
本末転倒な気が・・・

621 名前:デフォルトの名無しさん :03/07/16 19:44
>>620
そかな。頭から走査するよりはマンドクサクは無いような…
int mbcslen = lstrlen(path);
int widelen = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, path, mbcslen, NULL, 0);
LPWSTR widepath = new WCHAR[widelen];
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, path, mbcslen, widepath, widelen);
if (widepath[widelen-1] == L'\\') { // pathはフォルダパスである





622 名前:デフォルトの名無しさん :03/07/16 20:11
bool IsLastBackslash(LPCTSTR lpszPath)
{
 bool bTail = false;

#ifndef _UNICODE
 int nChar = lstrlen(lpszPath);
 for(int i=nChar; i>0; i--){
  if(!::IsDBCSLeadByte(lpszPath[i - 1]))
   break;
 }
 bTail = ((nChar > 0) && (((nChar - i) & 1) != 0));
#endif //_UNICODE

 if(bTail)
  return false;
 else
  return (lpszPath[lstrlen(lpszPath) - 1] == _T('\\'));
}


623 名前:デフォルトの名無しさん :03/07/16 20:46
質問する場所ここであってるかどうか分かりませんが。。。

コンパイルの仕方が分かんないです
OSウインドウズXP使ってるんですが
とりあえずBorland C++ Compiler 5.5落としてきて
#include <stdio.h>

maim()
{
printf("TEST");
}
てファイルをメモ帳で書いてtest.cって名前で保存してみたら
一応test Cファイルって出来ました。

コマンドプロンプト
C:\Document ***>bcc32 text.c
て入力してみたんですが
'bcc32' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
とかでます。


624 名前:デフォルトの名無しさん :03/07/16 20:59
あまりにすれ違いだからみんな固まってるよ。
Cスレでちょっと前に同じ話題が出てたから、そっちを見てきなさい

625 名前:デフォルトの名無しさん :03/07/16 20:59
>>623
質問する場所が間違っている。
そのエラーに関する情報はWindows一般の使用法に関するものだ。

626 名前:デフォルトの名無しさん :03/07/16 21:03
スマソ逝ってきます

627 名前:デフォルトの名無しさん :03/07/16 21:23
>>566
PathIsFileSpecは「実在するかどうか」は関係ないわけだが

628 名前:デフォルトの名無しさん :03/07/17 00:01
はー、ファイルパスとかフォルダパスとか…。
そんな単純な要求で、こんなに会議になるとは…。
ここの人達のPG能力がわかるレスだね。(;´Д`)

まさか、それで趣味じゃなくて仕事にしてるの??<PG
…まさかね。( ´∀`)アハハ


629 名前:デフォルトの名無しさん :03/07/17 00:23
とりあえず質問する前にMSDNを見るのは当然のことながら回答する方もMSDNを見るべきだ。

630 名前:デフォルトの名無しさん :03/07/17 00:39
このスレが物凄く情けなく見えた瞬間に立ち会えた

631 名前:デフォルトの名無しさん :03/07/17 01:07
>>580
CreateFile()があるだろう

632 名前:デフォルトの名無しさん :03/07/17 01:15
またログを読まない奴が一人来たか

633 名前:631 :03/07/17 01:18
_| ̄|○ ログ読んどけばよかった・・・・・つか違う

634 名前:デフォルトの名無しさん :03/07/17 01:24
デスクトップのアイコンを詳細表示にしたいんだけど
どうしてもできません。
ListView_InsertColumnがうまくいかない・・・
誰かヒント教えれ〜 (T T

635 名前:デフォルトの名無しさん :03/07/17 02:02
SubItemはどうしてるんだ?
自分で入れてるのか、それともデスクトプーが勝手に入れてくれるのか

636 名前:デフォルトの名無しさん :03/07/17 11:56
末尾"\"判定のもっともAPIスレらしい答えは
CharPrev(path, path + lstrlen(path))
じゃないの

637 名前:デフォルトの名無しさん :03/07/17 16:02
CreateProcess()でアプリを起動し、WaitForSingleObject() で終了待ちしてる
んですが、その起動したアプリで

int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int nCmdShow )
{
 HWND hFgWnd = ::GetForegroundWindow();
 ::MessageBox( hFgWnd, "キタ━━━(゚∀゚)━━━ !!", NULL, MB_OK);

ってやると、双方が固まってデッドロック状態(?)になります。
MessageBox( NULL, ...) とすると問題なく hFgWnd を調べると CreateProcess
をした側のメインウィンドウ(WaitForSingleObject()で待機中)なんですが、
これってまずいのでしょーか?

638 名前:デフォルトの名無しさん :03/07/17 16:34
まずいね

639 名前:デフォルトの名無しさん :03/07/17 16:41
>>637
つーかそういう場合、待機関数を別スレッドにせずに使うか?

ウィンドウハンドルを指定するとそのウィンドウを保持するプロセスに何らかのアクセスを
するとかじゃないのかな?

なんにしろ、ウィンドウを構築しているスレッドでプロセス終了を待つと
起動中はそのウィンドウが反応しなくなるんだから、別スレッドで待つべきだと思う。


640 名前:デフォルトの名無しさん :03/07/17 16:44
そもそも他プロセスのハンドルをMessageBoxとかに渡していいものなの?

641 名前:デフォルトの名無しさん :03/07/17 18:45
パスがディレクトリかどうか判定

・PathRemoveFileSpec にパスを食わせて、その戻り値をしらべる。

ではダメなのか?



642 名前:デフォルトの名無しさん :03/07/17 18:48
「いまさら何を言っているのかね、君は。」

643 名前:デフォルトの名無しさん :03/07/17 18:58
>>641
戻り値がどうなったらファイルでどうなったらフォルダなのか問い詰めたい。

644 名前:デフォルトの名無しさん :03/07/17 20:02
機器でSRAMカード(ATAじゃなくて、ただのSRAMカード)をメモリとして使ってます。
WindowsでSRAMカードの内容を読みたいのですが、どうすれば良いのでしょうか?

お願いします。

645 名前:デフォルトの名無しさん :03/07/17 20:07
>>644
何で読もうとしてるんだよ。

646 名前:ところでSRAMカードってなんだ? :03/07/17 21:19
>>645
愚問だな。
そこにSRAMカードがあるからに決まってる。

647 名前:デフォルトの名無しさん :03/07/17 22:03
>>644
リニアなメモリカードなんか普通は使わんから
ツールがその辺に転がってるわけない罠。
ADTECのCardUTとか専用のツール買え。

648 名前:634 :03/07/17 23:01
>>635
亀レスすまそ。
そもそもLVCOLUMN構造体の中身をどうして良いのか
わからんです。
SubItemやTextは、windowsが決めてると思うんだけど
どうやってそれを反映させるのかがわからない・・・
自分で適当に列を追加してもうまくいかない〜 (T T

649 名前:デフォルトの名無しさん :03/07/17 23:11
>>648
デスクトップは普通詳細表示しないから
使いもしないSubItemはわざわざ追加してないと思うナリ
っつかまず普通のリストビューで実験してみれ

650 名前:デフォルトの名無しさん :03/07/18 02:59
Windows API 版 atexit() みたいなのってないですか?
プロセス終了時に呼ばれるコードをフックしておけるみたいなやつ。

651 名前:デフォルトの名無しさん :03/07/18 04:31
>>640
USERオブジェクトはウィンドウステーションとデスクトップが
同じならプロセス間共有可能であることが保証されてるから問題ない。
それがShatter系のセキュリティホールの原因にもなってるわけだが

652 名前:644 :03/07/18 08:49
ツールでSRAMカードを読みたいんでなく、
アプリを作りたいんですが、こういう場合にどうしてます?

653 名前:デフォルトの名無しさん :03/07/18 09:01
DDKってダウソ出来ないんでしょうか?

VC++なら買ってますが。

654 名前:デフォルトの名無しさん :03/07/18 09:08
リッチエディットコントロールで、
右クリックするにはどうすればいいか、おしえてぽ。

655 名前:デフォルトの名無しさん :03/07/18 09:12
フェチのためのサイト
http://www.k-514.com/fe/ero.html

656 名前:644 :03/07/18 09:47
RAMDISK.SYSとかいうのがありますね。

でも、使い方が分からないんですが、何を調べれば分かりますか?

657 名前:デフォルトの名無しさん :03/07/18 09:59
>>654
リッチエディットコントロールからマウスカーソルが外れないように気を
つけながら、マウスの右ボタンを注意深く押す。

658 名前:デフォルトの名無しさん :03/07/18 10:01
RAMDISK.sysは、メインメモリからいくらか割り当てて、
それを仮想ディスクとするものですヨ

659 名前:デフォルトの名無しさん :03/07/18 10:03
http://win32lab.com/tips/tips6.html

↑のようなページを見つけたんだけど、掲載されてるソースでIsDBCSLeadByteのif文て必要?
'\\'、 '/'、':' は全部ASCIIとかぶってるからいらなくない?

660 名前:デフォルトの名無しさん :03/07/18 10:04
>659
Shift_JISの2Byte目の範囲を言ってみ。

661 名前:660 :03/07/18 10:06
ああそうか。CharNextがあるから、2byte目には当たらない、という話か。
たしかに、IsDBCSLeadByteのところは要らないネ

662 名前:デフォルトの名無しさん :03/07/18 10:07
>>660
それはCharNextでスキップできるじゃん

663 名前:662 :03/07/18 10:07
あ、かぶった

664 名前:デフォルトの名無しさん :03/07/18 10:10
>>659のページはWinamp日本語化キットの作者のページみたいなんだけど、
キット使ってる自分としてはなんか微妙な気持ちになった


665 名前:デフォルトの名無しさん :03/07/18 10:19
それからDBCSネタついでにもう一つ質問。
Str系API(StrStrとか)ってDBCSを考慮してるっぽいんだけど、それが明記されたドキュメントってどっかにある?

StrStr("も", "\\")の結果で考慮してるっぽいって思っただけなんだけど・・・

666 名前:デフォルトの名無しさん :03/07/18 10:34
いまさら感が拭えんけど。

>>643
MSDNより
> PathRemoveFileSpec
> Removes the trailing file name and backslash from a path, if it has them.
で、
> Returns nonzero if something was removed, or zero otherwise.
なので、パスと思われるものを与え、戻り値が FALSE ならば
削除すべきファイル名が入っていなかった。
つまりディレクトリパスとして妥当であるといえるのではないかね。

if( !PathIsFileSpec( path ){
 if( !PathRemoveFileSpec( path ) ){
  パスはディレクトリであるという処理
 }
}

うまくいくかは知らん!

667 名前:デフォルトの名無しさん :03/07/18 10:39
>>666
やってみりゃわかることだが、

   それ以上醜態を晒すのはやめとけ・・・・


668 名前:デフォルトの名無しさん :03/07/18 10:43
近頃、回答者のレベルが著しく下がった気がする

669 名前:デフォルトの名無しさん :03/07/18 11:09
>>652
何にも知らないならまずJEIDAのPCカード規格書でも買うべきだな。

ドライバが必要なので、DDKも必要だ。
またはドライバ/ライブラリだけ調達汁。
95系のWindows用ならフリーで見つけたが、NT系は見たことないな。


670 名前:デフォルトの名無しさん :03/07/18 11:09
>>668
おまえよりはマシだけどな。

671 名前:デフォルトの名無しさん :03/07/18 11:23
>>670
そういうこと書くからレベル低いって言われるんだよヽ(`Д´)ノ ウワァァァン!!!!

672 名前:デフォルトの名無しさん :03/07/18 12:00
DBCS系のAPIって、日本語Windowsでは動作するけれど、英語Windowsでは動作しませんね。
それで、ShiftJIS文字列を扱う時は、いまだに昔ながらのISKANJIを使ってたりします。
でも、もしかするとDBCS系のAPIで処理する文字コードを設定するAPIってあるのかな?


673 名前:デフォルトの名無しさん :03/07/18 12:06
久しぶりに香ばしくて(゚д゚) ウマーでした


674 名前:デフォルトの名無しさん :03/07/18 15:14
>>646
>>645の「何で」はwhyでは無く、「what do you use」だと思う所存。

675 名前:デフォルトの名無しさん :03/07/18 21:27
>>672
> DBCS系のAPIって、日本語Windowsでは動作するけれど、英語Windowsでは動作しませんね。
> それで、ShiftJIS文字列を扱う時は、いまだに昔ながらのISKANJIを使ってたりします。
そういうことをするとヨーロッパ人から余計なことをするなと言われたりする。
欧州に藻前さんのアプリを使う人は誰一人いないのかもしれんが

> でも、もしかするとDBCS系のAPIで処理する文字コードを設定するAPIってあるのかな?
たとえばIsDBCSLeadByteExやCharNextExAはコードページを指定できる。
つーかCharNextEx「A」ってどういうこっちゃ?
サロゲートの範囲はハードコードせいってこと?

676 名前:デフォルトの名無しさん :03/07/18 22:00
>>672
IsDBCSLeadByteは…引数の文字がASCII(&半角カナ)か、
ASCII(&半角カナ)以外かを判断しているだけで、
APIに無ければ、自分で関数作れるような気がするが。
オレの気のせいだったか?

677 名前:デフォルトの名無しさん :03/07/18 22:06
> いまだに昔ながらのISKANJIを使ってたりします。
って言ってるじゃん。で、自作ではコードページに応じて
動作を変えるなんて芸当はできないでしょ。

678 名前:デフォルトの名無しさん :03/07/19 00:19
>>675
Aは機能拡張版です

・・・ということではないのかな

679 名前:デフォルトの名無しさん :03/07/19 00:56
CreateWindow関数の最初の引数って、何を渡せばいいのですか?
これは何か使われたりするのですか?

680 名前:デフォルトの名無しさん :03/07/19 01:03
>>679
WINCLASSで登録したクラス名
使われるかどうかは知らん

681 名前:デフォルトの名無しさん :03/07/19 01:38
MSDNで検索したのですが、CWnd::InvalidateRectしか検索できませんでした(voidの戻り値でした)。
InvalidateRectは、戻り値はあるのでしょうか(VC6.0ではintらしいですが)?
ある場合はどういう値が帰ってくるのでしょうか?

682 名前:デフォルトの名無しさん :03/07/19 01:54
>>681
ttp://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_invalidaterect.asp

683 名前:デフォルトの名無しさん :03/07/19 02:07
>>678
頼むからMSDNくらい読んでください
「Ex」が機能拡張版という意味で
「A」がANSI文字版、「W」がUnicode版という意味です。
つまりこの関数はUnicode版がないということで、
> サロゲートの範囲はハードコードせいってこと?
というレスにつながるわけです。

684 名前:デフォルトの名無しさん :03/07/19 03:12
Windowsで普段ユニコードと呼んでるエンコーディングはサロゲートを含まないんじゃなかったっけ?

685 名前:デフォルトの名無しさん :03/07/19 04:01
>>684
2000以降はUTF-16でサロゲートに対応してる。

686 名前:デフォルトの名無しさん :03/07/19 09:12
>>683
つか、そもそも引数がTCHAR/TSTRじゃないからな。

687 名前:654 :03/07/19 09:38
>>657
そうゆうネタじゃなくて、まじめに教えてぽ。
ポップアップメニューが出ないのはなぜ?。


688 名前:デフォルトの名無しさん :03/07/19 09:45
>>687
>>654の質問内容がどう考えてもネタだろ

689 名前:デフォルトの名無しさん :03/07/19 11:32
WM_MOUSEMOVEのメッセージがきたら
ウィンドウの位置と大きさを取得したい
っつーか、
WM_NCLBUSTTONDWONでnHITTESTがHTMINBUTTONの時に
ウィンドウの位置と大きさを取得したい

そんなAPIはなんですか?

690 名前:デフォルトの名無しさん :03/07/19 11:40
USB機器取り外すときに、いちいちタスクバーにマウスを持っていって
停止操作しなくちゃいけないのが面倒なので、なんとかしたいと考えています。
USB機器を取り外すにはどの辺りのAPI叩けばいいでしょうか?


691 名前:デフォルトの名無しさん :03/07/19 11:49
>>689
GetWindowRectではいけない理由があるなら教えてくれ。

692 名前:689 :03/07/19 11:55
>>691
アプリケーションが終了した位置をiniに保存するという処理を
しています。
しかし、WM_NCLBUSTTONDWONでnHITTESTがHTMINBUTTONで
最小化し、さらにその状態で終了されたら次回にアプリを
立ち上げたときとんでもない位置にウィンドウが配置される

この問題を回避するためにいろいろ考えてるわけです


693 名前:デフォルトの名無しさん :03/07/19 11:56
GetWindowPlacement

694 名前:デフォルトの名無しさん :03/07/19 11:56
検索すりゃそのためのAPIがすぐ見つかるけどな

695 名前:689 :03/07/19 12:24
GetWindowPlecementを見たがウィンドウの状態がわかっても
使い方がわからん。確かに最小化の状態から最小化の前の
ウィンドウ位置に戻っているがどうやって使うんだ?

GetMessageを使ったとして小生はVBで使うことを想定して
質問しているからウィンドウプロシージャメッセージで受け取る
タイミングがわからんし

VBのイベントハンドラって限られてるし
すれ違いかどうかわからんが
ヒントくれ

696 名前:デフォルトの名無しさん :03/07/19 12:35
>>695
VBはわからんが、
俺のプログラムでは、WM_CLOSEなどの、ウィンドウが破棄される前にGetWindowPlacementでゲットしたデータをiniに保存しておき、
WM_CREATEで、SetWindowPlacementで復元してる。
最小化の問題があるから、復元する前に WINDOWPLACEMENT.showCmd を適切に修正してる。

697 名前:689 :03/07/19 12:52
>>696
VCではそうするのか。参考になったよ
WINDOWPLACEMENT構造体の中に最小化であるという情報と
復元の位置が入っていると信じて使ってみるぽ

しかし、GetWindowPlacementでは日本語のくせに
WINDOWPLACEMENTからいきなり英語で解説してるからMSDNは苦手だ、、

698 名前:デフォルトの名無しさん :03/07/19 13:09
VC++6.0付属のMSDNライブラリですら、MFCのほうで引けばWINDOWPLACEMENT
も日本語で説明してあったりするが。

ちなみにGetWindowPlacement/SetWindowPlacementを使うと、タスクバーが上なんか
にあったりすると見事にずれるらしい。

699 名前:デフォルトの名無しさん :03/07/19 13:12
GetWindowPlacementで位置とサイズだけ保存しておいて復元にはSetWindowPosを使ってる漏れ

700 名前:デフォルトの名無しさん :03/07/19 13:31
700

701 名前:689 :03/07/19 13:46
>>697-698
日本語解説もあったしあとは打ち込むだけぽ
感謝汁

702 名前:デフォルトの名無しさん :03/07/19 14:48
BCCでリソーススクリプトを使う方法が全然分かりません。

RCファイルをを拾ってきてcppファイルと一緒にメイクしたら
以下のようなエラーが出てきて上手くいきませんでした。

Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照)

cppファイルは単独でobjファイルにコンパイルできるし、
RCファイルも単独でRESファイルにコンパイルできます。
何がいけないのか良く分からないのです。

>2の猫のC言語のサイトではマイクロソフトのやつを使ってるみたいで、
なんかよく分からないんです。
BCC系の詳しいサイトを教えて下さい。
お願いします。

703 名前:デフォルトの名無しさん :03/07/19 14:58
>感謝汁
おまえがな

704 名前:デフォルトの名無しさん :03/07/19 15:19
耳から感謝汁が垂れてきたという意味だろ

705 名前:デフォルトの名無しさん :03/07/19 15:25
>>702
main 関数はあるのか?
WinMain なら -tW を付けてみる

706 名前:690 :03/07/19 15:37
USB機器を取り外すAPIに関して情報ありませんかー?
どこそこのスレで聞けとか、実現してるフリーウェアがあるよ、
などでもいいのでプリーズ。

707 名前:デフォルトの名無しさん :03/07/19 16:40
CM_Request_Device_Ejectを発行しませう。

708 名前:デフォルトの名無しさん :03/07/19 16:43
>705
ありがとうございます
なんか設定がおかしかったみたいです

709 名前:690 :03/07/19 17:50
>>707
ありがとうございます!大変参考になりました!

710 名前:デフォルトの名無しさん :03/07/19 19:16
>>707
おおー、こんなのあったのか。

漏れもいちいちトレイから操作するのが面倒で、
なんとかできんかなーと思ってたところだ。

ハードウェア寄りの面倒なコーディングが必要なら、
そこまでする気にもなれんなーと思ってたんだが。

711 名前:654 :03/07/19 22:57
>>688
ネタじゃないってば。
やっぱり、エディットコントロールの
ポップアップメニューの出し方はわからないまま。
コピペのメニューを出したいんだけど、出ない。

とりあえず、クリップボードを使って
コピーすることにしましたが。


712 名前:デフォルトの名無しさん :03/07/19 23:28
>>711
処理系をBCBかDelphiかVBにしたら?

713 名前:デフォルトの名無しさん :03/07/19 23:36
>>711
っていうか、リッチエディットコントロールにそんなものないから自分で
実装しないと駄目だよ。聞くまでもない。

714 名前:デフォルトの名無しさん :03/07/20 00:27
LoadImage関数の戻り値はなにになるんでしょうか?
MSDNで調べたのですが、LoadBitmap関数しか見つかりませんでした

715 名前:デフォルトの名無しさん :03/07/20 01:52
いったいどこを探したんですか?
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/resources/introductiontoresources/resourcereference/resourcefunctions/loadimage.asp

716 名前:デフォルトの名無しさん :03/07/20 01:52
>>714
いつの時代のMSDN Libraryをお使いですか。

ttp://www.microsoft.com/japan/msdn/library/ja/jpwinui/html/_win32_loadimage.asp

717 名前:デフォルトの名無しさん :03/07/20 03:27
>>714
char です。

718 名前:デフォルトの名無しさん :03/07/20 11:59
>>714
画像ファイルを読み込みたいんなら
戻り値は単にHBITMAPにキャストすればいい

719 名前:デフォルトの名無しさん :03/07/20 17:36
turb C++でCを使ってプログラミングもどきをしているものです。
MIDIや、WAVのファイルが再生できるDLLやヘッダー無いですか?
あちらこちらのサンプルコード使ってみたり、ぐぐってみたりしたけど見つかりません。
教えてください。

720 名前:デフォルトの名無しさん :03/07/20 18:36
本当に探したのかと問いたい。問い詰めたい。小一時間問い詰めたい。
おまえただ「ぐぐってみた」って言いたいだけちゃうんか、と。

721 名前:デフォルトの名無しさん :03/07/20 18:45
>>720
いや、どうやら本当に無いようだ!
http://www.google.co.jp/search?q=MIDI%82%E2%81AWAV%82%CC%83t%83%40%83C%83%8B%82%AA%8D%C4%90%B6%82%C5%82%AB%82%E9DLL%82%E2%83w%83b%83_%81%5B%82%AA%97%7E%82%B5%82%A2%82%C5%82%B7&ie=Shift_JIS&hl=ja&btnG=Google+%8C%9F%8D%F5

722 名前:デフォルトの名無しさん :03/07/20 19:04
7ラタ

723 名前:デフォルトの名無しさん :03/07/21 00:36
コマンドプロンプトから起動されたWinMainで始まるアプリが、
コマンドプロンプトの標準出力に出力する方法ってあります?

724 名前:デフォルトの名無しさん :03/07/21 01:04
>>723
無理だと思われ

725 名前:デフォルトの名無しさん :03/07/21 01:05
CreateWindowの最後の引数は、NULL固定ですよね?
将来的に使われるかもしれないってことですよね

726 名前:723 :03/07/21 01:16
>>724
そうですか。残念…。
お答えありがとうございました。

>>725
ttp://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_createwindow.htm
CreateWindowでぐぐると最初にひっかかりますよ

727 名前:デフォルトの名無しさん :03/07/21 02:05
ShowWindowの戻り値について質問なんですが、

ウィンドウが以前から表示されていた場合は、0 以外の値が返ります。

ウィンドウが以前は非表示だった場合は、0 が返ります。

とあるのですが、ウィンドウが以前から表示されていた場合とは、どんな場合なんでしょうか?

728 名前:デフォルトの名無しさん :03/07/21 02:15
ShowWindow(hWnd, SW_SHOW);
ShowWindow(hWnd, SW_HIDE);

729 名前:デフォルトの名無しさん :03/07/21 04:48
WS_VISIBLEスタイル(ry

730 名前:デフォルトの名無しさん :03/07/21 06:35
>>725
WM_CREATEでLPARAMをLPCREATESTRUCTにキャストして->lpCreateParamsで使うユーザ定義の引数
用途はキミ次第

731 名前:ケン :03/07/21 12:36
ディスプレイに画像を表示しないで、色の情報を
取得することはできますか?
たとえば、あるbitmapの上から10ポイント、左から30ポイント
の位置の色の情報を取得したいのですが・・・
ディスプレイから取得しない方法を教えていただきたいのですが・・・

732 名前:デフォルトの名無しさん :03/07/21 13:01
Bitmapリソースなら、CompatibleDC使えばいい。
Bitmapファイルなら、自分で解析しろ。

733 名前:ケン :03/07/21 18:53
>732

>Bitmapファイルなら、自分で解析しろ。
まんどくそい。
API一発でなんとかならないですか?

734 名前:デフォルトの名無しさん :03/07/21 19:00
>>733
LoadImageで読んでSelectObject→GetPixel、ただし画面の色数に影響されるかも

735 名前:デフォルトの名無しさん :03/07/21 19:01
解析するしかない。
CreateDIBitmap BITMAPINFOHEADER あたりでググれば
わかるかもね。

ひょっとして>>733はフィッシャーマンだった?

736 名前:デフォルトの名無しさん :03/07/21 20:40
>>734
LoadImageはリソースしか読めん。
出直してまいれ。

737 名前:デフォルトの名無しさん :03/07/21 20:53
えっと…。

キャラクタベースの文字列とか文字表示APIってどんな名前ですか?
win32 コンソールアプリで使いたいんです。具体的には色表示したり
したいんです。

エスケープシーケンス使えと言われそうですが、NT/2000/XP の
コマンドプロランプとではサポートしていないのです

738 名前:737 :03/07/21 20:54
× コマンドプロランプとではサポートしていないのです
○ コマンドプロンプトではサポートしていないのです

739 名前:デフォルトの名無しさん :03/07/21 21:19
>>737
2000などでもエスケープシーケンスなら使えるっちゅうに。
まあ、それだけではなんだから、「猫でもわかる」でぐぐりれ。

740 名前:デフォルトの名無しさん :03/07/21 21:20
>>737 MSDNライブラリの目次から[Windows 開発]-[Windows ベース サービス]-[ファイルおよび入出力]-[SDK DQメント]-[ファイル入出力]-[コンソール]を見れ

741 名前:デフォルトの名無しさん :03/07/21 21:29
>>736 LR_LOADFROMFILEは?

742 名前:名無し@沢村 :03/07/21 21:37
>>736 ( ´_ゝ`)フーン 

743 名前:デフォルトの名無しさん :03/07/21 21:48
>>737
しょうがない、マジレスしてやるか。

printf("<COLOR=0xFF0000>Hello world</COLOR>\n");

で色が変わる。
あ、そうそう、
#include <html.h>
忘れるなよ。

744 名前:デフォルトの名無しさん :03/07/21 21:50
>>733

BMPをAPIでDIBSectionなどに読み込むと、デバイスコンテキストの属性の影響を受ける可能性があるから、自分で解析したほうが確実だよ。
横幅が4の倍数ピクセルの24bitBMPなら、そんなに難しくはない。

BITMAPFILEHEADER内(+10バイト)にあるRGBデータの先頭アドレスにx*3+y*横幅*3を加えれば、(x,y)のRGB(バイトイメージではBGR)のデータを得られる。ただし、デフォルトの座標系はGDIとは上下逆だから要注意。
横幅や高さなどはBITMAPINFOHEADER内にあるから、そこを読めばよい。


745 名前:デフォルトの名無しさん :03/07/21 23:00
>>733
その程度の大した作業でないことすら面倒くさいのか?
適正無いから早めに身を引いた方が楽だよ

746 名前:デフォルトの名無しさん :03/07/21 23:13
>>745
もしもAPI一発呼び出すだけで色が取れたら?
ビットマップファイルを解析するなんて時間の無駄だよね?

下調べせずに無駄なコードばっかり書いて納期を守れない>>745
邪魔で仕方ない。
はよこの業界から去れや。

747 名前:_ :03/07/21 23:15
http://homepage.mac.com/hiroyuki44/jaz09.html

748 名前:デフォルトの名無しさん :03/07/21 23:17
>>745-746
醜いですよ


749 名前:デフォルトの名無しさん :03/07/21 23:17
>>746
素人が業界語るなよ

750 名前:デフォルトの名無しさん :03/07/21 23:23
>>749
プロの無職が業界語るなよ(w


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.