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


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

Win32API質問箱 Build14
501 名前:デフォルトの名無しさん :03/11/03 06:02
>>2の下の方だったんだがなぁw

502 名前:デフォルトの名無しさん :03/11/03 10:09
>>500-501
スマン、ツボに入って爆笑しますた

503 名前:デフォルトの名無しさん :03/11/03 10:15
GlobalAllocの第1引数でGMEM_MOVEABLEを指定すると「移動可能メモリを確保」するとありますが、
これはガーベジコレクションが働くという意味なんですか?

504 名前:デフォルトの名無しさん :03/11/03 12:21
>>503
Win16時代にはGCが働いていた(過去形)。
今は実際には決して移動することはないので実質的に意味ない。
HGLOBALは間接ポインタに決まってると決め付けていた
Win16アプリを移植しやすくするために存在しているだけ。

505 名前:デフォルトの名無しさん :03/11/03 13:22
えー、スレ違いでしたら無視してください。

ゲームを外部から操作できるのかと思い、PostMessage を使って
WM_KEYDOWN をメッセージキューにポストしてみたのですが
何の反応も有りませんでした。Spy++を使ってキューを監視してみても
キーボードから入力したときと全く同じメッセージがポストされているのですが……
ご助言いただければ幸いです。


506 名前:デフォルトの名無しさん :03/11/03 13:31
できると思うがその内容ではコメントしようも無い。

507 名前:デフォルトの名無しさん :03/11/03 17:59
>>505
普通は、keybd_event() or SendInput() じゃないかと。

508 名前:デフォルトの名無しさん :03/11/03 19:00
>>503
memory compactionね。
garbage collectionとはちょいニュアンス違う。

移動可能メモリをハンドルで表現する意味も
昔はmemory compactionへの対応だったが
今ではプロセス境界を跨ぐための拡張アドレスと
ニュアンス変わってきてる。

509 名前:デフォルトの名無しさん :03/11/03 19:45
つまり、移動可能メモリというのは
Mac OS の Handleみたいなものですか?


510 名前:デフォルトの名無しさん :03/11/03 20:06
>>509
みたいなものではなく、全く同じもの。

511 名前:478 :03/11/04 02:31
478ですがレスが無いようなので質問を他の場所で投げてみようと思います。
一応その旨書いておきます。

512 名前:デフォルトの名無しさん :03/11/04 10:06
kbhit()
じゃだめなん?

513 名前:デフォルトの名無しさん :03/11/04 18:00
>>512
>>480

514 名前:デフォルトの名無しさん :03/11/04 21:08
>>506
申し訳ございません。具体的にはどのような情報が必要なのでしょうか。

PostMessage(hWnd, WM_KEYDOWN, 0x4E, 3211265);
PostMessage(hWnd, WM_KEYUP, 0x4E, 3224436737);

このような形でポストしました。

>>507
助言ありがとうございます。しかし以下のようにやっても、やはり反応が有りません。

SetFocus(hWnd);
keybd_event(0x4E, 0, 0, 0);
keybd_event(0x4E, 0, KEYEVENTF_KEYUP, 0);

これもやはりテキストエディタに放り投げてみると正しくキーが押されていました。
何かよく分からないことだらけですが、もう少し調べてみようと思います。

515 名前:デフォルトの名無しさん :03/11/04 22:13
DirectInput使ってるんじゃねーの?

516 名前:デフォルトの名無しさん :03/11/05 00:01
>>514
PostMessage(hWnd, WM_KEYDOWN, 0x4E, 3211265);
Sleep(500);
PostMessage(hWnd, WM_KEYUP, 0x4E, 3224436737);

こうしてもダメ?

517 名前:デフォルトの名無しさん :03/11/05 00:29
漏れもDirectInputに一票

#SendMessageを使ってみたらどうよ?

518 名前:デフォルトの名無しさん :03/11/05 02:03
リストビューの内容を変更するために表示されるDEITBOXの位置を変更しようと思い、
最初のLVN_BEGINLABELEDITが送られてきた時に
 int offset = 10;
 hEdit = ListView_GetEditControl(hwnd);  //DEITBOXのハンドルを取得
 GetWindowRect(hEdit , &rect);
 SetWindowPos(hEdit , HWND_TOP , rect.left + offset , rect.top , 0 , 0 , SWP_NOSIZE | SWP_NOZORDER);
としたのですが、DEITBOXの位置は変わりませんでした
EDITBOXの位置が初期化されるのはこのメッセージの時ではないのでしょうか?
LVN_BEGINLABELEDITからLVN_ENDLABELEDITまでの間にどのようなメッセージが送られ、
EDITBOXの位置が初期化されるメッセージはどれなのか教えていただけないでしょうか?

519 名前:デフォルトの名無しさん :03/11/05 10:52
>>515,517
むしろゲームでDirectInput使ってなかったら・・・


520 名前:x :03/11/05 10:59
>>396
WinFXネタに埋もれてしまったのですが、この件で
何かご存じの方はいらっしゃいませんかねぇ?

521 名前:デフォルトの名無しさん :03/11/05 11:12
>>520
セカンダリモニタはドライバ側の機能だろうから、
APIでは無いのでは?


522 名前:デフォルトの名無しさん :03/11/05 11:22
>>520
OFFにできるかは知らないが、GDIのAPIにマルチディスプレイ用APIがある。
解像度切り替えはChangeDisplaySettingsExでできるっぽい。


523 名前:デフォルトの名無しさん :03/11/05 11:25
>>521
ドライバによっては独自のマルチモニタ機能を提供しているものもある(初期のG4x0とか)が、
基本的にはマルチモニタはWindowsの機能だ。

524 名前:デフォルトの名無しさん :03/11/05 15:25
FindFirstFile() で c:\winntを "*aa*" で検索すると
$NtUninstallKB824105$
がヒットするのだけど、どういう理屈なんでしょうか?

525 名前:デフォルトの名無しさん :03/11/05 15:30
Σ(゚Д゚; SFNか

526 名前:デフォルトの名無しさん :03/11/05 22:28
win98,VisualC++6.0で開発しています。
デスクトップ画像を送受信する処理を下記の様に作っています。

(サーバ側)
[デスクトップ画面取得]
CWindowDC cSrcDC(NULL);
CDC m_cDC;
CBitmap m_cBitmap;
m_cDC.CreateCompatibleDC(NULL);
m_cBitmap.CreateBitmap(GetSystemMetrics (SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),cSrcDC.GetDeviceCaps(PLANES),cSrcDC.GetDeviceCaps(BITSPIXEL),NULL);
m_cDC.SelectObject(&m_cBitmap);
m_cDC.SetMapMode(MM_TEXT);
m_cDC.BitBlt(0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),&cSrcDC,0,0,SRCCOPY);
[画像送信]
send(dstSocket,(char*)&m_cDC,sizeof(m_cDC),0);

(クライアント側)
[画像取得]
recv(sock, (char*)&m_cDC, sizeof(m_cDC), 0);
[画像表示]
CClientDC cDstDC(this);
cDstDC.BitBlt(0,0,1600,1200,&m_cDC,pos.x,pos.y,SRCCOPY);

(1)一台のPCでサーバとクライアントを兼任すると正常に表示されるけど、
(2)サーバとクライアントを別々のPCで起動すると画像が表示されません。
win2000とXPだと(1)すら表示されません。
正しくデスクトップ画面を送受信するにはどのようにすればよいのでしょうか?


527 名前:デフォルトの名無しさん :03/11/05 22:30
CDCはデバイスコンテキスト
画像データではないから、送信できなくて当然。


528 名前:デフォルトの名無しさん :03/11/05 22:47
俺はむしろ
> 一台のPCでサーバとクライアントを兼任すると正常に表示される
事に驚愕した。

529 名前:デフォルトの名無しさん :03/11/05 23:04
まぁ、Win98だし。

530 名前:デフォルトの名無しさん :03/11/05 23:14
GDIハンドルをソケット経由でコピーしただけだな

531 名前:デフォルトの名無しさん :03/11/06 00:18
>>524
どうあってほしい?
Unixのshellやregexpのような振る舞いは期待するだけ無駄。

532 名前:デフォルトの名無しさん :03/11/06 02:33
CDCには仮想関数テーブルもあるんじゃないの?

533 名前:デフォルトの名無しさん :03/11/06 02:49
>>532
仮想関数テーブルがあっても参照されなければエラーにはならんと思うが

534 名前:x :03/11/06 09:19
>>521
>>522
>>523

ありがとうございます。
ChangeDisplaySettingsEx()
も見てみたんですけど、ON/OFFは見あたらないんですよね...
でも、この辺に絞ってもう少し探してみます。

535 名前:デフォルトの名無しさん :03/11/06 10:04
TreeView でルートアイテムだけにイメージを表示して、
子以下のアイテムは出さないってできますか?

ルートにはこれ、

TV_INSERTSTRUCT tvis;
tvis.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
tvis.item.iImage = 0;
tvis.item.iSelectedImage = 0;

子にはこれ、

TV_INSERTSTRUCT tvis;
tvis.item.mask = TVIF_TEXT;
tvis.item.iImage = 1;
tvis.item.iSelectedImage = 1;

を使いましたが、子までiImage、iSelectedImageが有効になります。
ちなみにWinXP SP1、VC++6.0 SP5です。

536 名前:デフォルトの名無しさん :03/11/06 11:30
atoiみたいなAPI教えてください

537 名前:デフォルトの名無しさん :03/11/06 13:11
>>536
その前に atoi でダメな理由を教えてください

538 名前:デフォルトの名無しさん :03/11/06 14:34
その前にくだらんやりとりしないでください。StrToInt。

539 名前:デフォルトの名無しさん :03/11/06 16:03
その前にさっさと教えやがってください。

540 名前:デフォルトの名無しさん :03/11/06 16:07
その前にすでに教えてもらってるのに無視しないでください。

541 名前:デフォルトの名無しさん :03/11/06 17:08
その前にHEX文字を数値に変換する方法を教えてください。

542 名前:デフォルトの名無しさん :03/11/06 17:09
StrToIntEx

543 名前:デフォルトの名無しさん :03/11/06 17:26
初めまして2chに書き込むのははじめてなのでここに書き込んでいいのか
わかりませんが..逆アセンブラについて質問なのですが、逆アセンブラ
を使えるようになるには、何を学べばよいですか??
もしよかったらメッセで暇な時ちゃちゃと答えてくれる人いませんか??


544 名前:デフォルトの名無しさん :03/11/06 17:28
放置よろ

545 名前:デフォルトの名無しさん :03/11/06 18:39
>>544
放置できない馬鹿

546 名前:デフォルトの名無しさん :03/11/06 19:08
>>545
放置できない馬鹿を放置できない馬鹿

547 名前:デフォルトの名無しさん :03/11/06 19:31
>>544-547

放置すべき馬鹿を相手にして喜ばせるアホ。


548 名前:デフォルトの名無しさん :03/11/06 19:45
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n

549 名前:デフォルトの名無しさん :03/11/06 20:02
>>543
(1) CPUアーキティクチャ
(2) アセンブラ
(3) API
(4 )OS

550 名前:デフォルトの名無しさん :03/11/06 20:07
同期でシリアルポート読んだあと、タイムアウトで戻ってきたかどうかを
ReadFileの戻り値で知ることは出来るの?

551 名前:デフォルトの名無しさん :03/11/06 20:16
>>538
atoiの為だけにShlwapi.dllをロードするのも哀れだな(w

552 名前:デフォルトの名無しさん :03/11/06 20:20
>>550
読み取ったバイト数がゼロで返ってくる。
つか、MSDN嫁!


553 名前:550 :03/11/06 20:22
>>552
ご教授ありがと〜

554 名前:デフォルトの名無しさん :03/11/06 20:31
WM_KEYDOWNメッセージで二つのキーの組み合わせをPostMessageするのは
どうすれば良いのでしょう?


555 名前:デフォルトの名無しさん :03/11/06 20:35
>>551
Shlwapi.dllに何か恨みでもあんのか?

556 名前:デフォルトの名無しさん :03/11/06 20:45
>>551さんはちょっとキティなんでそっとしておきましょうよ

557 名前:526 :03/11/06 21:59
DIB 送受信 winsockで検索したらやり方モロに書いてたページがヒットして解決しました。
卒研の中間発表の予稿に「デスクトップ画面を送受信できる」と書いたので何としても作らなければいけなかったので本当に助かった。

明日は発表日。今から発表の練習します。

558 名前:551 :03/11/06 22:12
>>555
いや、たった1つの関数、それもStrToIntの為だけにShlwapi.dllロードするなんて、贅沢だなと思って。
資源少ない時代の貧乏性が抜けきれてなくてね・・・

559 名前:デフォルトの名無しさん :03/11/06 22:17
>>552
ゼロになるのはファイルの終点で読みこんだ時としかかいてないぞ。
何所に書いてる?

560 名前:デフォルトの名無しさん :03/11/06 22:20
>>551 うん、その気持ち分かる

561 名前:デフォルトの名無しさん :03/11/06 22:20
>>558
おまえが哀れ。

562 名前:デフォルトの名無しさん :03/11/06 22:35
>>558
shlwapi.dll なんて大抵の環境ですでにメモリ上に存在するから、
リソース的には問題なしだと思ってたけど、どうなんだろう。。

563 名前:デフォルトの名無しさん :03/11/06 23:13
>>554
相手のアプリの実装による。
特にCtrl,Alt,Shiftの状態を、相手のアプリがGetAsyncKeyState()を使って
チェックしている場合は、物理的な状態なので再現するのは無理なはず。
代わりにWM_COMMANDなどを直接送ったほうが。

564 名前:デフォルトの名無しさん :03/11/06 23:36
atoi使わない方がCランタイム使わなくて嬉しいことあるですか?

565 名前:デフォルトの名無しさん :03/11/07 00:32
質問です。

timeGetTimeの返す値って、PC起動してから時間が立つほど不正確になるもんなんですか?

Cでゲームを作っていて、ゲームなので高速な処理をするためにメッセージループをいじって
while (TRUE){
  if( PeekMessage(&msg, NULL, 0, 0,PM_REMOVE)) {
    if(msg.message == WM_QUIT) break;
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  } else {
    gameMain();
  }
} return (msg.wParam);

処理のほとんどをgameMainに費やすようにしています。
で、例えば敵機の弾とかの移動距離を算出するために、
「(今のtimeGetTime()の値 - 前回ループ時のtimeGetTimeの値)/1000*1秒間に移動したい距離」
とすることで、CPUの処理能力によって差が出ないようにしてるのですが、
PC起動してから長時間たっていると、動きがガクガクするのです。

漏れのPCがヘタレなだけ?

566 名前:デフォルトの名無しさん :03/11/07 01:05
>>554
2回呼び出して、50ミリ秒以内なら一緒に押したと見なす。

567 名前:デフォルトの名無しさん :03/11/07 02:59
RECT構造体のメンバはlogical unitなので、DrawText()などで
この構造体を使うときはMapping Modeの影響を受けると思います。
で、RECTをGetClientRect()などで取得するとMapping Modeのことは
計算されていないと思うのですが、この取得した値ををMM_TEXT以外の
モードで使うにはどうすればいいのでしょうか?

568 名前:デフォルトの名無しさん :03/11/07 11:17
>>565
ゲーム制作系のスレに行くべき

569 名前:デフォルトの名無しさん :03/11/07 11:38
>>565
( ´∀`)ノ
http://www2.bbspink.com/erog/kako/1050/10509/1050908540.html

570 名前:デフォルトの名無しさん :03/11/07 11:48
WS_VISIBLE WS_CHILD WS_BORDER ES_MULTILINE
WS_VSCROLL WS_HSCROLLのスタイルで作った
EDITコントロールに、複数行のテキストをバッファの文字に
変更があった時などSetWindowTextで表示させると、
その度 勝手に垂直スクロールバーが元の一番上に移動して
怖いです。

止めさせる方法教えて下さい。

571 名前:デフォルトの名無しさん :03/11/07 11:53
EM_SETSEL と EM_REPLACESEL ではどうですか?

572 名前:670 :03/11/07 12:01
>>571
レスどうも。テキストは一行ごと追加して
行自体が下にずれていくから、そのやり方だと難しそう・・・

573 名前:570 :03/11/07 12:09
>>571
ああ、EM_REPLACESELは文字列置換だから簡単にできそうですね。
削除かと勘違いしてた。 いい方法をありがとう。   

574 名前:デフォルトの名無しさん :03/11/07 16:48
>>567
自分で変換

575 名前:デフォルトの名無しさん :03/11/07 18:09
>>565
つうかPeekMessage使うなボケ。
藻前、本のサンプル理解しねーで丸写ししただろ?

576 名前:デフォルトの名無しさん :03/11/07 18:25
>>575
なんで?

577 名前:デフォルトの名無しさん :03/11/07 18:40
>>552
お前こそちゃんと読んだか?
読みこめたバッファを伴って処理を戻すからゼロとは限らないよ。
たんに、関数の最初にその変数が、0リセットされるだけ。

578 名前:りょ :03/11/07 18:43
いま、困っています。
MXでとれてしまった画像ファイル(JPEG)
が削除できないのです。
どうしたらいいのですか?
削除をおすと
(ファイル削除できません。指定されたファイル名は、無効か
または長すぎます。別の名前を指定してください。)
とでます。
名前を変えてみたりしたんですが
(ファイル名を変更できません。指定されたファイル名は、無効か
または長すぎます。別の名前を指定してください。)
とでてしまいます。どうしたらいいのですか?


579 名前:デフォルトの名無しさん :03/11/07 18:54
アクセス権の設定ダイアログを表示する方法を教えてください

580 名前:デフォルトの名無しさん :03/11/07 20:41
>>575
漏れも気になる
なんでPeekMessageダメなん?

581 名前:デフォルトの名無しさん :03/11/07 21:56
ListView についてくる Header の高さを変える方法はありますか?
ListView に WM_SETFONT を送って字を大きくしたのはいいのですが、
Header の高さが変わってくれません。

582 名前:デフォルトの名無しさん :03/11/07 23:42
>>564
これとか。
> ランタイムライブラリのサイズは 20KB もあるので、
> ランタイムライブラリを使わないだけで、
> 20KBのダイエットに成功します。
ttp://www.nitoyon.com/vc/tips/light_exe.htm

583 名前:デフォルトの名無しさん :03/11/08 00:58
>>578
IOCTL_DISK_FORMAT_VOLUME

584 名前:デフォルトの名無しさん :03/11/08 01:58
WM_MOUSEWHEELを後ろのウィンドウに透過して送りたいのですが、
下のよりスマートな方法はないのでしょうか?

case WM_MOUSEWHEEL:
  ShowWindow(hWnd, SW_HIDE);
  hBackWnd = WindowFromPoint((POINT)lParam);
  ShowWindow(hWnd, SW_SHOW);
  SendMessage(hBackWnd, WM_MOUSEWHEEL, wParam, lParam);


585 名前:デフォルトの名無しさん :03/11/08 02:25
>>579 EditSecurity ?

586 名前:デフォルトの名無しさん :03/11/08 09:59
>>584
後ろのウィンドウは不定なの?

587 名前:デフォルトの名無しさん :03/11/08 10:00
駆動中のプロセスを列挙して,任意のプロセスを終了させたいのですが.
PIDとかがまったくわからない状態で,プロセスの名前だけをたよりに
そのプロセスを終了させたいのですが.
どのようにしたらよいのでしょうか?

588 名前:565 :03/11/08 11:09
>>568
板違いですか。誘導どうもです。

>>569
ためになりそうですね。読んでおきます。

>>575
お察しの通り丸写しです…。
なんで?

589 名前:デフォルトの名無しさん :03/11/08 11:22
>>587 プロセス列挙して探す

590 名前:589 :03/11/08 11:29
列挙て書いてたか。オープン→ベースネームか?

591 名前:デフォルトの名無しさん :03/11/08 12:25
>>587
似たようなプログラムのソースを見る

592 名前:デフォルトの名無しさん :03/11/08 13:54
>>565
CPU使用率、常に100%の予感。

593 名前:デフォルトの名無しさん :03/11/08 14:10
>>592
そお思う理由を書きたまゑ

594 名前:デフォルトの名無しさん :03/11/08 16:39
>>587

CreateToolhelp32Snapshot

Process32First & Process32next(要するに列挙)

lstrcmp(ProcessName , PROCESSENTRY32::szExeFile)

でどうですか?


595 名前:594 :03/11/08 16:48
訂正

CreateToolhelp32Snapshot

Process32First & Process32next(要するに列挙)

lstrcmp(ProcessFileName , PROCESSENTRY32::szExeFile)

OpenProcess(PROCESSENTRY32::th32ProcessID)

GetModuleFileName

lstrcmp(yours , ProcessFullPathName)

PROCESSENTRY32::szExeFileはファイル名だけだから
こっちの方が確実かな。


596 名前:587 :03/11/08 17:39
やっぱり列挙して比較するしか方法はないのですね.
みなさんありがとう!

597 名前:デフォルトの名無しさん :03/11/08 18:08
なるほど、名前で一発検索できる関数を探していたのか

598 名前:デフォルトの名無しさん :03/11/08 18:20
>>592
CPU使用率が100%近くになるのは意図通りだろ

599 名前:デフォルトの名無しさん :03/11/08 20:22
質問です。
Programming Windows 5th Editionを読んでいるんですが、プロセスの中で
GDIオブジェクトを使うと大体DeleteHogeみたいな関数で使い終わった
オブジェクトを消すよう書いてあります。

これを守らずに放置してプロセスを終了した場合メモリリークしますか?
それともあるプロセスで使ったものはプロセスの終了とともに回収され
ますか? (もちろんそういう仕組みに任せるのは好ましくないですが)

600 名前:565 :03/11/08 21:31
言い忘れてた。
ゲ製作技術のほうにいきますんで、
>>565の質問は放置願います。

>>CPU100%
作ってるのは音ゲーなので、CPU100%でいいです。
まぁ「いい」とか「わるい」とか言うのは使う側なんだけども。

601 名前:デフォルトの名無しさん :03/11/08 22:49
ゲームでも無駄なCPU使用はやめれ。

602 名前:デフォルトの名無しさん :03/11/08 22:56
>>599
プロセス終了時点で破棄されるので、終了時に消して回る必要はない。
むしろバグを生みそうなのでやらないほうがよい。

つまり、
起動時に一度作って、ずっと使いまわすものはDeleteしなくてよい。
ユーザ操作などで動的に作られるものであれば、Deleteする仕組みを
あらかじめ入れておいたほうがよい。

MFCが使えるならばそれに任せたほうが楽。

603 名前:デフォルトの名無しさん :03/11/08 23:18
>>601
まずは目的の動きができあがってから、減らしますよ。

604 名前:デフォルトの名無しさん :03/11/08 23:39
>プロセス終了時点で破棄されるので、終了時に消して回る必要はない。

ここまでは、まあそういう考えの人もいるってことでいいが


>むしろバグを生みそうなので

これは戯言。そんなヘボPGは廃業しろ。入門者なら破門だ。

605 名前:デフォルトの名無しさん :03/11/08 23:57
俺はハンドル作ったらauto_ptrみたいはスマートハンドルクラスに突っ込んでる

606 名前:デフォルトの名無しさん :03/11/09 00:12
>>604
原文書いた人じゃないけど
余計なことはしない方が良いって思ってるだけかもしんない。
それもひとつの信念。そんなに跳ね飛ばすほどのことでもなかろうに。

607 名前:デフォルトの名無しさん :03/11/09 00:48
>プロセス終了時点で破棄されるので、終了時に消して回る必要は

こんな余計なこと考えるくせにな


608 名前:デフォルトの名無しさん :03/11/09 00:53
プロシージャを書くのがめんどうという理由でウィンドウラッパークラスを作っています。
が、そのプロシージャの動作(なんかwhile〜〜メッセージで分岐するの)をどうすれば楽チン
になるのか思いつきません。汎用的に色んなアプリでも簡便に使い回せるクラスにしたいのですが
どうすればいいでしょうか?

609 名前:デフォルトの名無しさん :03/11/09 00:57
>>608
ATL使え

610 名前:デフォルトの名無しさん :03/11/09 01:01
whileでは普通分岐しないと思うんだが。switchのことか?

611 名前:デフォルトの名無しさん :03/11/09 01:05
>>609
すいません。どんな風に楽できるんでしょうか?
>>610
すいません。それです。

612 名前:デフォルトの名無しさん :03/11/09 01:15
>>611
ATL(WTL)には君が再発明しようとしている車輪が全て格納されてる。

613 名前:デフォルトの名無しさん :03/11/09 01:15
>>607
考え事はどれだけしても無駄にはならないが、
コードは書けば書くほどミスが出る確立は上がる。

614 名前:デフォルトの名無しさん :03/11/09 01:22
リソースの回収でバグを生むかも知れないとか言うようなやつは、
どうしても自力で回収しないといけない状況で使い物にならんのでどっちにしろ廃業。

615 名前:デフォルトの名無しさん :03/11/09 01:26
確率の話だろ。

616 名前:デフォルトの名無しさん :03/11/09 01:30
問題はどのリソースが確実に回収されると
決まっているかという話なんだが。

617 名前:デフォルトの名無しさん :03/11/09 01:34
9x系はかなりダメだった気がするんだが。

618 名前:デフォルトの名無しさん :03/11/09 02:50
>>614同意
確率とか言い出す手合いの頭の中は
リソース枯渇の確率が低ければOK

619 名前:デフォルトの名無しさん :03/11/09 10:13
ハードディスクのセクタに直接アクセスするプログラムを作っています。
CreateFile()で"\\\\.\\PHYSICALDRIVE1"(二台目のハードディスクで、システムは入っていません)をオープンし、
DeviceIoControl()のIOCTL_DISK_GET_PARTITION_INFOでディスクのバイト数を取得し
そのサイズだけReadFile()を用いてハードディスクを読み込むというプログラムです。
それで、CreateFile(),DeviceIoControl()共に成功していて、ディスクのバイト数もちゃんと取得できているみたいです。
しかし、ReadFileでハードディスクを読み込んでいるとき、途中までは成功しているみたいなんですが、
ディスクの最後の10MBぐらいにさしかかるとReadFileが失敗します(0を返します)。
GetLastError()で詳細を見てみたところ、「I/Oデバイスエラーが発生した
ため要求できませんでした」となっていました。
もともとハードディスクの最後のほうというのはアクセスできないようになっているんでしょうか?
それとも私のプログラムが悪いのでしょうか?ソースは必要ならば公開します。
ちなみに、WindowsXP HomeEdition SP1 で、VisualC++6.0を使用しています。

620 名前:デフォルトの名無しさん :03/11/09 10:20
>>619
その HDD が壊れていると言う可能性
HDD の容量の先をさらに読もうとしている可能性

は、ないんか ?

621 名前:619 :03/11/09 10:29
別のHDD2個で試してもやはり最後の方は読み込めませんでした。
それと、容量の先を読もうとしてはいないと思うのですが、
仮にHDDの容量の先を読もうとしてもReadFileは0を返さずに、読み込んだバイト数に0が
返されるのではないですか?

MSDNライブラリのReadFileから引用:
関数が成功すると、0 以外の値が返ります。
戻り値が 0 以外で、かつ、実際に読み取られたバイト数が 0 の場合、読み取り操作の時点でファイルポインタがファイルの終端を超えていたことを示します。

622 名前:デフォルトの名無しさん :03/11/09 11:07
パーティションが分かれてるとか?


623 名前:デフォルトの名無しさん :03/11/09 11:37
>>619
XPではHDDの未確保領域が必ずできる仕様になっています。
ttp://homepage2.nifty.com/winfaq/c/ntdisk.html#1118


624 名前:デフォルトの名無しさん :03/11/09 11:46
で、結局>>575はPeekMessage禁止の理由を言えないワケだが

625 名前:デフォルトの名無しさん :03/11/09 13:33
>>624
禁止の理由の一つが >>592 だと理解できなかったわけか...。

626 名前:デフォルトの名無しさん :03/11/09 13:44
まぁSleepを入れれば必ずしも100%にはならないのだが。

つうかそのへんは>>569を読めと。

627 名前:デフォルトの名無しさん :03/11/09 14:14
普通入れるでしょ

628 名前:デフォルトの名無しさん :03/11/09 14:18
>>625
ほほぉ、PeekMessage使うとCPU使用率が100%になるのか
寡聞にして聞いた事がなかったぜ(w

629 名前:デフォルトの名無しさん :03/11/09 14:19
>>627
いやだから、寝るくらいなら待てって話でそ。

630 名前:デフォルトの名無しさん :03/11/09 14:23
Sleep入れるとたとえSleep(0)だとしても20ms程度の遅延が起きるよ。

631 名前:デフォルトの名無しさん :03/11/09 14:28
RDTSC(QueryPerformanceCounter)で時間測って60FPSにしようとすると、
稀に100msくらい止まるってマジ?
でもtimegettimeだと58.8fpsか62.5fpsになっちゃうよね。
flip以外で60fpsにするにはどうしてるの?
(flipだとCPU100%になっちゃうし)

632 名前:デフォルトの名無しさん :03/11/09 14:30
>630
タイマの精度の問題だよね
timeBeginPeriod/timeEndPeriodを使うべし

633 名前:デフォルトの名無しさん :03/11/09 16:58
アプリを起動する時、WinMain関数のnShowCmdを
指定して起動する事は出来るのですか?

634 名前:デフォルトの名無しさん :03/11/09 17:20
できる

635 名前:デフォルトの名無しさん :03/11/09 17:36
>>631
それ、たぶん一部のPentium3のバグだと思う。
どっちにしろリフレッシュレートを60Hzにしてない限り、RDTSCでキッチリ
60fpsに調節しても意味ないから、そんなに精度に拘らなくていいよ。
58.8fpsでも全く問題ないし、そもそもNTSCは59.97Hzだから60fpsピッタリ
というのも間違ってる。
NTSCと関係ないなら無理に60fpsに合わせる意味もない。

それでもtimeGetTimeで60fpsにしたい場合は、画面を更新するたびに誤差を
計算しながら16msと17msを切り替える方法があるけど、これだと画面の更新
間隔が一定ではなく1msのゆらぎが出来てしまう。
しかし、例えばリフレッシュレート85Hzのディスプレイに理想的な60fpsの
映像を表示した場合は、表示される時間が11.76msと23.53msの2種類の
フレームが混在することになり、その場合のフレーム間の揺らぎは11ms以上
あるわけで、それに比べたら1msの揺らぎなんて気にするだけ無駄。

>>633
実行ファイルのショートカットを作って、そのショートカットのプロパティ
を覗いてごらん。

636 名前:633 :03/11/09 18:03
>634-635
ありがとうございます!

637 名前:デフォルトの名無しさん :03/11/09 18:50
> 636
>>>633
>実行ファイルのショートカットを作って、そのショートカットのプロパティ
>を覗いてごらん。

この回答だけでわかったのか…
すげーな。

638 名前:デフォルトの名無しさん :03/11/09 21:51
>>637
これでわからん方がすごいと思うが…

639 名前:デフォルトの名無しさん :03/11/10 06:44
>>630
それじゃCPU利用率100%に対しては解決になってない。

640 名前:デフォルトの名無しさん :03/11/10 06:44
リンク先間違えた
>>632

641 名前:デフォルトの名無しさん :03/11/10 09:35
>>640
timebeginperiod使った後でもSleep(1)とtimegettime使って
タイミング待ちすればCPU使用率落ちるだろ。

642 名前:575 :03/11/10 11:41
要するに空ループぶん廻して平気な面してるのが信じられんということ。
コンシューマーやDOSのように1アプリが全リソース占有してもいい思想ならともかく、
Winは他のタスクとの協調が前提。例えゲームであってもだ。

今は確かにタイムシェアリングで強制的にタスクスイッチするが、それでも無駄に
CPU使っていい訳じゃないぞ。特に最近のは熱が凄いからな。

Sleep入れりゃいいじゃんと言うが、Winアプリとしてはイベントドリブンで処理するのが
真っ当ってモンだろう。

アクション系でそんなややこしいことやってられるか、と言う意見はその通りだと思うが、
それでも常にループ廻す部分は必要最低限にすべき。
メッセージポンプごときでやるべきではないだろ。

万一、シングルスレッドでリアルタイムゲームやろうと思ってるんなら止めた方がいい。
勉強用ならば話は別だが、それで完成を目指すのは無謀。
絶対に完成しないとは言わないが、労力が見合わないことは断言出来る。

643 名前:デフォルトの名無しさん :03/11/10 12:06
つーか、1メッセージに1回ゲーム処理入ってるのが良くないんだな。
で、メッセージが溜まりまくって異様に遅くなる事があると。

>>642
どこらへんを縦読みすればいいんだ?

644 名前:デフォルトの名無しさん :03/11/10 12:23
>>641
Sleep()使った段階で精度が20msになるから
timeBeginPeriod()を使う意味がないような。
でも>>639-640はそもそも激しく勘違いしてたので
忘れてください

645 名前:デフォルトの名無しさん :03/11/10 12:29
>>644
SleepはtimeBeginPeriodが反映されるはず

646 名前:デフォルトの名無しさん :03/11/10 13:01
あ、なるほど。timeBeginPeriod()で精度を上げるって
話だったのか

647 名前:デフォルトの名無しさん :03/11/10 13:04
WaitMessage使いなよ

648 名前:デフォルトの名無しさん :03/11/10 15:31
>647
タイムアウトがないから、かえってこねーよ。
MsgWaitForMultipleObjects()だろ。

649 名前:デフォルトの名無しさん :03/11/10 22:02
>>642
で、結局「PeekMessageがイケナイ」という話しでは無かった、
というコトか?
>>575からはそうとは微塵も読みとれない訳だが

650 名前:デフォルトの名無しさん :03/11/10 22:03
>>649
粘着質けーよ。。。。。。。。。。。。。。。

651 名前:デフォルトの名無しさん :03/11/10 22:10
>>650
ププッ
逃げがそれかよ(w
もっと勉強してから大きな口叩く様にしましょうね

652 名前:デフォルトの名無しさん :03/11/10 22:15
>>651
逃げも何もスレ自体呼んでいませんが何かぁぁぁl

653 名前:デフォルトの名無しさん :03/11/10 22:16
スレを呼ぶの?

654 名前:デフォルトの名無しさん :03/11/10 22:17
呼ぶのです。

こーりんぐみすていく。

655 名前:デフォルトの名無しさん :03/11/10 23:10
邪道っぽいんですが、dll呼び出し元のアプリにある
メインウィンドウのハンドルを取得する方法ってありますか?
関数の引数に含める、と言う方法以外で。


656 名前:デフォルトの名無しさん :03/11/10 23:13
>>655
呼び出し元がトップレベルウィンドウを複数持っていたらどうする気ですか?

657 名前:デフォルトの名無しさん :03/11/10 23:31
トップレベルウィンドウを列挙してDLLを呼び出したプロセスのプロセスIDと
一致するものをリストアップ。

658 名前:デフォルトの名無しさん :03/11/11 00:39
UNICODEで作るとWin9x系で動かない以外になんか弊害あるまするか?

659 名前:デフォルトの名無しさん :03/11/11 00:41
>>642
普通ゲーム作るときはポーリングだと思うけどなぁ。
紙芝居はその限りじゃないが。
イベントドリブンで、まともなシューティングやら音ゲーなんかは作れるもんなのかい?

660 名前:デフォルトの名無しさん :03/11/11 00:57
イベントドリブンのガンシューなら知ってる。
勿論マルチスレッドだけど。

661 名前:デフォルトの名無しさん :03/11/11 01:14
A WTL Game Loop
http://www.codeproject.com/wtl/wtlgameloop.asp

WTLだけど出てるコードはほとんどWin32APIだからわかると思う。

662 名前:デフォルトの名無しさん :03/11/11 02:10
エミュレータとかソース出てる奴を色々見たけど、ポーリングが多いかも。

663 名前:デフォルトの名無しさん :03/11/11 12:11
>>658
動かないんだっけ?

664 名前:デフォルトの名無しさん :03/11/11 12:13
>>663
動くよ。
使えるAPIに制限はあるかもしれないけど。

Win9x系でUNICODEが駄目ってのは、MFC使った場合の話だと思う。

665 名前:デフォルトの名無しさん :03/11/11 14:24
本気でUNICODEで作るとRegisterClass(Ex)Wの時点で止まると思うが。

666 名前:デフォルトの名無しさん :03/11/11 15:05
使えるAPIに制限がある、これ。

667 名前:デフォルトの名無しさん :03/11/11 15:23
制限があるつか、そもそも文字列を引数に取るAPIのうちUNICODEが
通るAPIは数えるほどしかない。

668 名前:デフォルトの名無しさん :03/11/11 15:26
質問。
垂直スクロールバーを左側に付けるにはどうすればいい?

669 名前:デフォルトの名無しさん :03/11/11 15:32
「左に付ける」以外の答えが思い浮かばないわけだが...

670 名前:668 :03/11/11 15:37
解決しました。 スタイル弄ればできそうです。

671 名前:デフォルトの名無しさん :03/11/11 15:48
>>667
基本的には TextOutW とかごく少数の API しかサポートしていないんだけど、
最近の Platform SDK 入れてるんなら、"Microsoft Layer for Unicode"で大半は吸収してくれる。


672 名前:デフォルトの名無しさん :03/11/11 19:31
>>658

皆Unicodeで作る

Windows 95/98/98SE/Me等で動かない

Windows 2000/XP/LongHorn売れる

Microsoft儲かる

糞OS(Windows 95/98/98SE/Me等)無くなる

Windows NT系と98系の違いを初心者に偉そうに説明できなくなる

(゚д゚)マズー


673 名前:デフォルトの名無しさん :03/11/11 19:36
UNICODEアプリは作ってないけど、

> 糞OS(Windows 95/98/98SE/Me等)無くなる

これは大変有り難いぞ。
ぜひみんなでUNICODEアプリ作ってください。

674 名前:デフォルトの名無しさん :03/11/11 19:45
それが理想だけど現実はねぇ・・・。
皆Unicodeで作るというよりは、キラーアプリケーションがUnicodeで作られた方がエンドユーザは動くかも。
例えばny(略

675 名前:デフォルトの名無しさん :03/11/11 19:53
まあ何がきっかけになるかはわからんから、とにかくUNICODEで作ってください。
というか、作れ。今すぐだ。3秒以内に反論が無い場合は同意した物とみなす。

676 名前:デフォルトの名無しさん :03/11/11 20:03
つかWindows 95/98/98SE/Me等をサポートしないものを作ればいいなら無駄に半透明機能を付けるとか

677 名前:デフォルトの名無しさん :03/11/11 21:09
>>676
さらにウィンドウ回転機能を無駄につけて2k,XPなども切り捨てるとか

678 名前:デフォルトの名無しさん :03/11/11 21:30
UNICODEに無い漢字とかなかったっけ?
白と臼が似てるから一緒にされた、というような話を昔聞いたことあるんだが。

679 名前:デフォルトの名無しさん :03/11/11 21:45
あああ

680 名前:デフォルトの名無しさん :03/11/11 23:26
もんがまえにうし?

681 名前:デフォルトの名無しさん :03/11/12 00:43
>>676-677
未だに GetDiskFreeSpaceEx を GetProcAddress して呼んでるし

682 名前:デフォルトの名無しさん :03/11/12 00:46
でも実際NT系ユーザと9x系ユーザの割合ってどれくらいなんだろう?
XPユーザが増えてきたなんてニュースを見た気がするけど。

683 名前:デフォルトの名無しさん :03/11/12 01:55
パソ音痴のうちの姉はME、実家の老母は98使ってますんで
まだまだかと。

684 名前:デフォルトの名無しさん :03/11/12 02:01
>>681
うちもそう。開発者以外から見ると9x系ユーザを捨てるメリットが無いんだなこれが。

685 名前:デフォルトの名無しさん :03/11/12 02:14
うちのアクセス解析だと50%以上がXPだよ
2kが25%で、98は20%

686 名前:デフォルトの名無しさん :03/11/12 03:45
20は結構でかいな。

687 名前:デフォルトの名無しさん :03/11/12 03:51
>>681 Win95OSR1とは決別しても罰はあたらない気もする

688 名前:デフォルトの名無しさん :03/11/12 10:53
>>684
そうだなー。
そして開発者にとっても、安定する&ちっとだけ速い以外のメリットはあんまない。
つまりユーザーを説得するだけの材料は無いんだなこれが。

689 名前:デフォルトの名無しさん :03/11/12 11:32
>>688

>安定する&ちっとだけ速い以外のメリットはあんまない。

実行ファイルサイズ5GBのソフトか、
起動時に5GBのファイル必要なプログラム作れば・・・

いや、テキストボックスを全てUnicodeにして、
完全Unicode対応を歌い、新製品として販売すれば・・・

690 名前:デフォルトの名無しさん :03/11/12 11:47
ASCII・UNICODE両方でビルドできるよう意識して書いてる?
_Tマクロとか使ったりして

691 名前:デフォルトの名無しさん :03/11/12 12:20
>>690
一応はしている。






使う日が来るとは思ってないがな。


692 名前:デフォルトの名無しさん :03/11/12 12:32
てんねっとふれーむわーくに移行すれば
自動的にUnicodeになるがこのスレでは関係のない話でしたね

693 名前:デフォルトの名無しさん :03/11/12 12:35
>>678
従来文字コードにある文字は互換性のためすべて分離されてる
だから新しく文字が使えるようになることはあっても
今まで使えていた文字が使えなくなることはない

694 名前:デフォルトの名無しさん :03/11/12 14:36
>>690
してる。でもついGetProcAddressにも_T("")を渡しちゃったり。

695 名前:デフォルトの名無しさん :03/11/12 14:50
>>694
実際に -D_UNICODE を付けてコンパイルするまで
エラーにならないのが厄介だな

696 名前:デフォルトの名無しさん :03/11/12 15:13
なんか、楽したいから無駄に必要スペック上げてる、
って陰口を実証しそうな流れだなぁ……。

697 名前:デフォルトの名無しさん :03/11/12 15:40
おまえらNT3.51を見捨てるな!

698 名前:デフォルトの名無しさん :03/11/12 16:35
>>696
富豪的プログラミングですよ

699 名前:デフォルトの名無しさん :03/11/12 17:08
ハード・OSに合わせてソフトを開発するのは愚の骨頂。
使いたいソフトのためにハード・OSを揃えるのが賢人。


700 名前:デフォルトの名無しさん :03/11/12 17:19
>>696
事実ですが伺か?

701 名前:デフォルトの名無しさん :03/11/12 17:30
>>699
それ開発側とエンドユーザ側がごっちゃになってないか

702 名前:デフォルトの名無しさん :03/11/12 17:37
>>693
従来のUNICODEバージョンに存在する文字は〜、な。
文字セットはかなりブラッシュアップされてるよ。


703 名前:デフォルトの名無しさん :03/11/12 18:25
>>702
ソースセパレーションのことを言ったつもりだったんだが。
とりあえず
> 白と臼が似てるから一緒にされた
ってことは絶対無い(そもそも一緒にされてたらこの書き込み
自体できないし)

704 名前:デフォルトの名無しさん :03/11/12 18:32
>>703
個別コード内での文字統合は起こってないけど、
漢字圏の文字はまとめられてしまっている。
日本と中国などで字体が違う似た文字は
同一のテキストでは混在できなくなっているよ

705 名前:デフォルトの名無しさん :03/11/12 18:34
UNICODEって何?

706 名前:デフォルトの名無しさん :03/11/12 18:58
>>704
ここはAPIスレだし話の流れから
シフトJISアプリからの移行を前提に書きますた。
その場合もともと日中の混在なんてできないでしょ。
文字コード周りだけ独自にやるならシフトJISだろうが
Unicodeだろうが関係ないし

707 名前:デフォルトの名無しさん :03/11/12 19:00
>>704は言語タグを使えばできないことも無いけど文字コードとしては
致命的なまでに複雑だな。

>>705
いろんな文字コードをunify(統合、まとめ)された文字コード
universalでもunique(character)でもなんでもない

708 名前:デフォルトの名無しさん :03/11/12 19:07
日本語のアプリケーションを開発している限り
今まで使えた日本語の文字が使えなくなることはないし
新たに補助漢字も使えるようになるけど
Unicodeに移行しただけで自動的に多言語対応になるほど
世の中甘くないぞってことで

709 名前:デフォルトの名無しさん :03/11/12 19:13
半角全角のマッピング問題でのコード変化は?


710 名前:デフォルトの名無しさん :03/11/12 19:17
>>709
Windowsの世界に閉じてる限り問題ないでしょ。
しつこいけどここはAPIスレなので。
むしろ「内部処理用の」コードを「情報交換用の」規格に
合わないとかいう理由でコロコロ変えられたほうが困る。
もちろん内部処理用のコードをそのまま外部に
垂れ流す設計は逝ってよしだが

711 名前:デフォルトの名無しさん :03/11/12 19:36
>>699
ハード・ソフト両面からの努力でコストパフォーマンスを両立させるのが技術者
自分のパートだけ楽したいというクズPG →早く今すぐ氏ね

712 名前:デフォルトの名無しさん :03/11/12 20:08
unicodeなんて日本語でxmlでしか使わんから
日経ソフトウェアの記事を鵜呑みにしているわけだが、
文字コードの互換性を考えているから、
白と臼みたいなものを一緒にしてしまうのはありえないんじゃ?
ただ、意味でまとめられているみたいだから、
自体の違う日本と中国の漢字では混在ができないんだよね?

713 名前:デフォルトの名無しさん :03/11/12 20:14
意味でまとめているのではなく、音と字形でまとめているから
文字の成り立ち背景とかは無視されまくりでどうしようもない。

714 名前:デフォルトの名無しさん :03/11/12 20:28
つーか、今のunicodeの割り当てられ方が気に入らないなら、
日本語は後ろの方のコードページに引っ越して再定義すればいいと思うのだが。
たくさん空いているし。

715 名前:デフォルトの名無しさん :03/11/12 20:29
unicode ウニコード
  @ 漢字なんて使ったこともないアメ公が
  英語版ソフトを日本人や中国人にも売れれば儲かるな
  みたいな安易な発想のやっつけ仕事で作った文字コード
  A 使うと頭がウニになる文字コード
新キラッと解決国語辞典 第45版より

716 名前:デフォルトの名無しさん :03/11/12 20:36
>>713
嘘はやめれ
> Ideographs that are unrelated in historical derivation
> (non-cognate characters) have not been unified.
「土」と「士」のようなものは統合しないと
例まで挙げて明確に書かれてるが?

717 名前:デフォルトの名無しさん :03/11/12 20:40
CJK部分を誰が作ったのかも知らない奴が知ったかしてるし
まあやっつけ仕事なのは事実だが
期間内に作らなきゃ本当にアメリカの作った案で
通されてしまいかねなかったんだから仕方ない

718 名前:デフォルトの名無しさん :03/11/12 20:53
以上のすべての文字コード問題、C#では解決済みでしょうか。


719 名前:デフォルトの名無しさん :03/11/12 20:54
C#では強制的にうにこーどになるので
避けたくても避けられません。

720 名前:デフォルトの名無しさん :03/11/12 21:08
>719
了解。

721 名前:デフォルトの名無しさん :03/11/12 21:41
Unicodeの包摂基準が曖昧なのがむかつく

722 名前:デフォルトの名無しさん :03/11/12 22:00
GetClassLong(hWnd, GCL_HICON)
でウィンドウハンドルからアイコンのハンドルを取得しているのだけど
「Windows Media Player」に対しては必ず失敗してしまいます。
解決策を教えてください。


723 名前:デフォルトの名無しさん :03/11/12 22:02
結局、\はUnicodeで¥になるのか、バックスラッシュになるのか決着ついたの?
コードはバックスラッシュに変換して、あとはフォントで\と表示しましょうとか?

724 名前:デフォルトの名無しさん :03/11/12 22:36
つくわけない

725 名前:デフォルトの名無しさん :03/11/12 23:04
APIを勉強することは、業務系SE、PGにとって役に立つことですか?

726 名前:デフォルトの名無しさん :03/11/12 23:05
>>725
範囲が広すぎて答えようがない
もっと絞れ

727 名前:デフォルトの名無しさん :03/11/12 23:07
>>723
MultiByteToWideCharでは0x5CはU+005Cに変換される。
と答えればこのスレ的にはいいのか?

728 名前:デフォルトの名無しさん :03/11/12 23:11
>>726
すいません。
Win32APIを勉強することは、銀行や証券会社等のシステム開発をするSEやPGにとって役に立ちますか?

729 名前:デフォルトの名無しさん :03/11/12 23:19
>>728
ED

730 名前:デフォルトの名無しさん :03/11/13 00:31
今の多くの業務系(∋銀行証券会社)はDBを使う必然性から
APIレベルのプログラミングよりもSQLやJavaの知識の方が有用。
但し、↑の世界はPGは使い捨て、SEでさえ使い潰すのが当たり前の状況。
なんせ、人件費の安い中国に出した方が安く仕上がるんだからね。
なので、業務系に拘るなら業務知識を身に付けて上流工程に食い込むか
使い捨てられるままに任せるくらいしか生き残る道は無いんで無いかい?
ま、728が今更API覚えて他の世界に行かれるかどうかは知らんが。

731 名前:デフォルトの名無しさん :03/11/13 00:38
API使うだけの奴は結局OSの中で生かされているだけ。
OS変わればまったく使えなくなるし覚えなおしだし、
潰しが利かない。

732 名前:デフォルトの名無しさん :03/11/13 00:47
>>731
所詮はノイマン型コンピュータ、OSが変わってもAPIの考え方なんて
そんなに変らないので応用は利きます。

ま、APIの機能と言うか使い方を表面的にしか理解していない
香具師は潰しは利かないけど。

733 名前:280 :03/11/13 00:56
>>730-732
ありがとうございます。
でも>>730さんのレスを見てとっても憂鬱になりました。とりあえずjavaやります。

734 名前:×280 ○728 :03/11/13 00:57
 

735 名前:デフォルトの名無しさん :03/11/13 01:04
>>730
言語と文化の壁があって中々巧くは逝かないのよ。
ソフトウエアは工業製品とは違うからねぇ〜。

736 名前:デフォルトの名無しさん :03/11/13 01:13
日本人同士で緊密なコミュニケーションを持っている場合さえ
委託開発にはトラブルがつきものなのに、中国に委託してそう簡単に
うまくいくはずなかろう。
ま、中身ボロボロでもシステムを作ったフリができりゃいいだけ
なら別だけど。

737 名前:デフォルトの名無しさん :03/11/13 15:14
>>685のサイトがXPファンクラブとかだったら、面白いな

738 名前:デフォルトの名無しさん :03/11/13 15:43
俺のサイトはWin98が95%、他は誤差だたよ・・・。
全部アタック(;_;)

739 名前:デフォルトの名無しさん :03/11/13 15:57
やっぱ仕事ならクライアント、趣味なら自作ソフトのユーザーの統計取った方が確実だな。
雑誌やサイトの調査って所詮その雑誌やサイトを読む層に偏るし。

740 名前:デフォルトの名無しさん :03/11/13 19:17
品質が悪くても安い方がいい、という企業はたくさんあるんじゃないか?
まあ、それで思い知ることになるだろうが。

741 名前:デフォルトの名無しさん :03/11/13 20:52
>>740
品質の悪さを思い知ったことのないヒヨッ子はおねんねの時間だよ

742 名前:デフォルトの名無しさん :03/11/13 22:35
チルトホイールや第4第5ボタンつきマウスのメッセージ拾う方法教えてくらはい。

743 名前:デフォルトの名無しさん :03/11/13 22:44
ボタンの方はWM_XBUTTON〜だ罠

744 名前:デフォルトの名無しさん :03/11/14 09:43
>>730 >>735 >>736
日経コンピュータ最新刊に野村総研の中国オフショアの成功事例が載ってたね。

#同じ号のニュース欄にはNECの中国オフショアの失敗で損失がでた話も。

745 名前:デフォルトの名無しさん :03/11/14 18:02
WindowsXPで標準スクリーンセーバ(WindowsScreenSaverClass)が
表示されている状態で、消去する方法を教えてください。
OpenDesktop、FindWindowでスクリーンセーバが
起動しているかどうか判定できませんでした。


746 名前:デフォルトの名無しさん :03/11/14 21:24
EnumProcessesみたいなのもアリかもしれんが、
最初からスクリーンセーバーの起動を禁止させた方が確実じゃない?

747 名前:デフォルトの名無しさん :03/11/14 21:33
ちょっと質問なんだけど。
ただのコンソールアプリからAfxBeginThreadを
使用したいんだけど、どのライブラリとヘッダが必要になりますか。
言語はC言語です。

748 名前:デフォルトの名無しさん :03/11/14 21:39
>>747
使えねーよ

749 名前:デフォルトの名無しさん :03/11/14 21:53
+、-のボタン付きのツリービューで、項目のテキストをダブルクリックしても
子項目が出たり入ったりしないようにするにはどうすればいいでしょうか?
+-ボタンだけで子項目の表示を操作するようにしたいです。

750 名前:デフォルトの名無しさん :03/11/14 21:58
>>747
MFC だから afx.h じゃない?
プロジェクトウィザードで適当に MFC アリのコンソールAPでも作って設定見てみるのが
ラクでは。


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