Win32API 質問箱 Build8
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGWin32 Application *Programmer* Interface
についての質問はこちらへどうぞ。
やさしいお兄さんたちが答えてくれるかも。
でも、質問する前に検索ぐらいしる!!
過去スレ・参考 >>2-5
0002デフォルトの名無しさん
NGNGWin32API 質問箱 Build7
http://pc3.2ch.net/test/read.cgi/tech/1036654893/
Win32API 質問箱 Build6
http://pc3.2ch.net/test/read.cgi/tech/1032548635/
Win32API 質問箱 Build5
http://pc3.2ch.net/test/read.cgi/tech/1028580373/
Win32API 質問箱 Build4
http://pc3.2ch.net/test/read.cgi/tech/1023361418/
Win32API 質問箱 Build3
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API【2】
http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Win32API 質問箱
http://pc.2ch.net/tech/kako/991/991576947.html
参考
MSDN Online
http://www.microsoft.com/japan/msdn/default.asp
猫でもわかるプログラミング
ttp://www.kumei.ne.jp/c_lang/index.html
0004かおりん祭 ◇VqKAORinK6
NGNG从o゚ー゚从< 新スレおめでとうございま−す♪
= ⊂ ) \_______
= (__/"(__) トテテテ
0005デフォルトの名無しさん
NGNG乙CurrySummer(w
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG右クリックしたときと左クリックしたときで挙動が違うよね。
あれをやりたいんだけど
TrackPopupMenuで
TPM_LEFTBUTTON | TPM_RIGHTBUTTON
を指定したときに
親ウィンドウにWM_COMMANDが送られてくるんだけど、
これが右クリックか左クリックか分からない。
どうしたらいい?
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNGここだけの話、奴らはメニューのフリをした独自ウィンドウなんだ。
ナイショダヨ
0010デフォルトの名無しさん
NGNGえっ!自分で作れってこと?
サンプルはどっかにありませんか?
0011デフォルトの名無しさん
NGNGWM_COMMANDとWM_CONTEXTMENUを処理してやれば?
0012デフォルトの名無しさん
NGNG> メニューのフリをした独自ウィンドウ
なんだが、不完全に似たことをするなら
> TPM_LEFTBUTTON | TPM_RIGHTBUTTON
から TPM_RIGHTBUTTON を外して
かわりに WM_MENURBUTTONUP を処理する。
0013デフォルトの名無しさん
NGNG0014タスクバーのリサイズ方法
NGNGMoveWindowでリサイズしようとしても出来ませんでした。
どなたかご教授いただけないでしょうか。
0015タスクバーのリサイズ方法
NGNGタスクバーのスタートボタンなどはMoveWindowsでウィンドウサイズを
変更できるんです。
なぜタスクバーだけうまくいかないんでしょうか・・・。
0016デフォルトの名無しさん
NGNGソースあげてみ
ハンドル取得するところと、ウィンドウサイズ変えるところ
0017デフォルトの名無しさん
NGNGわざわざ・・・
0018タスクバーのリサイズ方法
NGNGMoveWindow(hTaskbar, x, y, cx, cy, TRUE);
携帯からとは・・・。
筋金入りの2ちゃんねらーですな。
よろしくお願いします。
0019gn355my0
NGNG0020タスクバーのリサイズ方法
NGNGMoveWindowでリサイズしようとしても出来ませんでした。
タスクバーのスタートボタンなどはMoveWindowsでウィンドウサイズを
変更できるんです。
なぜタスクバーだけうまくいかないんでしょうか・・・。
どなたかご教授いただけないでしょうか。
HWND hTaskbar = FindWindowEx(NULL, NULL, "Shell_TrayWnd", "");
MoveWindow(hTaskbar, x, y, cx, cy, TRUE);
0021デフォルトの名無しさん
NGNGウィンドウのサイズの変更はウィンドウ側で制御できるんだから
タスクバーがそのようにしているんでないの?
002220
NGNGそれは知りませんでした。
つまり無理だということですか・・・。
もうちょっと足掻いて駄目だったら諦めます・・・。
0023名無し@沢村
NGNG無理じゃないよ。実際windowsのタスクバーはリサイズできるわけだし…。
もっと研究してごらん?
0024デフォルトの名無しさん
NGNGSetWindowPos(hTaskbar,NULL,100,100,500,500,SWP_NOZORDER|SWP_NOSENDCHANGING);
なんでこんな事をしたいのかはしらないが
0025デフォルトの名無しさん
NGNGプログラミングしたこともないのにあれこれ突っ込むヒキコモリです。
0026デフォルトの名無しさん
NGNG一応、猫で分かる〜のサイトは見たのですが、あれと違うアプローチの仕方ってないでしょうか?
0027デフォルトの名無しさん
NGNGC+APIでだったら地道に実装するしかないかと。
というか質問の意味を質問させて欲しい。
メニューをフローティングツールバーのように移動、というのを
もうすこし具体的に頼みます
002820
NGNGおおおっ!!
ありがとうございます。早速試させて頂きます。
実は横長画面のノートでタスクバーを横においてるんですが
なぜかシャットダウンのたびにタスクバーの幅が短くなってしまって
対策プログラムを作ろうと思ってたんです。
002926
NGNGメニューバーを、レバーコントロールみたいに、ドラッグしながら移動可能にしたいんですよ。
メニューバーってのは、文字だけの「ファイル(F) 編集(E)・・・」とかいうあれです。
0030デフォルトの名無しさん
NGNG環境は?C+APIですか?なら自分で実装するしかないです。
猫、のアプローチってどんな方法?
003126
NGNGC+Win32APIです。
猫でも分かる〜はhttp://www.kumei.ne.jp/c_lang/sdk4/sdk_311.htm
ここから説明されてるんですけど、かなり実装が面倒っぽいので
もっとスマートな方法があるんじゃないかと思って。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGいや〜面倒だと思うよ。MFCを使えばある程度簡単に実装できるだろうと思うけれど。
俺の直感では、やはりRebarを使ってなんとかやろうと思うだろうけど、
それだと猫氏のページと同じ方法だし、もしかしたら1から作る方が楽かもしれない。
シェブロンを出さなくていい&フローティング無しならば、wtlを使う方法があるが・・・
これは激簡単だけれど、ATL(C++)のかなりの理解が必要となるから、自信があるなら紹介します。
0034デフォルトの名無しさん
NGNG場合によりけりです。俺は何も考えずに表示するだけでよければ迷わずMessageBoxです。
0035名無し@沢村
NGNG俺はMessageBoxをデバッグに使ってるね。
自作のDebug関数の中に入れて、どんな型の引数でも表示できるようにオーバーロードしてるよ。
003626
NGNGやっぱり面倒ですか。
IEとかその他のアプリでも当たり前のように使われてるので
そういうAPIがあると期待してたのですが。
ATLやWTLは、今回は使いたくないので、なんとかAPIでやってみます。
ありがとうございました。
0038デフォルトの名無しさん
NGNGちなみにRebarを使う方法はIEの存在が前提になると思います。多分。
0039デフォルトの名無しさん
NGNGかまうなって、喜ぶから。
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGVirtualLockを使えばできます。これ以上の説明も必要?
0042デフォルトの名無しさん
NGNGできればもうちょっと説明していただけるとうれしいです。
0043ルート大芝
NGNGプログラムを作りたいんだけど、MSDNのFindFirstFileの説明で
ルートディレクトリ内のファイルを検索するには、この関数で "C:\*"
のようなファイル名を指定し、引き続き GetFileAttributes 関数を
使ってルートディレクトリ内を検索してください。
って書いてあるけど、FindFirstFile("C:\\*", &f);は
FindFirstFileが失敗します。どうしたらいいの?
0044ルート大芝
NGNG0045デフォルトの名無しさん
NGNG説明はいいんだけれど、解らないことを具体的に聞いてね。
解りづらい部分だと思うから、解らないところを絞ってほしい。
0046デフォルトの名無しさん
NGNG仕方すらまだわかってません。
で、ちょっとさがしたらVirtualAllocを使ってVirtualLockでスワップ不可にして
物理メモリに確保でよろしいのでしょうか?
0047デフォルトの名無しさん
NGNG特に難しい話ではないです。ロックしたいアドレスを指定すればいいだけ。
sample:
#include <Windows.h>
#define BUF 300
int main(void){char *p=new char[BUF];
BOOL b;
b=VirtualLock(p,BUF);
if(b==0) MessageBox(0,"","失敗",0);
else VirtualUnlock(p,BUF);
delete p;return 0;}
ここで例えば
b=VirtualLock(p,BUF*1000000);
とやると当然失敗する。
GetLastErrorはその時
1453"クォータが不足しているため、要求されたサービスを完了できません。"
になる。
0048デフォルトの名無しさん
NGNG丁寧にサンプルまでつけていただきどうもです。
ここまでしていただければよくわかります。
フリーな物理メモリは取れるようですから、
それを見た上で適量を確保すればいいっぽいですね。
OS入れなおしたばっかなんで今はできないですが、晩にでもやって報告に来ます。
ファイル解析で時間かかるんで、物理メモリのみの確保だとかなり速くなるんで楽しみです。
0049デフォルトの名無しさん
NGNGどうしたらよいのでしょうか。
何かメッセージが飛んでくるとかいうのをどこかで読んだ気がするんですが。
0050デフォルトの名無しさん
NGNG俺が知っているのはレジストリのNoDriveTypeAutoRunだけだが…
そんなメッセージがあるのかな?
0051デフォルトの名無しさん
NGNG捕まえるとしたら
WM_DEVICECHANGE
DBT_DEVICEARRIVAL
あたりかな?
005249
NGNG0053質問
NGNG自分で勉強をしようと思いますので、マイクロソフトのMSDN内に、LUNAインターフェースに関する技術文書はありますか?
0054デフォルトの名無しさん
NGNG0055質問
NGNGそうか・・・。
あまり詳しい人はいないのか。
0056デフォルトの名無しさん
NGNG文献探しも勉強のウチ・・・
0057デフォルトの名無しさん
NGNGLUNAインターフェースとはなんぞや?
0058デフォルトの名無しさん
NGNGWM_DEVICECHANGEを拾えばよい。AUTORUNのキャンセルも出来る。
Autorunを必ず実行させるのは難しい。けど本質ではないので問題詳細は略。
詳細はここ(英文)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_extending/autorun/autoplay_reg.asp
0059デフォルトの名無しさん
NGNG色の平均化とかSDKには書いていたけど、どんなふうに平均化しているの?
ペゾルドの本でもチラッとしか書いてなかったよ。
0060デフォルトの名無しさん
NGNG激しく意味不明
0061デフォルトの名無しさん
NGNGちったぁオツム使えや。
0062デフォルトの名無しさん
NGNGいや、だからさぁ、これを使った後に、StretchBltを使って拡大縮小する場合、
ビットマップが比較的に汚くならないでしょ?
このHALFTONEってどういうことをやっているのかなって思ったわけね。
だから、SetStretchBltModeでHALFTONEを指定して、StretchBltした
場合の内部の処理を知りたいんでした。
0063デフォルトの名無しさん
NGNG詳しく説明してくれてthx。最初HALHTONEで検索してて意味不明だった(恥
世の中に、それに関してどんな処理があるのかすら解らないです。スマソ。
ここで解決しなければ、ゲーム制作技術板に行くと詳しい人がいるかもしれません。
0064デフォルトの名無しさん
NGNG↑ペゾルドを読んだことがこいつの自慢らしい。
0065デフォルトの名無しさん
NGNGその程度は調べた、という風に解釈してやろうじゃないか。煽りは別板で
0066デフォルトの名無しさん
NGNGいまだとテクスチャの補間と一緒にバイリニアとかトライリニアとかでやってんじゃない?
0067デフォルトの名無しさん
NGNGそういえば、GetDeviceCapsにRC_STRETCHBLTという項目があるしね。
0068質問
NGNGhttp://www.kumei.ne.jp/c_lang/
で、今困っていまして・・・。
猫さんのHPの一部を抜粋↓
「dllのバージョンは5.81以降が必要です。
IE5.0以降がインストールされていれば大丈夫です。
また、生のVC++6.0ではコンパイルできません。
SPをインストールしてもヘッダファイルやライブラリは更新されないので、マイクロソフトのページなどからプラットフォームSDKを更新する必要があります。」
そのプラットフォームSDKを探しているのですが、マイクロソフトのHP内で見つかりません。
MSDNの中とかも探しているんですが・・。
どこにプラットフォームSDKがあるかご存知の方はいませんか?
このままではプログラム開発が進まなくて困ってます。
0070デフォルトの名無しさん
NGNG既出だったらごめん。(というか、多分既出)
0071デフォルトの名無しさん
NGNG0072質問
NGNGありました。CoreSDKをダウンロードしてますが・・・
・・・これを見て、ウツになりました。
「Download size: 176.9 MB」
0073デフォルトの名無しさん
NGNGMSDNに付いてくるからなぁ。
MSに連絡すると、多分郵便で送って貰えるとは思うけど
0074デフォルトの名無しさん
NGNG1を読め。猫に行け。
007559
NGNG>>66の「バイリニアとかトライリニア」を参考にして考えてみます。
0076デフォルトの名無しさん
NGNGん。keybd_event関数は使えるのですが、マイクロソフトを閲覧するとSendinput推奨とあった
ものですから。よいものがありましたらお示しください。
0077デフォルトの名無しさん
NGNGこれって、一連の入力を記録する部分は自分で作らなきゃ駄目ですよね?>どなたか詳しい人
>>76
他のアプリにキー送信をしたいだけなら、sendMessageでWM_KEYDOWN等を送ればいいのでは?
SendInputでは特定のアプリに送るのには甚だしく適していません。any questions?
007876
NGNGマイナーなんですか? 検索してもなかなか出てこない理由が分かりました。
keybd_eventを使っていたのはALT+Ctrl+○○もできるためだったのですが、
マイクロソフトのサイトで調べているとSendinput推奨とあったものですから。
sendinputだとキー入力の割り込みが発生しない等のメリットがあるようですね。
引き続きよろしくお願いします。
0079デフォルトの名無しさん
NGNG必須ではない。
0080質問
NGNGhttp://www.kumei.ne.jp/c_lang/
開発環境は、WinXP VisualC++6です。
で、話は変わりまして、rebarにメニューをつけようとしていますが、
コンパイルエラーが出ます。
↓
error C2065: 'I_IMAGENONE' : 定義されていない識別子です。
error C2065: 'BTNS_AUTOSIZE' : 定義されていない識別子です。
この問題は猫さんのHPによると、プラットフォームSDKをインストールすれば、解決すると書いてあるのですが、インストールしてもコンパイルエラーがでます。
やはり、VisualC++6では限界があるのでしょうか?VisualC#を買ったほうがいいのでしょうか?
0081デフォルトの名無しさん
NGNG#if (_WIN32_IE >= 0x0400)
#define TBSTYLE_AUTOSIZE 0x0010
...
#if (_WIN32_IE >= 0x0500)
#define BTNS_AUTOSIZE TBSTYLE_AUTOSIZE
...
#if (_WIN32_IE >= 0x0501)
#define I_IMAGENONE (-2)
#endif
0083質問
NGNGなるほど。私のVisualC++6に入っているcommctrl.hには、その2つ「BTNS_AUTOSIZE・I_IMAGENONE 」がないですね。
新しいcommctrl.hを入れないと駄目と言うことですね。
探してみます。
(てか、猫さんのHPの言うとおり、SDKをインストールしたんだけどなぁ・・・)
0084質問
NGNGC++.NETと言う商品があったのですね。
てか、C/C++/C#が同梱されているかと思って。
0085デフォルトの名無しさん
NGNGComctl32.dllが5.81以降なら
#define BTNS_AUTOSIZE 0x0010
#define I_IMAGENONE (-2)
を自分で定義する。
ソースの頭の方にでも書いておく。
0086質問
NGNGE:\Microsoft SDK\include\CommCtrl.h
自分でコピペをしないと駄目なんですねw
自動的に更新してくれるのかと思ってまして・・・。
初心者ですいませんでした。
0087質問
NGNGVC++6の「E:\Microsoft Visual Studio\VC98\Include」フォルダの内容を、新しい2002年バージョンに変えたところ、
見事コンパイルができました。
これで、XPライクなインターフェース開発が進みます。
ありがとうございました。みなさま。
0088デフォルトの名無しさん
NGNGインクルードファイルの参照先を変更and/or追加するのが、普通だと思われ。
0089デフォルトの名無しさん
NGNG0090質問
NGNGたぶん、VisualStudioのインストール先ディスクパスが「C:\Program Files」でないと駄目なのでは?
私は、Eドライブに重要なアプリを入れているので。
0091デフォルトの名無しさん
NGNGC ドライブに空き容量が少ないとか、整理のためとか、そういう理由ならわかる
けど、「重要なアプリを」 という分け方に意味はあるのか?
いずれにせよ OS があぼーんしたら再インストールする羽目になるのに。
0092デフォルトの名無しさん
NGNGSendMessage(GetDesktopWindow( ), WM_SYSCOMMAND, SC_SCREENSAVE, 0);
ただ、これですと、2000/NTでパスワードによる保護にチェックされていても
パスワード入力のダイアログが表示されず、そのまま操作可能な状態に戻ってしまいます。
何か他に良い方法はないでしょうか?
0093デフォルトの名無しさん
NGNG自動的じゃなくてスタートメニューに追加される
Register PSDK Directories with Visual Studio
を実行したらだった。たぶん。
0094デフォルトの名無しさん
NGNG#include <process.h>して、プロジェクトの設定でも
マルチスレッドにしたのですが
error LNK2001: 外部シンボル "_ThreadAccept" は未解決です
fatal error LNK1120: 外部参照 1 が未解決です。
とエラーが出てしまいます。
何か解決法はありませんか?
0095デフォルトの名無しさん
NGNGプロジェクトの設定が間違っているんだろう。
DebugとRelease両方とも変えた?
0096デフォルトの名無しさん
NGNG激しく矛盾の悪寒・・・
0097質問
NGNG本屋にも行ったのですが、まったく関連する本がないですね。
REBARで質問ですが、たとえば、IEを開くとウィンドウの上部にREBARが当然表示されてますよね。
そのREBARというのは、はじめからその配置と言うのが固定化されてますが、
REBARの位置情報を設定するにはどうすればいいのでしょうか?
私も同じくREBARを配置してみましたが、ばらばらに配置されるだけで、順番良く配置されません。
できれば、位置情報の設定、そしてウィンドウを閉じる前にそのREBARの位置情報を保存し、再びウィンドウを開くときには、その保存された位置情報を元に、再現するアプリケーションにしたいです。
どうすればいいのでしょうか?
0098デフォルトの名無しさん
NGNGWindowsXPとか、タスクトレイに表示されたりするから(ハードウェアの取り外しとかのメッセージ)
できるとは思うのですが解りません。
0099デフォルトの名無しさん
NGNG普通に出来ると思ったんだが。
>>98
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp
010098
NGNGみたけどどれだかわかんないです。。
TTM_TRACKACTIVATEあたり???
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGあなたのような人でも幸せになる権利を持っています。
来年があなたにとってよい年でありますように。
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNGあのページを読んで解らないならもうどうしようもない。諦めろ
010698
NGNGTooltipじゃなくて、個々のオブジェクトにTTM_TRACKACTIVATEを送ってしまっていました。
ところが表示されたのはよいのですが自動的に消えてくれないのです。
表示されっぱなし。
自分で消す処理を入れるしかないのでしょうか?
0107デフォルトの名無しさん
NGNGhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
0108デフォルトの名無しさん
NGNGクライアント領域があるサイズになるように、
設定したいんだがどうすればいい?
GetClientRectはあるが、SetClientRectはない
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG(GetWindowRect - GetClientRect) + (設定したいRect)
で逝ける。
0111bloom
NGNGhttp://www.agemasukudasai.com/bloom/
0112gn355my0
NGNG0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNGそれは110の方法を使っても駄目なんじゃないかな?
まず(GetWindowRect - GetClientRect + 設定したいRect)で設定して、
そこで改めてGetClientRectをして、それが設定したいRectと違った場合は
その差分(必ず縦方向になるはず)を改めてSetWindowRectする、といいはず。
というか110の方法は思いつかなかった。いつもGetSystemMetrics使ってたよ。thx>110
0115デフォルトの名無しさん
NGNG議論してたような
0116デフォルトの名無しさん
NGNGGetSystemMetricsと、GetWindowRect-GetClientRectの話?
0117斉藤
NGNGrebarを作る際の、並び方を変えたいときはどうすればいいのですか?
作るrebarを一列ごとに表示させる方法。
デフォルトでは、一列に、複数のrebarが表示される形になります。
0118デフォルトの名無しさん
NGNG書いたソースを簡単にアプしてくれない?
0119斉藤
NGNG一つ目rebarの作成。
hWndRebar = CreateWindowEx(
0L,
REBARCLASSNAME,
NULL,
WS_VISIBLE | WS_BORDER | WS_CHILD | WS_CLIPCHILDREN |
WS_CLIPSIBLINGS | CCS_NODIVIDER | CCS_NOPARENTALIGN |
RBS_VARHEIGHT | RBS_BANDBORDERS,
0, 0, r.right, r.bottom,
hWndParent,
(HMENU)ID_REBAR,
hInst,
NULL );
if (!hWndRebar)
return 0;
rbi.cbSize = sizeof(rbi);
rbi.fMask = RBIM_IMAGELIST;
rbi.himl = hIml;
SendMessage(hWndRebar, RB_SETBARINFO, 0L, (LPARAM)&rbi);
0120斉藤
NGNGhWndCombo = CreateWindowEx (
0,
"ComboBoxEx32",
TEXT(""),
WS_VISIBLE | WS_CHILD | WS_TABSTOP |
WS_VSCROLL | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CCS_NORESIZE |
CBS_AUTOHSCROLL | CBS_DROPDOWNLIST,
0,0,
MIN_COMBOCX,
MIN_COMBOCY * NUM_LINKS,
hWndParent,
(HMENU)ID_COMBO,
hInst,
NULL );
SendMessage( hWndCombo, CBEM_SETIMAGELIST, 0L, (LPARAM)hIml);
0121斉藤
NGNGREBARBANDINFO rbBand;
hWndToolBar = CreateToolbarEx(hWndParent,
WS_CHILD | TBSTYLE_LIST | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | WS_CLIPCHILDREN |
WS_CLIPSIBLINGS | CCS_NODIVIDER | CCS_NORESIZE | WS_VISIBLE,
ID_TOOLBAR,
NUM_TBBITMAPS,
(HINSTANCE)hInst,
IDB_TOOLBAR,
(LPCTBBUTTON)&tbButtons,
NUM_TBBUTTONS,
BMP_CX,BMP_CY,
BMP_CX,BMP_CY,
sizeof(TBBUTTON));
rbBand.cbSize = sizeof(REBARBANDINFO);
rbBand.fMask =
RBBIM_CHILD |
RBBIM_CHILDSIZE |
RBBIM_STYLE |
RBBIM_ID ;
rbBand.fStyle = RBBS_NOVERT |
RBBS_CHILDEDGE;
rbBand.hwndChild = hWndToolBar;
rbBand.wID = ID_TOOLBAR;
rbBand.cxMinChild = MIN_TBCX;
rbBand.cyMinChild = MIN_CY;
SendMessage(hWndRebar, RB_INSERTBAND, (UINT) -1, (LPARAM) (LPREBARBANDINFO) &rbBand);
0122斉藤
NGNGたとえば、rebarに3つのツールバーを登録したとして、
その表示を、ウィンドウの上部に上から順番良く、「3列」で表示させたいだけなのに。
今のままでは、一列に、3つのツールバーが重なる形で表示される。
0123デフォルトの名無しさん
NGNG1. レバーコントロールを作成。
2. ツールバーの親をレバーコントロールにして作成。
3. REBARBANDINFO構造体のfStyleに
RBBS_BREAKを指定してRB_INSERTBANDを送る。
4. 2-3を繰り返す。
0124斉藤
NGNGありがとうございます!!!
みごと、3列で表示できました。
「RBBS_BREAK 0x00000001 改行」って、ツールバーのエリア自体を「改行」すると言うことだったんですね・・・。
・・・・。
助かりました。すいませんでした。初歩的な質問で・・・・。
0125デフォルトの名無しさん
NGNG他のウィンドウの最大化領域サイズ
(SystemParametersInfo(SPI_GETWORKAREA・・・)を
設定したいんですが、どんな方法があるでしょうか?
0126デフォルトの名無しさん
NGNG質問の意味が分からない。具体的には??
0127125
NGNGチェックを入れている状態と入れていない状態では、
ウィンドウを最大化した時のウィンドウサイズが違いますよね。
あれと同じように、さらにもう1本擬似タスクバーみたいな
タスクバーを作成して、最大化時のサイズを制限したいんです。
判りにくいようでしたら申し訳ありません・・・。
0128斉藤
NGNGrebarにコンボボックス(combo)を追加したんですが、コンボボックスに表示される文字の大きさが12になります。
このコンボボックスに表示される文字のサイズ・種類を変更できるとおもいますが、やり方を教えていただけませんか?
すいませんが、お願いします。
0130デフォルトの名無しさん
NGNGHFONT hFont;
lf.lfHeight = ...
(他のメンバも初期化)
hFont = CreateFontIndirect (&lf);
SendMessage (hComboBox, WM_SETFONT, (WPARAM)hFont, 0);
0131デフォルトの名無しさん
NGNGAppBarでぐぐれ
0135デフォルトの名無しさん
NGNG0136名無し@沢村 ◆n4lY0MbBKY
NGNG0137デフォルトの名無しさん
NGNG0138名無し@沢村
NGNG0139斉藤
NGNGありがとうございます。
その方法で、文字の大きさは変更できましたが・・・、
SendMessageで文字情報を送ったんですが、今度はコンボボックスとしての機能が働かなくなりました。
いわゆる、右端のボタンをクリックしてもコンボの内容がPOPUPされないのです。
・・・・・・、コモンコントロールって、複雑ですよね。ウツ・・・。
0140斉藤
NGNGhFont = CreateFont(12, //フォント高さ
0, //文字幅
0, //テキストの角度
0, //ベースラインとx軸との角度
FW_REGULAR, //フォントの重さ(太さ)
FALSE, //イタリック体
FALSE, //アンダーライン
FALSE, //打ち消し線
SHIFTJIS_CHARSET, //文字セット
OUT_DEFAULT_PRECIS, //出力精度
CLIP_DEFAULT_PRECIS,//クリッピング精度
DEFAULT_QUALITY, //出力品質
FIXED_PITCH | FF_DONTCARE,//ピッチとファミリー
"MS ゴシック");
0141斉藤
NGNGいろいろ質問に答えてもらって。
後は自分で勉強しようと思います。
では。
0142デフォルトの名無しさん
NGNGフォントサイズの指定方法が間違ってる。
http://www.microsoft.com/japan/developer/library/jpgdipf/_win32_createfont.htm
0143デフォルトの名無しさん
NGNGつーか使わなかったからこそ騙られまくってるんだろうが
0144斉藤
NGNGrebarでコンボボックスを作るとき、コンボボックスの横幅が、勝手に、rebarの横幅に変わります。
例えば、rebarの横幅を800とし、comboの横幅を300として、SendMessageのRB_INSERTBANDを送った直後、comboの横幅をデバッグで調べたところ、なぜか、comboの横幅800に変わっていました。
rebarが自動的にcomboの横幅をrebarの横幅にあわせるように働いたと思われます。
自分が指定した長さにするには、どのような手続きをすればいいのでしょうか?
・rebarを作成する、横幅は800(CreateWindowExそしてSendMessageでRB_SETBARINFOを送る)。
↓
・comboボックスを作成する(CreateWindowEx)。
↓
・REBARBANDINFOで横幅の初期値を300(rbBand.cx=300)、横幅の最小値を200(rbBand.cxMinChild = 200)。
↓
・rebarにcomboボックスを追加(SendMessageでRB_INSERTBANDを送る。)
↓
・直後、デバッグでcomboの横幅を調べると、なぜか、800に変わっていた。
0145斉藤
NGNGとくに、関連書物もないし、情報は基本的なことしか書いてないし。
・・・・。
さてと、そろそろ買い物行こうっと・・・。
0146名無し@沢村
NGNG普通のビットマップをwindowsプログラムとして実行させるには最低限何を付け加えたらいいですか?
教えてくだされ〜♪
0147デフォルトの名無しさん
NGNG最低限も糞もなにがしたいんだ?
0148名無し@沢村
NGNGいや、ビットマップがペイントなどのプログラムを通さずに自力で画像を表示してくれないかなと思って実験したらダメだったのよ…。
0149デフォルトの名無しさん
NGNGネタか
0150デフォルトの名無しさん
NGNGワラタ
0151CopyPaste
NGNG>>107
沢村は有名な嘘つきなので、信用しないように(笑
ヤツにプログラミングの話しても、「リアルな答え」は返ってきません。
MSX時代からコンピュータに触れてはいるようだけど、
ずっとゲーム(エロゲー含む)しかやってないので、スキルはありません。
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGプロセスの適切な位置にBreakPointを入れたり、
ほかさまざまなデバッグ関係の動作を行うAPI郡には
どのようなものがありますか?
0155デフォルトの名無しさん
NGNGもっと沢村風に書け
0156名無し@沢村フィルタ
NGNGプロセスの適切な位置にBreakPointを入れたり、
ほかさまざまなデバッグ関係の動作を行うAPI郡には
どのようなものがありますか?教えてくだされ〜♪
0157デフォルトの名無しさん
NGNG沢村じゃない(怒
具体的には、CPUが今まさに(そのスレッドで)実行している・していた命令を
得たいのだが・・・
0158デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/creating_a_basic_debugger.asp
とか読むと良いと思われ。
0159デフォルトの名無しさん
NGNG情報ありがとう。でもそこは読んだけれど、その項目で行うデバッグは、
基本的にクライアントプロセスが何かのメッセージを投げた場合に
それをキャッチする話しか載っていない。
能動的にメモリにBreakPointをかける等の話は載っていない
0160デフォルトの名無しさん
NGNGネットやVC6についていたサンプルソースなどをあさってみたのですが
よく分かりませんでした。
ここのサンプルを見ろ!とかありましたらお願いします。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG純粋にハックしたいだけなら既存のものつかったほうが早い気もするけど
俺もデバッガーがどういう風に動いてんのか知りたいから
ちょっとみて見たけどDebugBreakつかうのかな?
どうやって任意の場所に埋め込むかわかんないけど
0163デフォルトの名無しさん
NGNG現在特定のスレッドで動いているコードをリアルタイムに表示するソフトウェアとか
面白そうだなと思い、そのための資料探しに奔走しています。
>>162
DebugBreakは、ブレークポイント例外を発生させるAPIです。
デバッグされるソフトウェアで、強制的にブレークで止めたい場合に使います。
他にも、デバッグされたくない市販ソフトなどの場合に裏技的に使用して
一切デバッグできなくする方法もあります。
0164158
NGNG俺はブレークさせたいところに WriteProcessMemory() で int 3h を
書き込む、という適当な方法で書いたことはあるけど、もっと
ストレートな方法があるのかどうかはわからんや。
全命令捕まえる気なら、スレッドをシングルステップ実行モードにしてしまって
EXCEPTION_SINGLE_STEP をキャッチするとか。
0165デフォルトの名無しさん
NGNGint3hを入れるのは実装可能ですね。スマートではないけど。
シングルステップ実行モードにするのが一番素直そうな気がします。
そちら方面から調べてみよう、ありがとう。
しかしそれにしても、ブレークポイントを設定する命令があるはずですけどね。
0166デフォルトの名無しさん
NGNG強制的にブレークを発生させることができる。
他のOSだとSuspendThread→GetThreadContextでPCを取得→
WriteProcessMemoryでPCの位置にint 3を埋め込み→
ResumeThreadとか自力でやるしかない。
ただし9xではKERNEL32.DLL内のコードを実行中にこれを
やっても効かなかったり以後のOSの動作が不安定になったりする。
0167デフォルトの名無しさん
NGNG書き換え不可だ
SuspendThread→SetThreadContextでPCをDebugBreakの
先頭に移動→ResumeThreadってやった場合の話だった。
0168デフォルトの名無しさん
NGNG先頭のセル位置を取得する方法ありませんか?
0169デフォルトの名無しさん
NGNG先頭のセル位置って?
0171デフォルトの名無しさん
NGNG適当に探せ
0172sage
NGNG厨房みたいな質問で恐縮じゃが...
テキストを横書きや縦書きで斜体で表示したいんじゃが、
横書きの斜体はLOGFONTのlfItalicでいいが、縦書きでは
斜体を右肩下がりじゃなく、左肩下がりの斜体にしたい。
どこをどう いじくれば いいんじゃろうか?
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG9xとNTで意味が違ってたりするから気をつけて
0175デフォルトの名無しさん
NGNGように教えてくんろ。
OUTLINETEXTMETRICにotmItalicAngleってのがあるが、
あれは取得だけで、設定はできないよな...何か
いい方法はないもんか。
0176デフォルトの名無しさん
NGNG思ったけど記憶力に自信がないからやめといたら174に
書かれますた
0177デフォルトの名無しさん
NGNGあれから、テストプログラムでいろいろやってみた。
縦書き斜体ということで、@の付いたフォント、lfItalicは
true、lfOrientationは2700という前提で、lfEscapementを
100単位で0〜3600までやってみたが、すべて右肩下がりの
斜体だった。まあ、lfEscapementって一文字単位で回転させる
だけだから、当然の結果だが。
もしかして、ワシの前提自体が間違っているのか?
念のためにWordを調べると、縦書き斜体は右肩下がりだった。
日本語の縦書き斜体は右肩下がりが一般的なのか?
でも、やっぱ左肩下がりの斜体を実現したい。
どなた様か、助けると思って、具体的な数値を教えて
くんなまし。
0178デフォルトの名無しさん
NGNG横書きだって左に傾いたイタリックなんか出せないだろ
頭膿んでるのか?
0179172
NGNG> 頭膿んでるのか?
かもしれん。ここんとこ、斜体のことで頭が爆発寸前じゃ。
> italicは使わないでescapementで回転させろって言ってんだよ
なるほど。でも、これって同じ形のまま回転するだけじゃな。
> 横書きだって左に傾いたイタリックなんか出せないだろ
うーむ。バックスラントのことか。縦書きでも反対側に傾斜
させるのは、通常の方法じゃ、無理だってことか...
DTPソフトだと、斜体の角度を指定できたりするが、やっぱ
スプライン曲線データを取得して、自分で変形するのが吉って
ことか。
(字幕合成ツールを作っとるんじゃが、何故に日本語字幕の
縦書き斜体はWindowsとは逆に傾斜してるのか不思議じゃ。
それともWindowsが変則的なのか?)
0180デフォルトの名無しさん
NGNGイタリックが手書き文字を模したものとすると、日本語
フォントの縦書き斜体は Windows の標準的なイタリック
とは逆方向に傾斜、つまり、右肩上がり斜体であるべき
かなって気もするね。だから縦書きに限ると Windows の
ほうが「変則的」かも。でもさ、漢字とアルファベットの
混在するテキストを合理的に斜体にするにするためには、
縦書きでも、この傾斜方向しか選択の余地がなかったっ
てのも事実だよ。ほんじゃ、がんばって。
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGワールド座標で平行四辺形の変形を指定するのはどうよ
HFONT hFont;
const char text[] = "縦書き逆Italic";
LOGFONT lf;
HDC hDC;
XFORM xf, xo;
xf.eM11 = 0.5f;
xf.eM12 = 1;
xf.eM21 = -1;
xf.eM22 = 0;
xf.eDx = 300;
xf.eDy = 0;
GetObject(GetStockObject(SYSTEM_FONT), sizeof lf, &lf);
lf.lfEscapement = -225;
lf.lfOrientation = 900;
hFont = CreateFontIndirect(&lf);
0183182
NGNGSetGraphicsMode(hDC, GM_ADVANCED);
GetWorldTransform(hDC, &xo);
SetWorldTransform(hDC, &xf);
hFont = (HFONT)SelectObject(hDC, hFont);
TextOut(hDC, 300, 200, text, lstrlen(text));
hFont = (HFONT)SelectObject(hDC, hFont);
SetWorldTransform(hDC, &xo);
SetGraphicsMode(hDC, GM_COMPATIBLE);
ReleaseDC(hWnd, hDC);
DeleteObject(hFont);
0184デフォルトの名無しさん
NGNGコードまで示してくれて多謝。
実は自分でスプラインを操作しても、最終的に
アンチエイリアス処理まで自前でやるはめに
なりそうで困ってたんだが、これはいいな。
テストプログラムで試してみても、XFORMを
変えると、いろんな変形が可能だな。
感謝感謝です。
0185デフォルトの名無しさん
NGNG今はVB6付属のを使ってるんですが、誤植でハマった…。
#微妙にスレ違いかな?
0186デフォルトの名無しさん
NGNGMM_WOM_OPENメッセージはいつ発生するんでしょうか?
0187デフォルトの名無しさん
NGNGMSDNには加入してるか?
0188初心者・マジ質問
NGNGこのGoogleToolbarのように、Rebar上の最初の「Google」ボタンの後に、「コンボボックス」がきたり・・・、
→http://toolbar.google.com/intl/ja/toolbar.gif
「Lunascape」の検索Rebar上で、コンボボックスの後に、またコンボボックスを持ってきたり・・・、
→http://www.lunascape.jp/images/screenshot3.gif
このように、ボタンやコンボボックスの後に「コンボボックス」を追加するには、どのような処理をすればいいのでしょうか?
もちろんWin32APIを使用するやり方でお願いします。
Rebar上にBandを追加するやり方や、Band上にボタンやセパレーターや文字列を追加するやり方もわかりますが、
同じBand上に「コンボボックス」を追加するやり方がわかりません。
0189デフォルトの名無しさん
NGNGそれはたぶんMFCで言うところのダイアログバーみたいのを使ってると思われ。
Rebarでやるんなら、Rebarにのせるウインドウをモードレスダイアログにすれば
いいかと。
(同じバンド上のボタンをフラットにしたいとかならオーナードローしないといけないと思う)
0190デフォルトの名無しさん
NGNGコンボボックスをRebarの子として作って、RB_INSERTBANDをSendMessageすればいいだけ
と思うのだが。つーか、MSDNのRebarの最初のページ見た?
0191デフォルトの名無しさん
NGNG0192名無し@沢村
NGNGヌヒよ、ツールバーのセパレータは幅を指定できるから
広い幅のセパレータを作ってその上にコンボボックスを
貼り付けなさい。
IEのツールバーはこの方法でないと無理。
0193188 初心者・マジ質問
NGNG>>189
なるほど、rebar上に「モードレスダイアログ」として「載せている」わけですね。
家に帰ったらやってみます。
>>190
そのやり方はすでに知っています。
その説明は、「rebar上にbandを追加するやり方」ですよね。
そのやり方だと、comboboxが単独のbandとして作られてしまうだけなので意味がないです。
そうではなくて、「band上にcomboboxを追加するやり方」を知りたいのです。
>>192
ほほーう。
セパレータというのは、幅が指定できるのですか。
それは知らなかったです。
これも家に帰ってから、実際にやってみようと思います。
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG現在レジストリを書き換えることで行っていますが
スマートなやり方があればお教えください
0196デフォルトの名無しさん
NGNGだが、いくつかは、ReadFile() するとエラーになる。
(おそらく、コンテンツ保護のたぐいだと思うので、それはOK)
ただ、ReadFile()の代わりに、CreateFileMapping() と MapViewOfFile() を
使うと、エラーにならず、map できたかのように振舞ってしまう。だが、それ
を鵜呑みにして、そこのメモリを読もうとすると、例外が発生し、プロセスが
爆死してしまう。
ReadFile() を使わずに CreateFileMapping() を使った場合に、事前に map
領域が確かに読めるかどうかの検査をしたいのですが、可能でしょうか?
(Virtualなんとか、の類で可能なのかな?)
0197デフォルトの名無しさん
NGNGまたは__try〜__exceptで囲む
0198デフォルトの名無しさん
NGNGWin32Api的には、構造化例外が飛んできたら、NGって事で。
VC++なら、catch(...)で捕まえられたはず
0199デフォルトの名無しさん
NGNGただ、MapViewOfFile を MAP_READ指定で呼んで OK が返っているから、
仮想メモリとしてのアクセス属性には、READ権はあるかも。
構造化例外・・・NT系でなくても使えるんですね。
なんか、95系はダメかと勘違いしてました。
これだったら、確実そうですね。
0200デフォルトの名無しさん
NGNGデバイスIDを指定すれば?
0201デフォルトの名無しさん
NGNGIDを指定してデバイスごとに操作することはできるんですが、
優先デバイスを切り替えることができないのです
0202デフォルトの名無しさん
NGNGそれはWAVE_MAPPERで開きたいってコト?
そりゃムリ。少なくともWindowsでは。
0203デフォルトの名無しさん
NGNGIsBadReadPtrも内部で構造化例外使ってるよ
0204デフォルトの名無しさん
NGNG沢村が嫌いなことに異議は全くないが
今回に限りその態度はちょっと外れてるぜ
質問に来てるんだろ?
0205デフォルトの名無しさん
NGNG「サウンドとマルチメディア」コントロールパネルの
代替品を作ってるのでもない限り
プログラムが勝手に優先デバイスを書き換えるなってこった
0206デフォルトの名無しさん
NGNG沢村はデタラメしか教えないから
回答者として居座られたむしろ迷惑だ
0207デフォルトの名無しさん
NGNGえ?
Win32API(?)のソースって公開されてるの??
0208デフォルトの名無しさん
NGNGおまえ2chのポリシー知らんのか?
0209デフォルトの名無しさん
NGNGコテハンで馴れ合う奴は逝ってよし
0210デフォルトの名無しさん
NGNG解析本がある
0211デフォルトの名無しさん
NGNG聞く耳持たない者を説得してるほどヒマじゃない
0212デフォルトの名無しさん
NGNG展開して、結局「解決しなかった」とかいいはなった記憶が
強烈すぎる
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG, ・´.......... . . ...... "" '' - ..,_ . \ │ /
./::::::::::::::::::::::::/ /:::::::::::::::ヘ::::::::::::::ヽ ./ ̄\ ∩ ∧∧
. と. ,,i::::::::::::::::::::::/ /::::::::r(::::..ン::::::::::/ . ∩ ∧ ∧∩ ─( ゚ ∀ ゚ )─ \ ( ゚∀゚ )へ
<´ _;;;::::::::::::::::::::::し:::::::::::`(:::::ヘ::::::::::::\ ヽ( ゚∀゚ )/ .\_/ | /(ソ
''ヽ::::::;;;;;::::::::::::::::::::::::::::..ン:::::::;;;::-''' | 〈.. / │ \ | |
⊂;;;;;;,.:::::::.--- ー '''' ' . / /\_) / /\」
"" ""
沢村と一緒に、アクセス規制! 優良コテハンとして、表彰!
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGなんで名無しがコテハンとして表彰なんだよ
0217デフォルトの名無しさん
NGNG表示したいのですが、どうすればいいのでしょうか?
MFCのAfxMessageBox()では中央にでるので、デバッガでソースを
追っかけてみたのですが親Windowをがりがり捜している?だけのようで
なぜ中央にでるのか分かりませんでした。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGMFC のは、自前で用意した MessageBox風のウィンドウじゃないの?
0220デフォルトの名無しさん
NGNGHWNDが貰えないからMoveWindow()もSetWindowLong()もSendMessage()もだめ
だいいちMessageBox()から返ってきた時点でダイアログは存在していない
漏れ的にはあんなの糞
ちょっとでも別の機能が欲しければ独自のダイアログボックスをつくるのが早っしょ
WM_INITDIALOGでGetParent()とMoveWindow()ね
0221gn355my0
NGNG0222デフォルトの名無しさん
NGNGというか
::MessageBox( HWND hWnd , ...
の hWnd を指定したら、ウィンドウ中央に表示されたんだけど?
0223217
NGNG表示される前にWM_CREATEとかを捕まえて動かしているのでしょうか?
フックはよく知らないのでさっぱりです。
>>219
MFCのソースを見る限り最後に::MessageBox()を呼んではいるのですが。
>>220
やはり自前ですか・・・
>>221
MSGBOXPARAMSに値を設定してやってみましたが変わりませんでした。
>>222
MFCの中で
HWND hWnd = AfxGetMainWnd()->GetSafeHwnd();// テスト
// AfxMessageBox( "やっほー", MB_OK, 0 );
::MessageBox(hWnd, "やっほー", "test",MB_OK );
//::MessageBox(NULL, "やっほー", "test",MB_OK );
とやると自分のWindowの中央に出ました。NULLだと出ませんでした。
SDKのサンプルの中にあるMessageBoxだとデスクトップ中央に出るのですが。
フックとかちょっと特殊なことをしているのでしょうか。
フックを少し調べてみます。ありがとうございました。
0224IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG来ないと言うやつは又来るが、さようならと言った次のレスにもうコピペする奴は珍しい。
0228デフォルトの名無しさん
NGNGマルチバイト文字列をワイド文字列に変換するとき、
C標準関数の mbtowc を使うのと、Win32API の MultiByteToWideChar の
どちらを使うのが一般的でしょう?
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGどうしてもmbtowc使うならsetlocaleを忘れるなよ。
0232228
NGNGありがとー。
ところで、MultiByteToWideChar や、WideCharToMultiByte をラップした、
std::wstring mbstr_to_wstr( const std::string& source );
std::string wstr_to_mbstr( const std::wstring& source );
↑のようなヘルパ関数をつくろうと思っているんだけど、
CodePage や、フラグの設定を固定したい場合は、どの設定が一番無難ですか?
経験豊かな人、誰かご教授願います。
0233デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0234231
NGNG何も考えないならとりあえず
MultiByteToWideChar(CP_ACP, 0, ...)
WideCharToMultiByte(CP_ACP, 0, ...)
でいいんじゃないの?
まずはそれからだ
0235228
NGNG以下レポート
mbtowc は その内部で、MultiByteToWideChar を呼び出しています。
しかも マルチスレッド対応でした。( _MTスイッチで指定 )
問題の CodePage は、 setlocale で指定するようだけど、
"C"ロケールを設定すると、CP_ACP にセットされるみたい。
VCで作成したアプリはデフォで "C"ロケールに設定されるらしいので(未確認)、
結局 mbtowc は、↓とほぼ同じになると。
::MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED | MB_ERR_INVALID_CHARS ... );
嘘言ってたらゴメンナサイ.
>>231
ありがとう。
でも、とりあえず mbtowc でもいいかなという気になりました。
0236デフォルトの名無しさん
NGNGはぁ?
0237デフォルトの名無しさん
NGNGttp://dailynews.yahoo.co.jp/fc/computer/2channel/
のアンケートで5を選びませんか? 目標50%
0238デフォルトの名無しさん
NGNGトリップだってさ
全然ボツ。
0239デフォルトの名無しさん
NGNGqb : 2ch批判要望 削除議論 削除要請 削除整理
live2 : ニュース速報
tmp : ニュース極東 ちくり裏事情 政治思想 Download
厨房! 人権問題 バカニュース 薬・違法
ゴーマニズム ロビー 最悪 少年犯罪
違反の潰し方 ペット苦手 なんでもあり 学歴
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
0242デフォルトの名無しさん
NGNGこれって、何が原因なの?
0243デフォルトの名無しさん
NGNG当事者が都合悪ければ誹謗中傷だわな
どうなっとんだ
0244デフォルトの名無しさん
NGNG>壊れやすいって新聞に投書するなり
まず1に、俺はそういうことを自分が主張したいのではなく
そういう情報を集めたいのだ。もちろん自分が書くこともあるだろうけど。
新聞はリアルタイムで会話ができない。
しかも載るか載らないかもわからない。
掲示板だと数多くの人の体験談やらなにやらがたくさん集まり
使っている人のナマの声が聞ける。それを信じるか信じないかはその人しだい。
しかし、途中で誰の手が加えられたわけでもなく
また、誰かによって省かれた部分がない意見というのは貴重だ。
書き込まれた瞬間に、自由な質問ができるのも魅力だ。
そういうのが無くなってしまう、もしくは減ってしまうというのは悲しい
0245デフォルトの名無しさん
NGNG祭り気取りなんだろ
IP取るのは管理者の勝手だが
スレ違いのレスを垂れ流されるのは邪魔でかなわん。
0246OFNトースター
NGNGってほどOPENFILENAMEに詳しい人いませんか?
0247デフォルトの名無しさん
NGNGすでに批判要望板の荒らし報告にあがってるな
◆スクリプト&コピペ(乱立)荒らし報告スレ27
http://qb.2ch.net/test/read.cgi/accuse/1041678810/
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG何が聞きたいのか、書いてみたら?
0250OFNトースター
NGNGコンパイルして実行してほしいです。
起動時に、名前を付けて保存のダイアログが出ます。
そのままマイドキュメントに保存すると、このプログラムでは
何も保存されないけど、エディットに結果が入ります。
その結果を教えてほしいのです。
0251OFNトースター
NGNGLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, PSTR, int) {
MSG msg;
WNDCLASSEX c;
c.cbSize = sizeof(WNDCLASSEX);
c.style = c.cbClsExtra = c.cbWndExtra = 0;
c.lpfnWndProc = WndProc;
c.hInstance = hInst;
c.hIcon= LoadIcon(NULL, IDI_APPLICATION);
c.hCursor = LoadCursor(NULL, IDC_ARROW);
c.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH);
c.lpszMenuName = NULL;
c.lpszClassName= "test";
c.hIconSm = NULL;
if (!RegisterClassEx(&c)) return 1;
CreateWindow(
"test", "TEST",WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 500, 100, NULL, NULL, hInst, NULL);
while(GetMessage(&msg, NULL, 0, 0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
0252OFNトースター
NGNGOPENFILENAME ofn;
TCHAR strFile[MAX_PATH] = "default";
char buf[MAX_PATH];
static HWND hEdit;
static WORD w = 1234;
switch (msg) {
0253OFNトースター
NGNGhEdit = CreateWindow(
"EDIT", "", WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL, 0, 0, 490, 22, hWnd, 0, ((LPCREATESTRUCT)(lParam))->hInstance, NULL);
memset(&ofn, 0, sizeof(OPENFILENAME));
ofn.lStructSize = 76;
ofn.hwndOwner = hWnd;
ofn.lpstrFilter = "DOC\0*.doc\0HTML\0*.html\0\0";
ofn.nFilterIndex = 0;
ofn.lpstrFile = strFile;
ofn.nMaxFile = MAX_PATH;
ofn.nFileOffset = w;
ofn.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
0254OFNトースター
NGNGwsprintf(buf, "strFile = %s, nFileOffset = %d", strFile, w);
SetWindowText(hEdit, buf);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
ここまで。
0255OFNトースター
NGNGofn.lStructSize = 88; でofnが使える人の結果も知りたいです。
0256デフォルトの名無しさん
NGNGmsdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/CommonDialogBoxReference/CommonDialogBoxStructures/OPENFILENAME.asp
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG・・・・・・・それが何か?
0259231
NGNGありゃ。確かにCP_ACPみたいだな。嘘ついてスマソ。
VC6以前ではまった気がしたんだが…。
printf("%S", L'あ');
とかできるようになったのかな??
0260256
NGNGtypedef struct tagOFN {
:
#if (_WIN32_WINNT >= 0x0500)
void * pvReserved;
DWORD dwReserved;
DWORD FlagsEx;
#endif // (_WIN32_WINNT >= 0x0500)
} OPENFILENAME, *LPOPENFILENAME;
なぜ
ofn.lStructSize=sizeof(OPENFILENAME)
としないのか
0261デフォルトの名無しさん
NGNGhttp://www.enjoy.ne.jp/~gokaino1/
0262デフォルトの名無しさん
NGNGちょっと聞きたいんだけど、
Win32API の構造化例外を、C++ でハンドリングするとき、
try{ ::InitializeCriticalSection( &cs ); } // 構造化例外を投げる可能性のあるAPI関数
catch( ※ ){ ... }
※ の部分には何を書けばいいのか教えてください。
DWORD でいいのかな?
素直に __try 〜 __except( エラータイプ ) で囲むべき?
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGよし、とりあえずcatch(...)しとこ。」とかやってたら、そのtryのなかで
Access Violationが発生してたことに気づかなかったことがあったなぁ。
なんで、catchに行くのか理解できなかった覚えがあえる
0267デフォルトの名無しさん
NGNGRobocopy + SCopy + α みたいなミラーリングプログラムを作っているのですが、
ハマっています。 ご存じの方いたら教えてください。
SE_RESTORE_NAME特権を有効にすると、BackupWrite()で書込み権を持っていない
ディレクトリにファイルを書き戻せますが、書き込み権の無いディレクトリ中に
サブディレクトリを掘るにはどうしたらいいのでしょうか?
どうも、ディレクトリをBackupWrite()する場合、CreateDirectory()してから
BackupWrite()で属性情報だけ書き戻すしかないみたいですが、
CreateDirectory()はERROR_ACCESS_DENIEDになってしまいます。
CreateDirectory()するときだけACLを変更するのも何か違う気がするし...
0268デフォルトの名無しさん
NGNG_set_se_translator と、マクロを使ったほうがいいのでは…?
struct structured_exception; // Win32API構造化例外クラス
// 例外送出関数と、初期化関数
void trans_st_except( UINT e, EXCEPTION_POINTERS* pe ){
throw structured_exception( e, pe );
}
// main か WinMain のアタマで呼び出す
void init_structued_exception_hander(){ _set_se_translate( trans_st_except ); }
// マクロ expr には例外を送るような式とか関数を入れると
#define SE_TEST( expr ) \
__try{ (expr); } \
__finally{}
使用例
try{ SE_TEST( ::InitializeCriticalSection( &cs ) ) }
catch( structured_exception& se )
{
(エラー処理)
}
なんかわからんもんがすっ飛んでくるよりもいいでしょ。
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGということ。
正当性がある意見なら、実社会でも言える。
内部告発なんかも、実社会でも十分可能。
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGま た ま さ と か!
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG>厨房板は本当に閉鎖なのか?
初耳。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG今日午前4時前、幸田駅の線路脇の道路でキャッチボールしていた中学3年生4人組がいた。
ところが、ボールが線路に入った。
幸田駅の線路に、ボールを取りに入った、中学3年生の女子1名が、貨物列車に
ばばばばばピィー― きゃ〜! ブァプアあああああああー―――――――ン!!!!!!
0284デフォルトの名無しさん
NGNG被害の大きさに差がありそうだけども。
誹謗中傷一番垂れ流しってどこかねぇ?
0285デフォルトの名無しさん
NGNG愚鈍な警察諸君
ボクを止めてみたまえ
ボクは殺しが愉快でたまらない
人の死が見たくて見たくてしょうがない
汚い野菜共には死の制裁を
積年の大怨に流血の裁きを
SHOOLL KILLER
学校殺死の酒鬼薔薇
0286デフォルトの名無しさん
NGNG他のウィンドウにボタン操作のメッセージを送るようにしたいのですが、
この状態だと他のウィンドウへのWM_COMMANDメッセージが送られず、操作できません。
どうすればできるのでしょうか?お願いです。教えて下さい。
0287デフォルトの名無しさん
NGNGちゃんと操作できました。さようなら。
0288デフォルトの名無しさん
NGNG俺達を見限ったのだ?
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG変更できるけど、メニューのキャプションを変更するには
どうすればいいですか?
(「最近使ったファイル」のようにしたいけど、あれは毎回
メニューを作り直している?)
それとアクティブでなくなると消えてしまうウィンドウ
(メニューやポップアップ)をスパイで捕まえる方法があったら
教えてくらはい
0292デフォルトの名無しさん
NGNG>(メニューやポップアップ)をスパイで捕まえる方法があったら
>教えてくらはい
えっ?定数でhMenu取るの?勇者だね君は
0293デフォルトの名無しさん
NGNGとりあえずSetMenuInfoとか書いてみる・・・
0294デフォルトの名無しさん
NGNGhMenu=GetMenu(hWND);
hMenuPlayThru=CreateMenu();
AppendMenu(hMenuPlayThru,MF_ENABLED|MF_STRING,n,sz);
AppendMenu(hMenu,MF_ENABLED|MF_STRING|MF_POPUP,(UINT)hMenuPlayThru,sz);
0295291
NGNG0297デフォルトの名無しさん
NGNG0298山崎渉
NGNG218.145.25.14:80
50.51.32.202.ts.2iij.net:80
cache146.156ce.scvmaxonline.com.sg:8080
cache50.156ce.scvmaxonline.com.sg:8080
12.119.64.42:80
ce590-gdl01.terra.net.mx:80
seton03.terra.net.mx:80
218.65.110.14:80
ce590-gdl02.terra.net.mx:80
0299デフォルトの名無しさん
NGNGマウスキャプチャして
MapWindowPoints と WindowFromPoint
でなんとかなりそうですね。
しかし今まで色々調べてたのに、質問してすぐ見つかるとは・・・。
板汚しすまそ。
0300300get
NGNG⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0301山崎渉
NGNG0302デフォルトの名無しさん
NGNGVisualC++5.0じゃビルドできませんか?
DLLのバージョンは5.81なので大丈夫だと思うんですが
未定義ですってエラーが出てしまいます。
0303デフォルトの名無しさん
NGNG二重起動を防止するときに、先に起動していたプログラムへ任意のイベントなどを
SendMessageなどで送ることはできないでしょうか?
同じプログラムが起動されたら先に起動していたプログラムにある動作をさせたいのですが。
もしかして、ウインドウハンドル捕まえて、それ宛にメッセージ送るだけ?
0304デフォルトの名無しさん
NGNGMutexにこだわらないなら、FindWindowで二重起動防止。
ウィンドウクラス名が重複している場合は使えんが・・・
ウィンドウクラス名に依存するのが嫌なら、名前付きイベントを使うのも良いかと
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGウィンドウ持つのが嫌ならスレッドメッセージというのもあるけども。
0308デフォルトの名無しさん
NGNGできる。
ヘッダファイルだけそろえてやればいい。
もしくはその定数を自分で定義してやってもオケ。
たしかBCC5.5.1とかには入ってるはずなので、落として差し替える!
0309デフォルトの名無しさん
NGNGいや、AAじゃなくてな。
0310デフォルトの名無しさん
NGNG聞いたこと無いねえ
0311デフォルトの名無しさん
NGNG一般にコンソールと言ったら CUI が常じゃないか?
0312デフォルトの名無しさん
NGNGあとは煮るなり焼くなり犯すなり。
0313デフォルトの名無しさん
NGNGstrcpy(FindPath, "c:\\*");
hFind=FindFirstFile(FindPath, &FData);
ここで FindPath[0]=0;としても
この後のFindNextFileに影響無しで良いですか?
0314デフォルトの名無しさん
NGNGWindows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Unsupported.
とか書いてあるけどナー。
0315デフォルトの名無しさん
NGNG多分無いと思うけど、何なら試してみたら?
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNGあそこで設定したものってどうやってプログラムから取得するの?
現状としては選択色が取得したいんですが。
0319デフォルトの名無しさん
NGNGGetSysColor()では不満か?
0320デフォルトの名無しさん
NGNGメニューを表示してカーソルをメニューの外に移動させると、
アイテムが一つも選択されていない状態ができます。
このことを教えてくれるメッセージなどありますでしょうか。
御存知の方いらっしゃいましたら、どうかよろしくお願いいたします。
0321デフォルトの名無しさん
NGNGWindowsXP環境だけ失敗するのですが、
何かご存知の方居りませんか?
0322デフォルトの名無しさん
NGNGPetzold本に出てるようなファンクションをかたっぱしから試してどう動くかを学ぶとか?
ちなみに目標は自家製の本格的なテキストエディタ作成でつ。
0323デフォルトの名無しさん
NGNG・大学ノートを用意し,憶えたことを必ずメモする
・糞使いづらいMSDNの調べ方に慣れる
以上を繰り返せばテキストエディタは53行で書ける
0324デフォルトの名無しさん
NGNG名無しさん.txtが、名無し~1.txt であるとき、
名無しさん.txtを名無し~1.txtにリネームするには、どーやったらできますか?
MoveFile("名無しさん.txt", "名無しさ~1.txt");
ってしても成功して、そのまんまなんですけど。
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGそうなんですけど、ロングをショートにしたいんです。
0327デフォルトの名無しさん
NGNG意図が不明だけど一回nanasi.txtを中継すれば良いんじゃないの。
0328デフォルトの名無しさん
NGNG一般にWin32APIはハンドル作った時点で情報のコピーを
作るからユーザー側で用意したバッファは壊してOK
>>321
詳細なテキストサービス…でぐぐってもオフにする方法しか
出てこないな。たぶんその関係だとは思うんだが
0329デフォルトの名無しさん
NGNG9xだとトンネリングというOSの余計なお世話のせいで
それでもうまくいかない可能性がある
0330デフォルトの名無しさん
NGNGすみません。それだと、nanasi.txtが既に存在しているかも
チェックしないとならないんですね。それがめんどいのです。
TempFileでも中継することにしますか。
うーん。なんかないものか。
0331デフォルトの名無しさん
NGNGえ?じゃ、>>330もだめか。
0332317
NGNGおお!そうだシステムカラーだ。
ググろうにもキーワードが思いうかばんかった。恥ずかしい。
0333デフォルトの名無しさん
NGNG何をしているんだ?
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG根拠きぼんぬ
0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNG得たいという話じゃなくて、設定したいという話だったと思う。
0338324
NGNGですが、名無しさん.TXTの、
.TXTを小文字にしてやると、成功することが分かりました。
昔、Explorerでもたしか、そんな仕様があったような。。。
全部小文字だと、頭だけ大文字にされたりとか。
0339デフォルトの名無しさん
NGNG> 全部小文字だと、頭だけ大文字にされたりとか。
そりゃあ表示上だけの話じゃなかったっすか?
0340デフォルトの名無しさん
NGNGCls_OnCreateとかそんなの。
0341324
NGNGcFilename=名無しさん
cAlternateFileName=名無し~1
であるとき、
cFileNameを、名無し~1 に、リネームできないのは、そういう仕様でしょうか?
0342デフォルトの名無しさん
NGNGint main()
{
return 0;
}
というプログラムを実行すると、winnt.hに複数エラーが出るのですが、
他にincludeしなければいけないファイルがあるのでしょうか?
Borland C++ 5.6を使っています。
0343デフォルトの名無しさん
NGNGあなたは Windows.h を持っていますか?
0344デフォルトの名無しさん
NGNGWindows2000SP1ではエクスプローラのリネームでもそうなるので、仕様と思ふ。
ところで誰かCSPDK使ったことある人います?
0345デフォルトの名無しさん
NGNG2000以前でもNtSetInformationFileでコソーリできたりしないかな
0346デフォルトの名無しさん
NGNG関係ないけど今MSDNみたら
> Requirements
> Server: Included in Windows Windows Server 2003 2003.
になっててワラタ
もう少し落ち着いて直せと
0347デフォルトの名無しさん
NGNG>> Server: Included in Windows Windows Server 2003 2003.
>になっててワラタ
typoでなくXMLパーサのバグ(動的にそのダブリが表示されてる)
かモナー
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGダウンロード可能にしてくれればいいのに。
0350デフォルトの名無しさん
NGNG容量どれだけあると思ってんだ?
0351デフォルトの名無しさん
NGNG有料だけど
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNGできますか?文字しか駄目なんでしょうか?
0354デフォルトの名無しさん
NGNG0355山崎渉
NGNG0356デフォルトの名無しさん
NGNGそれは問題ありと上のほうであったが。
0357デフォルトの名無しさん
NGNG「名無しさん」を LFNで「名無し~1」に変える時だって、
LFNで「名無し~1」のファイルがすでにあったら失敗から、
結局存在チェックはしないといけない罠
0358デフォルトの名無しさん
NGNGまあ言いたいことはわかるけど
0359デフォルトの名無しさん
NGNG事前のチェックはいらないのでは
0360デフォルトの名無しさん
NGNGんですが、フックの仕方がわかりません。
平たく言うと、MessageBoxで表示されたダイアログのHWNDを
取得したいんですが、上手いやり方があったら教えてください。
0361デフォルトの名無しさん
NGNGショートカットみたいなインチキなのじゃなくて。
0362デフォルトの名無しさん
NGNGそんなこと考えるならダイアログ作れよ・・・
0363デフォルトの名無しさん
NGNG2000以降にはハードリンクはあったはず。
0364>>362
NGNGそいつを親ウィンドウに指定して
時間がきたら親を消すってどうよ?
0365360
NGNGメッセージボックスって、メッセージの内容によって大きさが伸縮する
じゃないですか。あれを自動でやって欲しいという狙いがあったんです。
逆に伸縮ダイアログが簡単に作れればそっちでもいいんですけどね。
メッセージボックスと同じ動作をするダイアログの作り方でもいいです。
0366デフォルトの名無しさん
NGNGGetTextExtentPoint32() でメッセージのサイズ調べて、それに合わせてリサイズ
すればいいだけでは?
つーか、メッセージボックス捕まえた後に何をするおつもりで?
0367360
NGNG0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGアプロダワッショイ!!
\\ 動画専用ワッショイ!! //
+ + \\ 抜けるぞワッショイ!!/+
+
. + /■\ /■\ /■\ +
( ´∀`∩(´∀`∩)( ´ー`)
+ (( (つ ノ(つ 丿(つ つ )) +
ヽ ( ノ ( ノ ) ) )
(_)し' し(_) (_)_)
0370デフォルトの名無しさん
NGNG裏技的だが、実は2000以前でもテープバックアップAPIでNTFS上にハードリンク作れたりする。
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG「フォルダの新規作成」ボタンがついてるのをよく見かけるのですが、
なんという関数を使えばいいのでしょうか?
0373デフォルトの名無しさん
NGNG2000 の機能じゃなくて、NTFS の機能だからだろ。
0374デフォルトの名無しさん
NGNG| GetTextExtentPoint32() でメッセージのサイズ調べて、それに合わせてリサイズ
| すればいいだけでは?
に対する答えが
> それぐらい読み取れませんか?
ですか?
0375デフォルトの名無しさん
NGNGコールバックを使って、自前で作ってるんじゃないの?
0376デフォルトの名無しさん
NGNGPOSIXサブシステムが作ったハードリンクもバックアップ/リストア
できなくちゃならないからな
0377デフォルトの名無しさん
NGNGシンボリックリンク相当のものとしては
フォルダにジャンクションというものが張れるけど
ファイルには張れない。
0378デフォルトの名無しさん
NGNGそうですが何か?
0379デフォルトの名無しさん
NGNG何だと思います?
0380デフォルトの名無しさん
NGNG何があるでしょうね(^^)
0381デフォルトの名無しさん
NGNG何があるかな?
0382デフォルトの名無しさん
NGNGさあ一人で考えよう。
0383デフォルトの名無しさん
NGNG/ ̄ ( ´∀`)⌒\
__ / _| | | ,,,,,,,,,,,,,
ヽヽ / / \ | | ,,,,,,,iiiiillllll!!!!!!!lllllliiiii,,,,,,,
\\| |____| .| | .,llll゙゙゙゙゙ ゙゙゙゙゙lllll,
\/ \ | | .|!!!!,,,,,,,, ,,,,,,,,,!!!!|
| ヽ_「\ | |、 | ゙゙゙゙!!!!llllliiiiiiiiiilllll!!!!゙゙゙゙ .|
| \ \――、. | | ヽ .| .゙゙゙゙゙゙゙゙゙゙ |
| / \ "-、, `| | ヽ | |
_/ / "-, "' (_ ヽ ヽ .| |
/ __ノ "'m__`\ヽ_,,,, ヽ | |
`ー― ̄ ヽ、__`/ー_,,,, ゙゙゙゙!!!!!!!lllllllliii| |
\゙゙゙゙゙゙゙!!!!!lllllllliiiii| |
\ ヽ | |
ヽ \ | |
| \.| |
`ヽ、,,_ノ| |
゙゙!!!,,,,,,,, ,,,,,,,,,!!!゙゙
゙゙゙゙!!!!llllliiiiiiiiiilllll!!!!゙゙゙゙
ブチッ!! /.// ・l|∵ ヽ\ ←>>378-382
0384デフォルトの名無しさん
NGNGBMPの形のウィンドウを作る方法ありませんか?
9x系なのでSetLayeredWindowAttributesは使えないし
CreateDCでデスクトップのHDCを獲得して描画しようものなら死ぬし
SetWindowRgnで無理矢理出来なくもないがかなり強引というか
そもそも移動する時出る四角い枠からして
任意はこの方法は使ってないと思われるし
当方VC6.0、98SEです
0385デフォルトの名無しさん
NGNG非可視のダイアログをつくる
↓
それを親にしてMessageBox
↓
タイマーで時間経過後、ダイアログを破棄
親のダイアログが破棄されれば、MessageBoxも消える。
ただし、MessageBoxを表示する前に、ダイアログを画面中央にセンタリングしておく。
0386デフォルトの名無しさん
NGNGダイアログプロシージャの処理は回らなくなると思うが、
どうやって、タイマーで時間経過をはかって、ダイアログを
破棄するのかナ? マルチスレッド?
0387385
NGNG0388デフォルトの名無しさん
NGNG>>ダイアログプロシージャの処理は回らなくなると思うが、
モーダルループが回ってるので、WM_TIMER は大丈夫
0389デフォルトの名無しさん
NGNG1)EnumThreadWindows をつかって、このスレッド内のトップレベル
ウィンドウを列挙
2)コールバック関数で GetWindow でオーナーハンドルが設定した
ものと一致したらそれが目的のダイアログのハンドル(テキスト一致
の方がいいかも)
以下の Delphi のコード例では、見つかったら EndDialog() で閉じる
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Interval := 3000;//3秒後
Timer1.Enabled := true;//タイマスタート
MessageBox(Handle,'Test desu','TEST',MB_OK or MB_ICONEXCLAMATION);
end;
function EnumThreadWndProc(hWindow: HWND; lData: LPARAM):BOOL; stdcall;
begin
result := true;
if GetWindow(hWindow,GW_OWNER) = Form1.Handle then begin
EndDialog(hWindow,IDCANCEL);//閉じる
result := false;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := false;//タイマストップ
EnumThreadWindows(GetCurrentThreadId,@EnumThreadWndProc,0);
end;
0390デフォルトの名無しさん
NGNG> SetWindowRgnで無理矢理出来なくもないがかなり強引というか
9xではそのかなり強引な方法しかない
伺かもそうやってる
リージョンがメッシュ状になってない限り
CreatePolyPolygonRgnが一番高速
0391デフォルトの名無しさん
NGNGCreateCompatibleBitmap でオフスクリーンバッファを作成して描画しているのですが、
ウィンドウのサイズが変更されたとき、このバッファはどうすべきなのでしょうか。
自分では、例えばウィンドウが拡大されたら新しく作り直す、とか
ウィンドウが小さくなったときは放っておいて必要な部分だけ使う、とか考えたのですが…
こういった処理のセオリーのようなものがありましたらご教授ください。
0392360 ◆FeMIy5OMp2
NGNG>>366
GetTextExtentPoint32は行の降り返しを面倒見てくれるでしょうか?
>>368
ありがとうございます。捜してみます。
>>374 >>378-383
すいません、何か気に障ること言いましたか?
0393360 ◆FeMIy5OMp2
NGNG有難うございます。
難しそうですが、意味は判りました。
試してみます。
0394デフォルトの名無しさん
NGNG知るにはどうしたら良いですか?
右クリックはWM_CONTEXTMENUを捕まえてHitTestで判定すると分かったんですけど
左クリック関係がわかりません。
0395デフォルトの名無しさん
NGNG作ろうとしているアプリケーションによる
例えば,エロ画像鑑賞用ビットマップブラウザなら
ウインドウを大きくすれば画像拡大ってことで
StretchBlt()かSetMapMode()のMM_ISOTROPICあたり
ドッター仕様のビットマップエディタなら
子ウインドウでクライアント作ってスクロールバーでずらすとか
ウインドウを大きくしたときにビットマップもサイズを大きくするって
ソフトを洩れは知らん
0396デフォルトの名無しさん
NGNGWM_LBUTTONDOWN
0397391
NGNGありがとうございます。参考になりました。
いろいろ試して最適なの方法を考えてみることにします。
0398デフォルトの名無しさん
NGNGBIF_NEWDIALOGSTYLE
0399デフォルトの名無しさん
NGNGそういえばCreatePolyPolygonRgnのことを忘れてました
サンクス
0400デフォルトの名無しさん
NGNG画面に表示されない分までオフスクリーンに確保するのは
メモリの無駄ってことで実際のウィンドウサイズ分しか
オフスクリーンを用意しないアプリがあるんだよ。
その分リサイズの処理が重くなるわけだが
0401デフォルトの名無しさん
NGNGよいのでしょうか?
「伺か」のsetup.exeのようなAdminで実行させるようなプログラムを作りたいのです。
0402デフォルトの名無しさん
NGNGファイル名をsetup.exeにすれば勝手にやってくれる
0403TECH
NGNGRUNAS はダメ?
http://www.microsoft.com/windows2000/ja/professional/help/RUNAS.HTM
0404デフォルトの名無しさん
NGNGあ、本当だ・・・でもファイル名を変えたくはないのです。
>>403
コマンドプロンプトでrunasではなくて、ダイアログを出すにはどうすれば良いでしょうか?
ユーザーにそのまま実行を続けるかどうかをGUIで選択させたいと思っています。
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGいや、だからそれは404にも書いてますがコマンドプロンプトなんで、GUIでやりたいなと。
Shift+右クリックの「別のユーザーとして実行」で表示されるダイアログを出す方法が
あったら教えていただきたいのです。
0407TECH
NGNGゴメンナサイ。
自分でダイアログを作るなら
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_createprocesswithlogonw.htm
が使えるけど、 ダメなんだろうなあ
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNGCreateProcessAsUser()ではいかんのか?
ttp://www.microsoft.com/japan/developer/library/jpwinpf/_win32_createprocessasuser.htm
0410デフォルトの名無しさん
NGNGそれで「別のユーザーとして実行」ダイアログが表示できるわけじゃないですよね?
だから自分でそれ相当のダイアログを作らなきゃならないようですね、というのが
>>408なわけでして。
>>407、>>409で提示されたAPIとrunasあたりを検索すると
http://www.codeguru.com/misc/RunUser.html
のようなGUI Runasのサンプルがでてきましたが、
あのダイアログ自体を出すAPIや方法が見つからなかったので
ダイアログ自作しかないのかなぁと思っています。
ショートカットファイルのプロパティには「別のユーザーとして実行」という
チェックボックスがあって簡単に表示してくれるのに・・・ガクリ
0411デフォルトの名無しさん
NGNGそっちだといろいろ特権が必要になるからつらい
そんな特権持たせる操作を要求できるなら
はじめからAdministratorでログインしろですむし
NT4ならこれかな
http://pc3.2ch.net/test/read.cgi/win/1024782123/l50
0412デフォルトの名無しさん
NGNGTabCtrl_InsertItemだと、インデックスを指定しなければなりませんが
今いくつタブがあるか分からない状態で、最後尾(右側)にタブを追加したいのです。
0413デフォルトの名無しさん
NGNG0414Question
NGNG「error C2065: 'WM_THEMECHANGED' : 定義されていない識別子です。」と表示されます。
WINUSER.H内には
#if(_WIN32_WINNT >= 0x0501)
#define WM_THEMECHANGED 0x031A
#endif /* _WIN32_WINNT >= 0x0501 */
と宣言されてますし、今開発に使用しているOSもXPです。(Ver 5.1.2600 Service Pack 1)
なぜdefineされないのかわかりません。
0415デフォルトの名無しさん
NGNG選択をするためのものであって、ビルド環境には依存しません。
明示的に#defineしましょう。
0416Question
NGNGWINUSER.H内の#if(_WIN32_WINNT >= 0x0501)だと、私のXPでプログラムを作成するとエラーが起こらないと思うのですが。
なぜエラーが起こるのかがわかりません。
ほかの、
#if(WINVER >= 0x0400)
#define WM_PRINT 0x0317
#define WM_PRINTCLIENT 0x0318
#endif /* WINVER >= 0x0400 */
だと、問題ないですよね。WM_PAINTはエラーなく使えるわけですから。
私のOSが「_WIN32_WINNT < 0x0501」と認識されているのでしょうか?
0417デフォルトの名無しさん
NGNG根本的に勘違いしてる。415を読み直せ。
0418Question
NGNG0419デフォルトの名無しさん
NGNGerror LNK2001: 外部シンボル "__imp__CloseThemeData@4" は未解決です
このエラーが出た場合、どのファイルをリンクすればいいのでしょうか?
0420419
NGNG失礼しました。
0421デフォルトの名無しさん
NGNGフォームにデフォルトの領域を設定します。
HRGN default_rgn;
__fastcall TForm1::TForm1(TComponent* Owner):TForm(Owner)
{
default_rgn=CreateRectRgn(0,0,100,100);
SetWindowRgn(Handle,default_rgn,true);
}
次に、あるボタンを押すと領域が広がるので、その部分を追加したいとします。
void __fastcall TForm1::Open1Click(TObject *Sender)
{
HRGN dest_rgn,add_rgn;
add_rgn=CreateRectRgn(0,0,200,50);
CombineRgn(dest_rgn,default_rgn,add_rgn,RGN_OR);
SetWindowRgn(Handle,dest_rgn,true);
}
これでdefault_rgn+add_rgnの領域が表示されると思ったのですが、表示されません。
どのように解決したらいいでしょうか?
0422ひょっとこ
NGNG例えば、配色を「アイスカラー」から「ピクニック」に変更しても、コントロールの背景色がアイスカラーのままなのです。
ここでは、どのような処理をすればいいのでしょうか?
0423デフォルトの名無しさん
NGNGプッ
0424デフォルトの名無しさん
NGNG★YAHOOOプロフィール★
0425デフォルトの名無しさん
NGNGレバーとかツールバーの色ってことでしょ?
その色ってシステムが自動的に変えてくれるでしょ?
0426ひょっとこ
NGNG変更したら当然「文字の大きさ・デザイン・配色」などのスタイルが変わるわけですよね。
そのスタイル情報を取り出すにはどのAPIを使えばいいのでしょうか?
そのスタイル情報を自分のアプリのrebarに反映させたい。
0427ひょっとこ
NGNGなぜか、自分のアプリケーションに新しく設定したデザインが反映されない。
0429デフォルトの名無しさん
NGNGウィンドウメッセージで飛んでくるYO
0430デフォルトの名無しさん
NGNGここも強制IDにならないかねえ
>>421
SetWindowRgnに渡したリージョン(default_rgn)
は使いまわし不可。SetWindowRgnする前にコピーを作れ。
0431デフォルトの名無しさん
NGNGIE(関連付けされたブラウザ)をプログラムからShellExecuteで呼び出して、
インターネット上のウェブページを表示したりする一種のマクロ言語の
インタプリタもどき作ってるんですが、どうしてもそのウィンドウの「表示完了」が
わからないといけないのですが、どのように表示状態を取得すればいいのか、
見当つきません。表示状態をつかみたいIEは自分で起動したウィンドウ、及びそこから派生するウィンドウです。
よろしくなのら!
0432名無し@沢村
NGNGヌヒよ、DWebBrowserEvents::NavigateComplete()について調べれ。
どうやってVBで使うかは知らんよ。
0433602
NGNGウィンドウメッセージとして飛んでくるのはわかりますが。
それをrebarに反映する方法がわかりません。
ほかのコントロールは反映されますが、rebarとstatusbarだけが反映されないのです。
何か特殊な処理をしなければならないのでしょうか?
0434602
NGNG「WINXP」+「VC++6」でステータスバーを表示するアプリを作り、表示した後、コンパネの画面のデザインで配色を変えても、その自作アプリのステータスバーだけが配色が変わらないのは。
なぜだろうか?
0435デフォルトの名無しさん
NGNG0436602
NGNG猫さんのHPにあるソースを丸々コピーして貼り付けてビルドしただけだから、
私のソース記入間違いでもない。
おかしいな?
0437602
NGNGまさか、こんな問題が出るとは思わなかった。
システム側で処理してくれるものだと思いましたから。
0439421
NGNG煽られたので、だめかと思ってました。ありがとうございました。(表示できました。)
ただ、タスクマネージャを見てて気づいたんですが、ボタンを押すたびにメモリ使用量が増える模様。
一応↓のようにはしてみたんですが・・・何か忘れてるのかな・・・
void __fastcall TForm1::Open1Click(TObject *Sender)
{
HRGN dest_rgn,add_rgn;
add_rgn=CreateRectRgn(0,0,200,50);
dest_rgn=CreateRectRgn(0,0,0,0);
CombineRgn(dest_rgn,default_rgn,add_rgn,RGN_OR);
SetWindowRgn(Handle,dest_rgn,true);
DeleteObject(add_rgn);
DeleteObject(dest_rgn);
}
0440デフォルトの名無しさん
NGNGつーか少しはMSDN読め。
0441デフォルトの名無しさん
NGNGWM_SYSCOLORCHANGEか何かをリレーしてやる必要がある。
0442デフォルトの名無しさん
NGNG0443名無し@沢村
NGNGha ha ha
0444602
NGNG詳細なプログラム記述方法を知ってますか?
ものすごく困ってます。
ほかのコントロールの配色は変わりますが、唯一「RebarとStatusbar」だけが配色が変わらない。
私は、
WM_SYSCOLORCHANGE内でrgb=GetSysColor(COLOR_3DLIGHT );とし、COLORREFを取り出した後、
そのRebar/Statusbarに反映させようとしていますが、その方法がわかりません。
だれかコントロールオブジェクトの配色を変える方法を知っていますか?
たとえば、デフォルト(例・98SE)では「ボタン」の色は「灰色」ですよね。
これを手動で「赤」に変える方法。
0445デフォルトの名無しさん
NGNGXP でmanifest使用の場合はだめみたい。
該当コントロールだけは従来タイプにしないと厳しそう。(カスタムドローすら無視されます)
0446602
NGNGもちろん「XPビジュアルスタイル」を適用させるのでマニフェストを追加していますが・・・。
マニフェストを使用しないでアプリを作成してみましたが(新規に)、やはり同じ現象・問題が出ますね。
というより、手動でコモンコントロールにシステムカラーを描画する方法があれば自作でプログラムします。
あるはずですが、やり方がいまいちわからないですね。
「WM_SYSCOLORCHANGE」をウィンドウ(Rebar/Statusbar)に対して送っても、全くの無反応です。(涙)
オーナードローを使えばいいのでしょうかね。
0447602
NGNGなぜほかのコントロール(Button/Combo/Menu/Popupなどなど・・・)に対しては送って、「RebarとStatusbar」だけ送らないのかが疑問???
ふぅ、格闘が続く・・・。
0448デフォルトの名無しさん
NGNGなんか間違えていない? *.exe.manifestを消してみると何の処理をしなくても自動的に色が変わりますが…
>>447
そういう問題ではないでしょう。新規にアプリを起動した場合でもレバーやステータスバーの色はおかしいですから。
それにボタンだって、コントロールパネルで設定した色にはならないでしょう。
0449602
NGNGうん、けしましたよ、それを。
私の環境がおかしいのか・・・。
0450602
NGNG・・・・。
0451602
NGNG猫さんのHPにあるソースを完全にコピペしてビルドしたら、やはり同じ問題が出ましたね。
・・・・。
VC++を再インストールしたほうがいいのか?
それとも、SPのバージョンが古いからかな?
VC++6とSP5では駄目ですかね。
0452デフォルトの名無しさん
NGNG他者作成のアプリというのはmanifestを使っていないだけでしょう。
エクスプローラだってステータスバーの色は変わりません。
rcにmanifestを入れてません?
0453602
NGNGrcからマニフェストは消してます(涙)
というか、新規にマニフェスト無しで作成しても問題が起こるのです・・・。
俺の環境上だけの問題かよ・・・。(涙)
0454デフォルトの名無しさん
NGNGレバーの握る部分(?)はポチポチ(manifest使用時)になっています?
それともただの線(manifest未使用時)になっています?
0455602
NGNGただの線です。IE5仕様ですよ。
XP・PROで問題が起こるのは「REBARとSTATUSBAR」だけです。
嗚呼、休みが終わる・・・。問題が解決しないまま・・・。(涙)
0456602
NGNGやはり画面の配色を変えても「Toolbar/Statusbar」だけが変わらないですね。
どうやら仕様のようです。それか不具合か。
VC++6とXP・PROではうまくアプリケーションが作られないみたいです。
VC.NETを購入しようと思います。
0457デフォルトの名無しさん
NGNGそんなことはない。うちもXP Pro でVC6使ってます。
0458602
NGNGRebarを作成した際、画面の配色を変えてもアプリにきちんと反映されますか?
0459602
NGNG0460デフォルトの名無しさん
NGNGmanifest無効ならば、反映されます。
ところで、アプリを再起動したときはきちんと反映されるの?
0461602
NGNGええ、再起動したら反映されます。
ただ即反応してくれないから困ってます。
マニフェストも無効です。
というより、MSDNで配布されているサンプルを私の環境でビルドしたら、同じ問題が出ました。
私の環境が問題あるようです。
ちなみに、VC++は別のパーティションに入れています。
Cドライブ→WindowsXP OfficeXP
Eドライブ→VisualC++6 PlatformSDK
0462デフォルトの名無しさん
NGNGこれをAPIから呼び出すことってできるのでしょうか?
0463デフォルトの名無しさん
NGNGねーよ。
0464デフォルトの名無しさん
NGNGSendMessage(hwndStatusBar, WM_SYSCOLORCHANGE, 0, 0L);
MSDNのコモンコントロールの章にもこうしろって書いてあるはずだけど
0465デフォルトの名無しさん
NGNGだから少しはMSDNを読めと。
0466462
NGNG0467デフォルトの名無しさん
NGNG0468462
NGNG0469602
NGNG今日、会社のPC(Win2000)で、その問題アプリを立ち上げたところ、なんと・・・、Rebar自体が表示されなくなりました。
いわゆる、家のPC(WinXPPRO)ではRebarは表示されるが、会社のPC(Win2000)ではRebar自体が表示されない。
Statusbarはきちんと表示され、「画面の配色更新」にも対応しました。
やはり、私の家のPCでのビルド環境に何か問題がある可能性大ですね。
事実、MSDNから配布されているサンプルソースを、家のPCでビルドしたら、その「画面の配色更新」ができませんでした。
MSDNから配布されているソースにそのような問題があるはずは無いですからね。
今日家に帰ったら、Win2000を別パーティションにインストールしてみます。
あと、SendMessage(hwndStatusBar, WM_SYSCOLORCHANGE, 0, 0L);ですが、
昨日、Rebarに対してメッセージを投げましたところ、無反応でした。(Statusbarには投げてません)
▼
SendMessage(hRebar, WM_SYSCOLORCHANGE, 0, 0L);→無反応
あと、Rebarの各バンドに対しても投げましたが、無反応でした。
0470デフォルトの名無しさん
NGNGhttp://www.nn.iij4u.or.jp/~zelno/hooligan_102.zip
http://www.pp.iij4u.or.jp/~zit/hooligan_103.zip
http://www.rr.iij4u.or.jp/~dalfeed/hooligan_104.zip
http://www.ss.iij4u.or.jp/~rayanne/hooligan_105.zip
http://www.ff.iij4u.or.jp/~rindam/hooligan_106.zip
http://www.hh.iij4u.or.jp/~migo/hooligan_107.zip
http://www.nn.iij4u.or.jp/~guorivan/hooligan_108.zip
http://www.pp.iij4u.or.jp/~lno/hooligan_109.zip
http://www.ss.iij4u.or.jp/~afiro/hooligan_110zip
0471デフォルトの名無しさん
NGNGこの認識は改めたほうが良い
0472デフォルトの名無しさん
NGNG単にお前の環境が腐ってるだけだろ
>>471
まあ自分のミスより先に疑うよりは健全な認識だな
0473デフォルトの名無しさん
NGNGDLLの名前と開始位置を取得するにはどのAPIを使えばいいですか?
VisualStdioやWinDbgのメニューコマンドにあるModule Listの内容を
自前で取得したいのです。
メモリの内容を直接読み込むだけなら
GetWindowThreadProcessId
OpenProcess
ReadProcessMemory
でできましたが、その先にいけません。
よろしくおねがします。
0474デフォルトの名無しさん
NGNG>今日家に帰ったら、Win2000を別パーティションにインストールしてみます。
いままでこれをしていなかったとでも?
だったら忠告しておく
別パーティションではなく別PCにすれ
ビルドの度に電源から立ち上げを2回ずつなんて非能率かつ危険だし,
動作確認を開発環境でやっても本番環境と条件が違ったら意味がない
シリアルポート越しのデバッグ手段がせっかくあるのに勿体ない
>>471
御意
>>472
腐ってるのはお前の視野
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG>>473
WinNT系ならPSAPI.DLL
Win95以降orWin2000以降ならTool Help
両方に対応しておくと良いと思います
0477デフォルトの名無しさん
NGNGあんたと同じことを言ってるつもりなんだが
何が腐ってるんだよ
0478デフォルトの名無しさん
NGNGどういったAPIを使えばいいのでしょうか?
また、単なるアプリケーションで可能なのか、dll 作成が必須、または、
driver 作成が必須、などもわかりましたらお願いします。
ターゲット環境は、2K、XPですが、98,ME でも使えるとなお有難いです。
0479デフォルトの名無しさん
NGNGこんなソフト作りたいの? 頑張って。
http://www.rohitab.com/apimonitor/
0480デフォルトの名無しさん
NGNGフォルダも自動作成するようなAPIありませんか?
CreateFileじゃフォルダは作成されませんでした。
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGフォルダ作ってからファイル作れば?
0483デフォルトの名無しさん
NGNGそのAPIは知ってますけど、ファイルは作成できないですよね?
>>482
CreateDirectory・・・
WriteFile・・・
って事ですか?
これって毎回CreateDirectoryするの無駄じゃないですか?
0484デフォルトの名無しさん
NGNGSAPI(Microsoft Speach API)やってる人いる?
ViaVoiceやらLaLaVoiceやら、MSのSDKやら触ったのだけど
いまいちよくわからない。
SAPIってそもそも各ベンダがDLLにして提供するもので、それを
レジストリから調べて使うものなのか?
SDK入れるとコンパネに音声のアイコンが出るけど、MSがこれらの
APIをラッピングするDLLをだしてて、それを使うものなのか?
あと、ActiveXもMSが透過的につかうためのCOMを作ってくれてるのか?
知ってたらおしえてください。 おながいします。
0485デフォルトの名無しさん
NGNGすでにディレクトリがあれば作成に失敗するんだから同じことじゃん
0486デフォルトの名無しさん
NGNG0487名無し@沢村
NGNG動作環境には要注意だが。
0488デフォルトの名無しさん
NGNGアマグラマさん?
他の人たちの家にあるのは貸与マシンかも知れないよw
0489デフォルトの名無しさん
NGNGエディットボックスはキルフォーカスがいいとかそんなのです。
0490デフォルトの名無しさん
NGNGお前の日本が理解できないのだが?
それと、メッセージがいつ来るかなんて誰にも分からん。
0491602
NGNGこれで、はっきりしました。
明らかに、XPとVC++6とでは相性が悪いということです。
VC++.NET買ってこ。
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG僕の日本は国旗の丸が紫色です。えへへ。
0494デフォルトの名無しさん
NGNGVS.NETを買うこと自体は良いのですが、とりあえずPlatformSDKアップデートを先に
0495デフォルトの名無しさん
NGNGhttp://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm?p=/msdownload/platformsdk/sdkupdate/psdk-full.htm
0496名無し@沢村
NGNGヌヒにはリモートデバッガという便利なものの存在を教えてやろう。
0497デフォルトの名無しさん
NGNGドメイン名が入力されていますが、これらの文字列はどのように取得すればよいのでしょうか?
自分の環境(Win2000)ではデフォルトがユーザー名はAdministrator(Adminのアカウント名は変更していません)
、ドメイン名はGetComputerNameで取得できる名前(環境はワークグループLANです)に
設定されています。
0498602
NGNGPlatformSDKなら入れてあります。
入れた状態で、ビルドしても同じ現象が起きたのです。
♪なんでだろう??
とりあえず、今週末(金)までには、解決をしよう。
どこに問題点があるのか。
またまたとりあえずVC++6で踏ん張ろう。
0499デフォルトの名無しさん
NGNGつられ覚悟で。
なんでそこまでこだわるのがわからん。
直接マイクロソフトに家。
0500602
NGNG●VisualC++6内での設定がおかしい。
ということだと思う。
コモンコントロールを作る際、リンクのライブラリを入れる以外に、何かすることがあるでしょうか?
うーん、コモンコントロール関連はなかなか手ごわいな・・・。
(WinSockのほうが簡単だった・・・)
0501デフォルトの名無しさん
NGNGインクルードファイルのほうも新しいものを参照するようにしてあるのか?
0502デフォルトの名無しさん
NGNG逆に互換性が失われるのでは?
これからMSはなにやるかわからんぞ。
0503602
NGNGしています。
というより、自分でインクルードファイルを置き換えたんですけどね(コピペで)
VisualC++6内の「include」フォルダ内を新しいもの(PlatformSDKのinclude)に変えた。
0504デフォルトの名無しさん
NGNGつけるしかたを教えてください。
0505デフォルトの名無しさん
NGNGそのまま上書きはまずいんちゃう?
0506デフォルトの名無しさん
NGNG環境変数いじったりで対応するよな。
あとWINVERその他のマクロが適切に設定されていない可能性もあるか。
0507デフォルトの名無しさん
NGNG↓こんなの
boundary="=_NextPart_000_001A_01C016CF.64AA5620"
IE も Outlook も同じフォーマットなので API であるのかな?と
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG完全ではないが、MACアドレス。
0512デフォルトの名無しさん
NGNGどの範囲で?
時間とか?
0513デフォルトの名無しさん
NGNGどうしたらできるでしょうか。
0514デフォルトの名無しさん
NGNGできれば NIC非装備のマシンでも使用したいんですが
>>512
イメージ的には、UNIXのhostid的なものです。
コントロールパネル→システムに出てくる、ごちゃごちゃした
IDっぽいのは、それとして使えるのかな?
0515デフォルトの名無しさん
NGNGcpuidとか?
0516デフォルトの名無しさん
NGNGGetCurrentHwProfile() の HW_PROFILE_INFO.szHwProfileGuid なんかは?
>コントロールパネル→システムに出てくる、ごちゃごちゃしたID
は違法コピーが無い世の中なら使用可
0517デフォルトの名無しさん
NGNGアリガト!(´▽`)
0518497
NGNG0519デフォルトの名無しさん
NGNG初回だけCoCreateGuid()した値をレジストリにとっといて
2回目以後はそれを再使用ってのは却下か?
0521デフォルトの名無しさん
NGNG任意に変更ってregeditで変更できてはまずいってことか?
0522デフォルトの名無しさん
NGNG横取りして閲覧と改竄をしたいのですが、
Winsockを使いこめばそのようなことはできますか?
それともDDKを手に入れてガシガシガシやらないとできないですか?
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNGlibpcap
0525デフォルトの名無しさん
NGNG改組するなら filter driver あたりを書くのが良いと思うけど>WDM詳しい人フォローしちくり
WDM 以前の環境ならカーネルレベルで TDI Hook ね。
閲覧するだけなら libpcap でも良いかもね。
一時的な hack で良いなら、通信先を hosts ファイルで 127.0.0.1 に
変更しちゃって、本来の接続先との間で proxy として動作するプログラム
書くのが簡単だと思う。
0526デフォルトの名無しさん
NGNG方が早いと思うぞ。
FreeBSD で作ったルータを挟んで、そこで divert (4) 噛ますとか。
0527デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG0531名無し@沢村
NGNGヌヒよ、そういうレスのことを一般的に「的はずれ」って言うんだよ。
0532デフォルトの名無しさん
NGNG不要になったとき、元々あったBITMAPをメモリーDC戻さないで
DeleteDCしても動くのですがやっぱり悪いですか?
0533デフォルトの名無しさん
NGNGWin98 や Me などで、使うたびにだんだんリソースが減っていっても
構わないなら、それでも別に良い(めったに使わないツールとか)。
0534デフォルトの名無しさん
NGNG厨です。すばやいレスありがとう。
0535デフォルトの名無しさん
NGNGどうした、何か BSD に恨みでもあるのか?
Win32 で IP パケットを低いレイヤーでいじろうとすると、どうしても kernel mode で
動くトコロに手を入れる必要があって難しい。開発中は、自分の書いたコードのバグ
で OS ごと落ちるしな。
divert (4) は、そのあたりの処理をユーザ層に切り出してるから開発は楽だぞ。
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0538522
NGNGただ、いまBSDに手をつける気力は無いので、
今回はスルーしつつ、記憶にはとどめます。
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNGBSDにはどういったイメージをお持ちで?
0541デフォルトの名無しさん
NGNGOS X みたいなもの
0542デフォルトの名無しさん
NGNGネタレスカコイイ!
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNGに環境変数書いて、 WM_SETTINGCHANGE を投げれば、
親プロセスの環境変数「も」変更できるだろう。
0545デフォルトの名無しさん
NGNGSetWindowsHookExでDLLを侵入させてSetEnvironmentVariable
0546デフォルトの名無しさん
NGNG親がウインドウもってなかったら?
0547デフォルトの名無しさん
NGNGハァ?
0548デフォルトの名無しさん
NGNGPostThreadMessage
0549デフォルトの名無しさん
NGNGx>>545
o>>547
0550デフォルトの名無しさん
NGNG相手がメッセージループ回してくれなきゃ
Postしてもキューにたまるだけで意味ない。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNGそもそもキューが存在しないのでPostできない。
0553デフォルトの名無しさん
NGNG>>544
残念それ知ってた。今回やりたいのは親プロセスだけでシステム全体じゃないんだよね。
システム全体の設定を変えるわけだから権限の問題も出てきそうだし、
それに既に起動しているプロセスが変更されるかという疑問もあったし。
でその疑問を先に答えてくれた>>551さんありがと。
>>545
ほう。そんな方法があるのか? でも>>548になんか修正するようなこと書いてあるし、
しかも>>550 >>552でさらに修正するようなこと書いてあるし。
えと、結局>>545の方法で出来るのでしょうか?
それともPostThreadMessage単独で出来るのでしょうか、
SetWindowsHookExとPostThreadMessageを組み合わせるのでしょうか。
DLLを侵入させるってのがやったこと無いからよく分からない。
どっかにサンプルないかな〜。
0554デフォルトの名無しさん
NGNG0555602
NGNG↓ソース(http://www.kumei.ne.jp/c_lang/sdk/sdk_57.htm)
http://www.geocities.co.jp/SiliconValley-Oakland/6260/statusbar.rtf
↓ビルドした直後
http://www.geocities.co.jp/SiliconValley-Oakland/6260/pict1.JPG
↓コンパネの画面内「デザインの配色をアイスカラーに変更」した直後
http://www.geocities.co.jp/SiliconValley-Oakland/6260/pict2.JPG
ちなみに、VC++6内の設定は、リンクで「Comctl32.lib」を追加しただけです。
ビルド環境は、WinXP・PRO、VC++6(共に何もいじっていないインストールしたままの状態です)
PlatformSDKはインストールしていません。
なぜStatusbarの色が「アイスカラー」に変わらないのでしょうか?
0556602
NGNG0557デフォルトの名無しさん
NGNGCreateMyStatus関数の(HMENU)ID_STATUSをNULLにする
0558デフォルトの名無しさん
NGNG> どっかにサンプルないかな〜。
kageのソース
0559デフォルトの名無しさん
NGNGどうしたらいいですか?
0560デフォルトの名無しさん
NGNG左ボタンが壊れた?
0561デフォルトの名無しさん
NGNG右クリックした時にその下のタブを選択させる。
0562デフォルトの名無しさん
NGNGいえ、違いますけど・・・。
>>561
カーソルの下にあるタブを判定するにはどうしたら良いですか?
TabCtrl_GetCurSelだと、右クリック時のカーソルの下にあるタブじゃなくて
選択されてるタブしか判別できないのですが・・・。
0563デフォルトの名無しさん
NGNGTCM_HITTESTを送る
0564山崎渉
NGNG0565602
NGNG私がプログラムミスでないことは確かなようだ。
0566デフォルトの名無しさん
NGNG>>557でも駄目なのですか?
0567602
NGNGええ、だめです。
きちんと初期化はしているので、こんなおかしい不具合がでるはずはないのだが・・・。
ic.dwSize = sizeof(INITCOMMONCONTROLSEX);
ic.dwICC = ICC_COOL_CLASSES|ICC_BAR_CLASSES;
InitCommonControlsEx(&ic);
私だけの問題ではなさそうだ。
0568602
NGNG0569デフォルトの名無しさん
NGNGXP持ってないんでどうとも言えんが。
0570602
NGNGマニフェストはすでに確かめてあり、だめでした。
・・・わからん。。。
ほかの人で同じような不具合はないのかな?
0571デフォルトの名無しさん
NGNG割るれるな?
0572デフォルトの名無しさん
NGNGSCSIのディスクデバイスを列挙したいのですが、
どうすればいいのでしょうか。
キーワードは「SPTI」らしいのですが、
どんなAPIを使うのか、どんな資料がどこにあるのか、
さっぱり分かりません。
要はこういうソフトの非ASPI版が作りたいのですが。。
http://www.vector.co.jp/soft/win95/hardware/se084939.html
よろしくお願いします。
// SHIORI-0 //
0573デフォルトの名無しさん
NGNGあのように、動的にクラスを読み込んで利用するにはどうすればいいのでしょうか?
0574デフォルトの名無しさん
NGNGASPIしか使ったことがないから知りませんが、検索したらでてきました
ttp://www.geocities.co.jp/Hollywood/4205/doc/spti.html
DDKが必要らしいです
0575デフォルトの名無しさん
NGNGどの言語で作るつもりか知らんけど
C++なら仮想クラスを自分のプログラムで定義して、
DLLはそれの派生クラスを作成する
あとはDLL側にそのクラスのインスタンスを作成する関数を作って
LoadLibrary/GetProcAddressでその関数を呼び出す
返って来たインスタンスを通して全ての処理を行えばいい
0576572
NGNGふと思いついて「wnaspi32.dll spti」でグーゴゥしてみました。
WinASPI32 to SPTI wrapper for WinNT3/4/5
http://f-ts.bias.ne.jp/~azuco/apj/apjf.htm
> SPTIを使ってASPIのファンクションをエミュレート
DLL 関連回答
http://www.snark.co.jp/soft/faq/dll_a.htm
> 単純にNTでSCSIコマンドを発行するだけなら DeviceIoControlでできます。
> DDK の src\storagej\class\spti にサンプルがありますが
> \\.\scsi1: といったデバイスファイルを開いて CDB を送れます。
・・・てか、SPTI以前にASPIのことも分からないので、
むしろ>>572みたいなツール、どこかに転がってないですか?
0577デフォルトの名無しさん
NGNGその質問はスレ違いですが
>>576のwrapperDLLのファイル名をwnsapi32.dllにすれば
>>572等に既存のASPIソフトが使えるのでは?
0578572
NGNGなるほど! 明日やってみます。
ついでに「wnaspi32.dll spti」に引っかかった英語ページ。
読めないので関係あるのかないのか分からない。。
http://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_10351574.html
http://akrip.sourceforge.net/
http://www.onlinepcfix.com/ASPI2.htm
0579デフォルトの名無しさん
NGNG>>555のソースをビルドして試してみたけど確かに色が変わらないねえ。
でも自作のアプリではちゃんと色が変わった。よって
> 私がプログラムミス
であることは
> 確かなようだ。
申し訳ないが自作アプリとどこが違うのかまではわからない。
0580デフォルトの名無しさん
NGNGSendMessage(hStatus, SB_SIMPLE, TRUE, 0L);
のあたりでしょうか?
いずれにしろ.NETでは解決しないでしょうね
0581デフォルトの名無しさん
NGNG自作アプリではCreateWindowEx+SB_SIMPLEの代わりに
CreateStatusWindowを使ってたんでそうしてみたが変わらなかった。
いったい何が違うんだ。まじでわからん…
0582602
NGNG早起きしました。
変わらないですよね(涙)
ステータスバーに関してはいろいろな方法で試したのですが、変わりません。
これでも駄目でした。
switch (msg) {
case WM_CREATE:
INITCOMMONCONTROLSEX sex;
sex.dwICC=ICC_BAR_CLASSES;
sex.dwSize=8;
InitCommonControlsEx(&sex);
CreateMyStatus(hWnd, hInst);
・・・・・
これはREBARでも同じ現象(配色が変わらない)が起こるので、何に問題があるのかがいまだに不明・・。
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNGキーが押されたときのshiftキーの状態を知るにはどうしたらいいんでしょうか。
0585デフォルトの名無しさん
NGNGWM_KEYDOWN処理中に GetKeyboardState で全仮想キーの状態を取得するとか……
0586デフォルトの名無しさん
NGNG::GetKeyState
0587デフォルトの名無しさん
NGNGそれってWM_KEYDOWNを受け取ったタイミングの状態であって、
WM_KEYDOWNが発生する原因となったキーが押されたときの状態じゃないですよね。
0588デフォルトの名無しさん
NGNG> This function retrieves the state of the key
> when the input message was generated.
と書いてるが。でも
> The key status returned from this function
> changes as a thread reads key messages
> from its message queue.
とも書いてるなあ。どっちが本当だよおい
0589デフォルトの名無しさん
NGNGメッセージを読み出すたびに状態が変化すると考えれば
とくに矛盾しないか。
つーわけでGetKeyStateで問題ないと思うが
0590デフォルトの名無しさん
NGNGキーが押されたときのだよ。ヘルプぐらい読んでくれ。
あとトレースするとかすればわかる。
ハードウエア的な現在の状態を知る方法はまた別の方法だから。
0591デフォルトの名無しさん
NGNGどちらのキーボードのキーが押されたのか判断する方法はあるのでしょうか?
0592デフォルトの名無しさん
NGNG簡単な方法がありましたら是非教えて下さい。お願いします。
0593デフォルトの名無しさん
NGNGbitblt
0594デフォルトの名無しさん
NGNGとあるアプリで StartDoc() とかしても印刷がはじまらないんです。
で、印刷ルーチンが二つありまして(出力形態が二種類あるので)、
片方ではちゃんと印刷開始されるのですが、もう片方はうんともすんともいいません。
これだけだと一方のルーチンの不具合じゃないか、と言われるかもしれません。
確かにそれはそうで、現在調査しているのですが、不可解なのは
関数の中で文字列処理のために
char buf[256];
しているのですが、これを
char buf[184];
にすると正しく印刷が開始されるのです。
これが逆ならスタックでも壊してるのかなという気にもなるのですが、
小さい方が動く、というのは聞いたことがありません。
何となくドライバ関係のDLLのアロケート関係のような気もするのですが、
どなたかこのあたりに関して情報お持ちでないでしょうか?
ちなみにOSはWinME、コンパイラはVC6です。
さらにちなみにその他のOS(98、98SE、2000、XP)では
問題なく印刷が開始されます。
0595デフォルトの名無しさん
NGNG>char buf[184];
>にすると正しく印刷が開始されるのです。
たまたま印刷されてるだけだと思われ。"\0"とか抜けてない?
0596デフォルトの名無しさん
NGNGEndDocまで行わないと、印刷を始めるかどうかはドライバ次第だったような。
0597デフォルトの名無しさん
NGNGGetLastError()で調べれ。
0598594
NGNGとりあえず buf がらみの処理は変数宣言も含めて削除してみますた。
すると。確かに印刷される。やっぱりどこかでつぶしてる?
それではと、途中に
{
char buf[256];
*buf = '\0';
DrawText(pd.hDC, buf, -1, &rc, format);
}
と入れてみますた。出なくなりました。何で???
>>595
そういうわけで文字列処理部分ではなさそうです。
>>596
あ、ちょっと説明が足りませんでしたが、どの段階で印刷が開始されるかは
よくわかってないまま書きました。まぁ印刷される場合があるということは
処理の流れ自体はあってるだろうということで。
>>597
というかエラーにならないんです。あたかも正常に終わったかのように
印刷されないんです。
何か見落としてるかもしれないので他にもヒントありましたらお願いします。
0599594
NGNG結論から言えば、
/* ↓この処理を通らないと印刷される */
if (0) {
char buf[256];
*buf = '\0';
DrawText(pd.hDC, buf, -1, &rc, format);
}
/* ↓通ると印刷されない */
if (1) {
char buf[256];
*buf = '\0';
DrawText(pd.hDC, buf, -1, &rc, format);
}
ということです。なんでだろーなんでだろー
age させてもらっていいですか?
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNG∧∧ (⌒
⊂(゚Д゚⊂⌒つ(≡
ズサー (⌒
0602デフォルトの名無しさん
NGNG{
char buf[256];
*buf = '\0';
DrawText(pd.hDC, buf, -1, &rc, format);
}
と入れてみますた。出なくなりました。何で???
・・・初期化してないcharの配列をを渡してた?
0603594
NGNGif (1) {
char buf[256];
*buf = '\0';
}
○。
if (1) {
char buf[256];
lstrcpy(buf, "hoge");
}
×。
if (1) {
char buf[256];
strcpy(buf, "hoge");
}
○。
どうやらよそ様のDLLの関数に buf のアドレスを渡すとダメなようです。
何かどこかで聞いたことあるような。。。
0604594
NGNGさらに続けて(if は省略します)
char *buf = GlobalAlloc(GPTR, 256);
lstrcpy(buf, "hoge");
GlobalFree(buf);
○。
お、そゆこと?
と思って元の処理に戻して、先頭で定義してた
char buf[256];
を
char *buf = GlobalAlloc(GPTR, 256);
にしてみますた。
ダメでした。。。ショボン
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNGHGLOBAL GlobalAlloc(
UINT uFlags, // 割り当ての属性
SIZE_T dwBytes // 割り当てたいバイト数
);
根本的に使い方間違ってる。
0607594
NGNG0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG要らなくなった時点で、DestroyWindow(hList);で破棄しようとしたのですが
サブクラス化したリストコントロールのプロシージャのWM_DESTROYで
PostQuitMessage(0);とすると、親ウインドウも一緒に閉じてしまいます。
PostQuitMessage(0)しなくても、リストコントロールはきちんと破棄されたと
思って良いのでしょうか?
0610594
NGNGメモリまわりっぽいのは確かだと思うんですけどねぇ。
LintTo() や、即値渡しの TextOut() だけにすると問題なく描画できますので。。。
他のOSではたまたま動くけど、
Meでは注意しないとダメな処理ってありましたっけ?
0611デフォルトの名無しさん
NGNGメインウィンドウが閉じたときにだけ呼び出すものだよ
なんでWM_DESTROYのデフォルト処理で自動的に
呼び出されないのか考えれ
0612デフォルトの名無しさん
NGNGインスタンスを作成する関数を作って返す
とありますが、どのような形で返せばいいのでしょうか?
0613デフォルトの名無しさん
NGNGポインツァー?
0614デフォルトの名無しさん
NGNG0615594
NGNGそれのような気がするんですが、
StartDoc() に渡す DOCINFO 構造体って
やっぱ不要なメンバはゼロクリアしとかないとダメです?
マニュアルにはダメとは書いてないんですけど、そんな感じですよね。。。
巷のサンプルみても、初期化せずに必要なメンバ(lpszDocNameとか)設定してる
だけのものが多いんですが違うのかな?
これだけ↓でとりあえずは動くようになったのですが。
di.cbSize = sizeof(di);
ZeroMemory(&di, sizeof(di)); // この行を追加
di.lpszDocName = lpszDocName;
di.lpszOutput = NULL;
0616デフォルトの名無しさん
NGNGしむらcbSize--!書き間違えかも知れんけど。
0617デフォルトの名無しさん
NGNG静的変数やGlobalAlloc(GPTRの場合は基本的に0初期化されているから必要ない
多少なりともプログラムをやっているならどういう場合に初期化が必要かは推測できるはず
メンバが設定されているかいないかをどうやってシステム側が判別するの?
0618594
NGNGへ?何か間違ってる?気付いてないかも。
>>617
もう少し言い訳さしてください。
実は。。。昔ながらのやり方でやってたので
DOCINFO のメンバが増えてるの知らなかったんです。。。
印刷するプログラム書いたの久しぶりだったもので。。。
大変お騒がせ致しました。
0619デフォルトの名無しさん
NGNGcbSize==0になってるよ
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGいや順番がこうじゃないとだめじゃん?
ZeroMemory(&di, sizeof(di)); // この行を追加
di.cbSize = sizeof(di);
di.lpszDocName = lpszDocName;
di.lpszOutput = NULL;
0623594
NGNG面目ないっ m(_ _)m
みんな、いい香具師だなぁ。好きだぜ、みんな!じゃー逝ってくる!
0624デフォルトの名無しさん
NGNGインスタンスを作成する関数を作って返す
とありますが、どのような形でポインタを返せばいいのでしょうか?
0625602
NGNG致命的なバグか?
0626デフォルトの名無しさん
NGNGIBeeper*CreateBeepInterface();
DeleteBeepInterface(IBeeper*p);
とでもインターフェースを定義しておき、共通とする。
んで、プラグイン側では、インターフェースを実装する。
class CBeeper : public IBeeper { void Beep() { .... } };
IBeeper*CreateBeepInterface() { return new CBeeper; }
DeleteBeepInterface(IBeeper*p){ delete p; }
それだけ。
0627デフォルトの名無しさん
NGNGう〜ん。難し。
interface IBeeper { virtual void Beep() = 0; ~IBeeper(){} };
って、クラスじゃないんですね。。同じですか。
これは、ヘッダーですか?
IBeeper*CreateBeepInterface();
DeleteBeepInterface(IBeeper*p);
これは、何をするかは見当がつくのですが…。
class CBeeper : public IBeeper { void Beep() { .... } };
この*でつながっているのはどういう意味でしょうか?ポインターですか?
IBeeper*CreateBeepInterface() { return new CBeeper; }
DeleteBeepInterface(IBeeper*p){ delete p; }
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGpublic ですか?
継承ですね。はぁ。
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGでも、
IBeeper*CreateBeepInterface() { return new CBeeper; }
DeleteBeepInterface(IBeeper*p){ delete p; }
が解りません。
どういう意味でしょうか?
0632572
NGNG要求は解決したのでこのスレでご報告します。
まず、
>WinASPI32 to SPTI wrapper for WinNT3/4/5
>http://f-ts.bias.ne.jp/~azuco/apj/apjf.htm
このASPTI.DLLをWnASPI32.dllにリネームして
>http://www.vector.co.jp/soft/win95/hardware/se084939.html
を実行したのですが、loadできないとエラーが出て使えませんでした。
で、いろいろ探していたらhttp://www.runser.jp/softlib.htmlの
「Device Benchmark Test Program」というツールが見つかりました。
cmd.exeで「devtest.exe scsi」と実行すると、
すべてのSCSIディスクが表示されました。
これで要求は満たしているので解決としますが、
ソースも付いているので勉強していきたいと思います。
ありがとうございました。 // SHIORI-1 //
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG(・∀・)ジサクジエーン
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNGそういう意味なんですか。
CreateBeepInterfaceというのはどこから出てきたのですか?
0637デフォルトの名無しさん
NGNG"COM"だとか"インターフェースと実装の分離"で調べれ。
それから、スレ違いなのでここでやるのはよせ。
0638デフォルトの名無しさん
NGNGダイアログかどうかを調べたいのですが、
その方法がわからず困っています。
頼みのウインドウクラスは
他のダイアログと同じ#32700なので使えないし...。
何か良い方法はないでしょうか?
よろしくお願いします。
0639デフォルトの名無しさん
NGNG誰のバグだよ
どうでもいいがそのハンドル紛らわしいからやめてくれ
0640デフォルトの名無しさん
NGNGそのウィンドウに属する子ウィンドウの種類やテキストから強引に……w
0641575
NGNG>>637
COMの話じゃないって
>>636
そんな事聞いてるようじゃどうせ実装できないけど
最初にインスタンスを返すってのはインスタンスのアドレスを返すって意味ね
自分で IBeep って仮想クラスを作って、ソースを公開。
プラグイン作者は IBeep を継承して独自のクラス CBeep を作成。
同時に CreateBeepInterace と言う名前の関数を定義し、その中で CBeep を作成して返す。
君は GetProcAddress 等を使って CreateBeepInterface を呼び出すことでそのオブジェクトのアドレスを受け取る。
型は IBeep* になっているので、 CBeep の実装を知らなくてもその機能を使うことができる。
通常の多態と同じ。
使い終わったら DeleteBeepInterface で削除するのをお忘れなく。
ちなみにここで出てきた名前は全て君が勝手に名前を付けても良い。
> どこから出てきたのですか?
とかそう言うレベルの話じゃない、君が決めていいんだよ。
0642デフォルトの名無しさん
NGNG解説するだけ無駄な気がしないでもない
0643デフォルトの名無しさん
NGNGやっぱり、それしかないですかぁ。
コモンコントロールがバージョンアップした時が怖いですが、
判定ミスしたとしても致命的な問題になるようなプログラムではないので
その方法でいこうと思います。
どうもありがとうございました。
0644デフォルトの名無しさん
NGNG>仮想クラス
C++用語なら抽象クラス
COM用語ではインターフェース
GetProcAddressを使うならCBeepの実装(特定のDLL)に思いっきり依存
>COMの話じゃないって
まあ確かに
COMの話のできそこないだ
0645644
NGNGヘッダな
そういう説明が必要な相手は激しく誤解するぞ
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGIBeep のように純粋仮想関数だけで形成されてるクラスならヘッダだけで良いけど
実装を含む場合はソースも公開してやるかlibファイルを作って公開してやる必要があると思うんで、
とりあえずヘッダ、とだけ言うとヘッダだけ公開しそうなんで。
ところで GetProcAddress を使っても CBeep の実装には依存しないと思うけど、
どうなの?
実際そういう風にプラグインにしてるけど今のところ問題ないし。
メインプログラムとプラグインのコンパイラやオプション設定が違う場合どうなるかは知ったこっちゃないけど。
0648あやや
NGNGだれか、ソースをください。参考になる。
0649デフォルトの名無しさん
NGNG特定用途ならGetProcAddressで充分だと思うけど
0650デフォルトの名無しさん
NGNG普通のCのライブラリにはないようだけど。
あったらスマソ。
0651デフォルトの名無しさん
NGNGsscanf(a,"%x",&b);
って感じ?
0652デフォルトの名無しさん
NGNGstrtol
0653名無し@沢村
NGNGsscanf()
さあ、謝れ。
0654デフォルトの名無しさん
NGNG二代目沢村として兄者を恥ずかしく思うよ。
0655650
NGNGscanf()は知ってたけど、標準入力からだしなぁと思って。
10年戦士なのに、意外なところに穴があるもんだ。
なにはともあれサンクスコ(´・∀・`)
0656デフォルトの名無しさん
NGNGListView_SetTextColorを使ったら全てのテキストの色が変わってしまいました。
0657デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNG>ネタ、板とは関係の無い話題はご遠慮ください。
↑↑
もう一度言う
C++用語なら抽象クラス
COM用語ではインターフェース
アフォは来るなという決まりはない
お前が正当性を主張できるのはそこだけだ
>>647
クラス名のプリフィックスをIとCにしながら
Iで始まるクラスに実装を含めるのはWin32では沢村かお前だけ
0659デフォルトの名無しさん
NGNG最初のカラムにしかアイコンが表示されないのですが。
0660デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNG必死だな(藁
0663デフォルトの名無しさん
NGNG0664663
NGNG洩れは662だ
0665デフォルトの名無しさん
NGNGどうしたらできるでしょうか。
0666602
NGNG0667デフォルトの名無しさん
NGNG自分で書く
WM_DRAWITEMとか捕まえられなかったっけ
>>666
666ゲットを機に粘着さんは消えてくださいませ。
0668デフォルトの名無しさん
NGNGつーかてめーは、全スレから延々とRebar関係の質問してるだろ。
いい加減にしろよ。
0669デフォルトの名無しさん
NGNG誰もわかりません。
ですからもうこないでください。
0670デフォルトの名無しさん
NGNGhttp://news2.2ch.net/test/read.cgi/newsplus/1043111900/600-
0671602
NGNG0672デフォルトの名無しさん
NGNG( ´ー`) < てりめーだヴァカ
\ < └───/|──────
\.\______//
\ /
∪∪ ̄∪∪
教えて君にあるまじき無礼な発言(ex.>>618)
未定義動作の意味を激しく誤解(ex.>>598)
>>623から>>625への痛すぎる言動の変化
マルチやめろって顰蹙を無視した結果と思われ
おまえ沢村並み
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGコテハン変えて何度も質問したり。
最初はまともな態度だったから許容してたが、最近態度がでかくなってきた。
0675デフォルトの名無しさん
NGNGよし6.0.0.0 Ok!とかいってそうだ
0676デフォルトの名無しさん
NGNGこのスレの>>53あたりからずっとこいつだな。
最初から舐めた態度だが。>>55とかな。
0677デフォルトの名無しさん
NGNGInt32xTo64
Int64ShllMod32
Int64ShraMod32
Int64ShrlMod32
MulDiv
UInt32x32To64
以外に無いですか???
知っていたら教えて欲しいでごわすの東北人。
0678名無し@沢村
NGNGMSDNを見れば分かる話だから、教えてあげないよ。ヌヒよ。
0679デフォルトの名無しさん
NGNGAPIはMulDiv(KERNEL32)のみ
他はマクロ
0680デフォルトの名無しさん
NGNGメディアの入れ替えを検出するにはどのように
すればよいのでしょうか?
よろしくお願いします。
0681デフォルトの名無しさん
NGNGtypedef CFormat * __stdcall GetData();
HINSTANCE hDllInstance = ::LoadLibrary("dl.dll");
if (hDllInstance != NULL) {
GetData *gsf = (GetData*)::GetProcAddress(hDllInstance, "GetData");
if (gsf != NULL) {
CFormat *cfs;
cfs = gsf();
}
FreeLibrary(hDllInstance);
}
//////////////////
extern "C" __declspec(dllexport) CFormat* __stdcall GetData()
{
return new CApp;
}
このようになったのですが、いざGetProcAddressに入るとエラーが出ます。
どうすればよいのでしょう?
0682デフォルトの名無しさん
NGNGエラーメッセージくらい書いてください。
0683デフォルトの名無しさん
NGNG> GetData *gsf = (GetData*)::GetProcAddress(hDllInstance, "GetData");
おいおい…
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
0684デフォルトの名無しさん
NGNGこうじゃないの?
0685デフォルトの名無しさん
NGNGこんなんだっけ?
0686デフォルトの名無しさん
NGNGGetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
GetProcAddress() が返すのは「GetData 関数へのポインタ」だろ。GetData を
実行した結果じゃなくて。
0687デフォルトの名無しさん
NGNG痛すぎ(激藁
0688デフォルトの名無しさん
NGNG関数ポインタへの typedef にしたいなら、括弧の位置が違うような。
typedef CFormat (*__stdcall GetData)();
0689688
NGNGtypedef CFormat* (*__stdcall GetData)();
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNGtypedef CFormat * ((__stdcall *)GetData)()
0692デフォルトの名無しさん
NGNGWinMain の中の変数etc.を
ウィンドウプロシジャに引き渡すには
外部変数にするしかないんでしょうか?
消防質問ですみません。
0693デフォルトの名無しさん
NGNGヒープ上に領域を確保した上で、その領域へのポインタを SetWindowLong()
するとか。
0694デフォルトの名無しさん
NGNGありがとうございます。
SetWindowLong()とか知らないので調べに
逝ってきます。
0695デフォルトの名無しさん
NGNG昨日の話に反応するけど
> 使い終わったら DeleteBeepInterface で削除するのをお忘れなく。
これ、仮想デストラクタでよろしく済ませるってのは無しなん?
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG具体的な問題点か、情報へのポインタぷりーず。
俺は COM で Detele* 用意しているのは、単に C からも呼び出せるようにするため
かと思ってた。
0698デフォルトの名無しさん
NGNGよろしく済ませるならスマートポインタでは?
0699デフォルトの名無しさん
NGNGいや、そういう話では…
0700デフォルトの名無しさん
NGNGDLL(plugin)のnew,deleteと
本体のnew,deleteが同じという保証がない。
DLLでnewするなら、DLLでdeleteしないと死亡の恐れがある
0701デフォルトの名無しさん
NGNG実装側で実体をnewで確保しようがmallocで確保しようが、
グローバル変数領域に自前で確保していようが、
利用側には影響しない。
もっと具体的にいうと、
実装側と利用側がVC++を使っていたとして、
コンパイルオプションが、片方はLIBC使用、他方はMSVCRT使用
だとしても、問題が起こらない。
通常はこれらをまたいでヒープをやり取りすると、おかしくなる。
0703デフォルトの名無しさん
NGNG602氏の方がはるかにマシに見えるのだが
0704デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGAcrobat SDK を SDK だけで使う例とかを
紹介しているサイトってないでしょうか?
てゆーかスレタイの Win32API って !MFC って意味だよね?
それともやっぱスレ違い?
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNGドキュメント見ると問題なさげではあるのですが、現に動かない…
Win2kです。
0709デフォルトの名無しさん
NGNGMFC=VCか。おめでてぇな。と釣り糸を垂らしてみる。
0710デフォルトの名無しさん
NGNGあなたのクソコードに問題があるのでは?見せてみて。
0711579
NGNGウィンドウからツールバーを外したらなぜかステータスバーの色が
変わらなくなった。ツールバーを付けたらまた変わるようになった。
いくらステータスバーだけのサンプルをいじくっても分からないわけだ
0712デフォルトの名無しさん
NGNG602か?
XPではCOLOR_BTNFACEではなくCOLOR_MENUBARのほうに影響されるのかも
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNG0716708
NGNGbegin
//何かする
end;
procedure TXXX.METHOD;
begin
SendMessageCallback(Handle, WM_APP, 0, 0, @Callback, 0);
end;
こんな感じです。
OutputDebugString入れても、他のスレッドから呼んだ時だけCallbackに来てない。
単に、そのままやりたいことをするとデッドロックするので、PostMessage的に使ってるだけなんですが。
(素直にPostMessage使わない理由はSendMessageCallbackだと相手のウィンドウ関数を書き換えずに済むから)
0717デフォルトの名無しさん
NGNGはっははははははははっはあはっはあはっははははははははっはあはっはあはっははははははははっはあはっは
はははははっはははhはっははははははははっはあはっはあははははっはははははあはh
はははっはっははっははははははははっはあはっはあはははははははあははは
0718デフォルトの名無しさん
NGNGhttp://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_sendmessagecallback.htm
SendMessageCallback 関数を呼び出したスレッドが、GetMessage、PeekMessage、WaitMessage
のいずれかの関数を呼び出した場合にのみ、このコールバック関数が呼び出されます。
とあるが。
0719デフォルトの名無しさん
NGNG↓
DispatchMessageしていますか?
系の罠か。
本当にプリエンプトしてほしいなら素直にスレッド作れ。
0720708
NGNG718さんありがとう。英語ドキュメントを斜め読みしただけでした。読めてなかった。シクシク。
0721デフォルトの名無しさん
NGNGWindows側に制御が渡ってる状況しかないんだから、当然といえば当然なんだが。
0722デフォルトの名無しさん
NGNGVC++ か BCC 用の ping のソース落ちてないかな?
0723名無し@沢村
NGNGヌヒよ、たぶん落ちてるんじゃないか。
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNGサンプル: Raw ソケット版 ping
tp://www.kt.rim.or.jp/~ksk/wskfaq-ja/examples/rawping.html
0728602
NGNG余り質問をしすぎて、迷惑をおかけしまして、すいませんでした。
というより、Rebar関係は、バージョンアップの激しい部分ですので、何か不具合が多いのですよ。
苦労しています。
では、いろいろと質問をきいてくれて、ありがとうっす。
あと、
「「「671 名前:602 投稿日:2003/01/26(日) 04:34
何で消えなきゃいけないんだよヴォケども」」」
↑
これは、私の書き込みではないですよ。
偽者ですか、ID制を導入してみてはどうですか?
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGたのむからもう来ないでくれ。
あと、貴様ごときにID導入するほど価値はない。
0731名無し@沢村
NGNGヌヒよ、キャップを付けなさい。
0732602
NGNG何か悪いことをしたとは思えないが。
荒らしたわけでもない。
ただ質問をしただけなのにこの態度。
だから、プログラム板っていつも人が少ないんだよw。
プログラムをする奴は基本的に閉鎖的な人が多いからね。
自分の世界以外の者が入ると、追い出すんだよ。
内向的、いや内弁慶、いやいやネット弁慶と表現したほうがいいかも。
要するに、
自分のわかる質問→大歓迎
わからない質問→追放
私みたいなプログラム初心者もいるのですから。初めて日が浅いのですよ。
0733デフォルトの名無しさん
NGNG基本的な読解力ないから嫌われるんだよ。
0734602
NGNG初めて2ヶ月目なので、これからどんどん勉強していこうと思います。
あと、>>729さんと、>>730さんは、ひどいことを言いますね。
なにも悪いことをしてないのに。
しかも、午後2時前後の書き込みですか。
お仕事はしてないのですか?
0735デフォルトの名無しさん
NGNG君はプログラミングの勉強の前に、まず質問の仕方から覚えるといい。
0736602
NGNG↑
貴様ごときってw
この発言が、「怒ってるのはID導入のことについてだろ。」だとは思わないな。
うーん、こんなにガラの悪い人が多いとは・・・。
がっかりですね。
まぁ、プログラムをする人でも、性格の悪い人は山ほどいるでしょうけどねw
0737602
NGNG「わかる人がいないみたいだな。」というのが、貴方達のプライドに傷がついたわけですね。
これのほかに、失礼な書き込みはしてないですよ。
これぐらいで怒るようでは、まともな社会生活はできないと思いますが。
0738602
NGNGどっちにしろ、Win2000で開発を再開したので問題なく進んでいます。
0739デフォルトの名無しさん
NGNG671 で困ってる人はあんた以外に一人も居ないよ。
あんたの心証だけで何でいきなり ID 導入という話になるの?
>>732
実際に荒れてるんだから、つもりはどうであろうとあんたは荒らしだよ。
ちょっと聞きたいんだけど、そういう発言をすることによって、何を達成したいの?
どういう目的があるの?
ここはグチ垂れるスレじゃないよ。
大体、わからない質問にどう答えろと言うんだ?
みんなで調べろって?
プログラム初心者だから優遇しろって?
初めて日が浅いから多少の無礼は勘弁しろって?
ふざけるな、ここは無料サポートセンターじゃないぞ。
いろんな人の好意と余暇で成り立っているコミュニティだ。
その人達にそっぽを向かせるようなレスを繰り返しておきながら、自分の要求だけは
押しつけるのか?
それが、人にものを頼む態度か?
ここから追い出されようとしてるのは、あんたが 「自分の世界以外の者」 だから
ではなく、あんた自身が人間的に問題あるからだと気付け。
↑ で、自分で言うのもなんだけど、どこを縦読みすればいいんだ?
0740デフォルトの名無しさん
NGNG愚民ども、しずまれぇ〜
0741602
NGNGああ、勘違いしてますね。
ただ、わかる人がいるのかな?と聞いただけです。
わからないのなら、それでもかまわないのですから。
それを、いきなり「自分で調べろ!」だとか、わかっている内容を「MSDNを見ろよ」とか、なにか攻撃的ですね。
まぁ、どうでもいいですけど。
問題は自分で解決しましたので。
0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNGあぁあぁ。消えろ。もうここにいる用は無いだろ。
もう二度とくんな。2ちゃんねるから出て行け。
0744デフォルトの名無しさん
NGNGもう一度聞くけど、そういう発言をすることによって、何を達成したいの?
どういう目的があるの?
0745602
NGNG0746デフォルトの名無しさん
NGNGもうどうでもいいだろ。粘着だな。お前。
0747デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNGあおるな。はげ。
0750デフォルトの名無しさん
NGNG煽られてるよ602が(w
ここにいる奴らはヒッキーの集まりだから気にするな(w
これで安心したろ(w
0751602
NGNG0752デフォルトの名無しさん
NGNGPrivate Type EVENTLOGRECORD
(中略)
End Type
Private Declare Function OpenEventLog Lib ...
Private Declare Function ReadEventLog Lib ...
Private Declare Function CloseEventLog Lib ...
Public Sub main()
Dim hwnd As Long
Dim pbuf As EVENTLOGRECORD
Dim bufAddr As Long
Dim BufSize As Long
Dim ReadBytes As Long
Dim NextSize As Long
Dim Ret as Boolean
hwnd = OpenEventLog("PC名", "Application")
BufSize = 1
Ret = ReadEventLog(hwnd, 4, 0, pbuf, BufSize, ReadBytes, NextSize) ここ!
(中略)
Ret = CloseEventLog(hwnd)
End Sub
(ここ!)の点でエラーが出るんですが
どこがおかしいですか?
0753752
NGNGGetNumberOfEventLogRecordsを使った場合
イベントの個数は取れていますので
hwndはうまく取れているはずですが...
0754デフォルトの名無しさん
NGNGVBは使ったことがないけど
最後の二つのパラメータはAddressOfしてやる必要があるかもしれない
0755754
NGNG0756デフォルトの名無しさん
NGNGReadEventLogのDeclareを省略しないでちゃんと書け。
0757デフォルトの名無しさん
NGNG0758753
NGNG宣言部はAPIビューアで作りました。
Private Declare Function OpenEventLog Lib "advapi32.dll" Alias
"OpenEventLogA" (ByVal lpUNCServerName As String, ByVal lpSourceName As String) As Long
Private Declare Function ReadEventLog Lib "advapi32.dll" Alias
"ReadEventLogA" (ByVal hEventLog As Long, ByVal dwReadFlags As Long, ByVal
dwRecordOffset As Long, ByRef lpBuffer As EVENTLOGRECORD, ByVal
nNumberOfBytesToRead As Long, ByRef pnBytesRead As Long, ByRef
pnMinNumberOfBytesNeeded As Long) As Long
Private Declare Function CloseEventLog Lib "advapi32.dll" (ByVal hEventLog As Long) As Long
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGまずは、バッファサイズ不足エラーを起こして
pnMinNumberOfBytesNeeded
の値をBufSizeにセットしなおして
再度ReadEventLogを行うと思ってるんですが。
それなのにパラメータエラーを起こしちゃって...
0761759
NGNGEVENTLOG_SEQUENTIAL_READ (=1)
EVENTLOG_SEEK_READ (=2)
のうち一つを含む事とあります
EVENTLOG_FORWARDS_READ (=4)
だけでは不正です
0762デフォルトの名無しさん
NGNG本筋とは関係無いけど、何で hwnd?
0763753
NGNGあっ、そういうことでしたか。
読み違えてました。
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_ReadEventLog.htm
あす、会社で試してみます。
ありがとうございました。
明日、結果を報告します。(明日の晩までこのスレあるかな...)
>>762
どっかのサンプルをコピペしただけなんで、
理由を聞かれてもちょっと...
とりあえず動くようになれば
社内の標準化に則って書きなおすんで
あまり気にしてなかったです。
やっぱ、ちょっとは気にしたほうがいいですねえ。
0764デフォルトの名無しさん
NGNGそういえば、
EVENTLOG_SEQUENTIAL_READ (=1)
で試したときもダメだったような気がしますが...
自信が無いので明日確認してきます。
0765デフォルトの名無しさん
NGNG取得したいのですが、どうしたらできるでしょうか。
エクスプローラは他のプロセスでファイルが変更されると、
すぐに表示を更新(F5ではない)しています。あれと同じことをしたいのです。
どうかよろしくおねがいします。
0766デフォルトの名無しさん
NGNGFindFirstChangeNotification() のあたり
0767デフォルトの名無しさん
NGNGとりあえず動く、程度ではいざバグが出たときにどこを直していいか判らなくなる可能性大
0768763
NGNG「とりあえず」→「ちゃんと」
0769デフォルトの名無しさん
NGNGプログラムをしっかりしろという事ではなく、書いてる人間が自分が何をして
いるか把握せよという事では?
0770デフォルトの名無しさん
NGNGありがとうございます。\(>▽<)/
助かりました。
0771名無し@沢村
NGNGヌヒよ、NT系ならReadDirectoryChangesW()のほうが詳細な情報を取れるぞ。
あとWin2k以降ならSHChangeNotifyRegister()というのもある。
0772549
NGNG0773579
NGNG0774デフォルトの名無しさん
NGNGSHChangeNotifyRegister?
解説をお願いできないでしょうか?
0775名無し@沢村
NGNGhttp://www.pcquest.com/content/coding/102070301.asp
0776774
NGNGTHX!
・・・やはり英語しか無いですか(--;
時間かけて読むしか無いっすね。
0777602 ◆hOJBbTlYfs
NGNGRebarの件ですけど、解決しました!(涙)
BYE。
0778デフォルトの名無しさん
NGNGBYE。
0779579
NGNG0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGBYE。
0782753
NGNGイベントログの読み込みの件
うまくいきました。
ただ...メモリ例外が出まくり...
VBでメモリ管理しないといけないのか...
変数宣言とメソッド実行する位置を入れ替えたりすると
収まったりして大変です。
0783デフォルトの名無しさん
NGNG>ALL
888をブロックしたらオモロイかもな
0784↓の830(not 829)
NGNGspy++のプロセス表示やProcessViewerがいつのまにか
おかしくなっている人います?
俺だけかと思ったらそうでもないみたいだし。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGデバッグエラーなんです。
return new CWavApp;
でエラーが起こっているみたいで。
Delete以前の部分の問題なんです。
0787デフォルトの名無しさん
NGNGじゃぁCWavAppでエラーが起こってるんでしょ
GetProcのソースを提示しても意味なくない?
0788デフォルトの名無しさん
NGNGそうだとは思うのですが、
CWavAppは何もないクラスなんです。
コンストラクタにMessageBoxがあるくらいで。
0789デフォルトの名無しさん
NGNGコンストラクタにMesssageBoxって……それはギャグですか?
何も考えてないんだね。
0790デフォルトの名無しさん
NGNG確かに珍しいケースではあるが
CWavApp::CWavApp()
{
::MessageBox(NULL, "アヒャヒャヒャ", "(゚∀゚)", MB_OK);
}
とかじゃねーだろ、いくら何でも
ユーザに起因するエラーならあり得なくもないぜ
0791bccのグラフィック
NGNG#include <stdio.h>
#include <conio.h>
int Locate(HANDLE hOut, int x, int y)
{
COORD dwPos;
dwPos.X = (SHORT)x;
dwPos.Y = (SHORT)y;
if (SetConsoleCursorPosition(hOut, dwPos) == 0)
return -1;
else
return 0;
}
int main()
{
HANDLE hStdout;
int i;
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
for(i=0;i<=10;i++){
Locate(hStdout, 10, 5+i);
printf(" C program ");
}
return 0;
}
0792bccのグラフィック
NGNG適当に合体させてつくりました。
こういう使い方ってありなんでしょうか(^^;
作った本人が一番理解してないという、、、
コンソールアプリとして動くグラフィックがほしくて
やっています。
0793デフォルトの名無しさん
NGNG似たようなのN88BASICとかDOS時代によく書いたよ。
\x1b[32mとかで色が変わるぞ。と。
0794bccのグラフィック
NGNG2000以上だと使えなくて、それで、こんな事やってるんです。
bccだとgdiとかないみたいだし、、どうすればいいのか
わかんなくて
0795デフォルトの名無しさん
NGNG> bccだとgdiとかないみたいだし
そんなことはない。
0796bccのグラフィック
NGNG0797bccのグラフィック
NGNGgdiの初期化って初期化って初期化って初期化って
0798bccのグラフィック
NGNGせめて
0799デフォルトの名無しさん
NGNG( ゚ Д゚)
( つ旦O
と_)_)
_, ._
( ゚ Д゚)
( つ O
と_)_) 旧 ガシャ
0800デフォルトの名無しさん
NGNGANSI.SYSを入れておいて、ANSIエスケープシーケンスで制御しる!
画面消去は ESC '[' 'K' …だったかな?
カーソル移動は ESC '[' 'A' …とか。
詳しく知りたけりゃあ、ググってみれ。
0801デフォルトの名無しさん
NGNG5.1 ではなく 5.5.1 じゃねーのか?
>>800
> ANSI.SYSを入れておいて、ANSIエスケープシーケンスで制御しる!
Windows 2000 だと動かんがな。
0802名無し@沢村
NGNG一度に5万文字くらい表示したいんだが、大丈夫?
一度に5万文字いっぺんにコピペしたりするときエラー出ない?
0803名無し@沢村
NGNGヌヒよ、くだらない質問は避けよう。
0804デフォルトの名無しさん
NGNGたずねるときの沢村はそんなのじゃない。
0805デフォルトの名無しさん
NGNGユーザによるウィンドウサイズ変更をサポートする方法はありませんか?
WM_NCHITTEST で HTLEFT などを指定しても無効なようです。
0806デフォルトの名無しさん
NGNG素直に WS_THICKFRAME 指定すりゃいいじゃん……
0807デフォルトの名無しさん
NGNGぐぐりましょう。
0808805
NGNGウィンドウの境界は自前で描画しているので、
WS_THICKFRAME したくないんです・・・
そういう挙動をしているアプリも割と見かけるとは思うのですが、
どのように実現しているのやら。
0809デフォルトの名無しさん
NGNGSetConsoleCursorPositionの引数は本当はコンソールスクリーンバッファの
ハンドルが必要なんだが、791のソースで動いてるの?
0810bccのグラフィック
NGNGbcc5.5 win98
0811デフォルトの名無しさん
NGNG書き込まれてるんだろうが?
0812bccのグラフィック
NGNG0813デフォルトの名無しさん
NGNGWM_LBUTTONDOWNでSetCapture
WM_MOUSEMOVEでSetWindowPos
WM_LBUTTONUPでReleaseCapture
ではだめか?
こっちで動作確認してないが
0814デフォルトの名無しさん
NGNGWindowsじゃなくて
DOS/VでもGDIってあったの?
ていうかWindowsの方が画像扱うなら楽じゃないの?
0815デフォルトの名無しさん
NGNGいつのbccよ?
5.5ってWin32以外のバイナリ吐けるの?
って言うかお前の提示したコードは思いっきりWindowsだ。
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG違う
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG違うの?
Visual? Void? Virtual?
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNGDOS/B ワラ
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGドス/ヴァジャイナ
0824デフォルトの名無しさん
NGNGでビデオだと思ってたけど
正解はなんなの?
0825デフォルトの名無しさん
NGNGhttp://forum.nifty.com/fpcu/words/dosv.htm
0826gn355my0
NGNG0827デフォルトの名無しさん
NGNGじゃあVってなんだよ。
・・・30行計画?
0828ホゲ ◆k2kPA91QO.
NGNG0829デフォルトの名無しさん
NGNGビデオでいいじゃんよ
0830gn355my0
NGNGうん、variable-text の略だったように思うけど。。。
まぁどっちゃにしてもスレ違いなので話を戻すと
>>813
そりはダメっぽいぞ。
>>805 で近いとこまで行ってると思うけどナー
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGわかりにくいぞ。
0834デフォルトの名無しさん
NGNGボードの名前とかビデオメモリ容量とか
0835デフォルトの名無しさん
NGNGブイならコンバトラー
コンバインするけど納期じゃないぞ
0836デフォルトの名無しさん
NGNGみんな知らないって。奴隷獸問題で再放送されないから。
0837デフォルトの名無しさん
NGNG16ビットアプリだけな。
Win32アプリには効果なし。
0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNGあんなに遅いの?
0840デフォルトの名無しさん
NGNGAPIオーバーヘッドだろうね。
0841デフォルトの名無しさん
NGNG全ての描画をやろうとしたら
アホみたいに遅くなったよ…
166MHz!の高速CPUなのにさぁ
0842デフォルトの名無しさん
NGNG最後のエクスクラメーションマークは一体なんだ?
0843名無し@沢村
NGNGヌヒよ、それはPentium!!!を表しているのだよ。
0844デフォルトの名無しさん
NGNG階乗? そりゃ速いな。
0845デフォルトの名無しさん
NGNG適当なタイミングでBitBltしる
0846デフォルトの名無しさん
NGNGこれらで書かれているアプリはなにで書き直すのがいいですか?
0847デフォルトの名無しさん
NGNGDirectShow
0848デフォルトの名無しさん
NGNGありがとう。やっぱりそうか。
DirectShowはVFWドライバとWDMドライバの両刀つかいって本当ですか?
Type-IのaviファイルはVFWで扱えないけどDirectShowなら扱えるってあってますか?
0849デフォルトの名無しさん
NGNGそういうフィルタがあれば扱える。
DShowはそういうもの。
0850デフォルトの名無しさん
NGNGそうでしたか。どうもありがとう。ではでは。
0851デフォルトの名無しさん
NGNGcodecじゃなくて?
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNGそうなればDrawDibDraw()なんかも使えなくなるのですか?
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG1 2 3〜を待たずに32小説の旅の始まり
0859デフォルトの名無しさん
NGNGの引数ってなんだったっけ?
NULLでいいんだっけか?
0860デフォルトの名無しさん
NGNGWin32か?
0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNGWin64 でした。逝ってきます。
0865デフォルトの名無しさん
NGNG0866846
NGNGサポートされなくなるらしいというのは私が聞いたハナシで定かではないです。
その後の調べでは「古いアプリケーションの為にVfWは今後もサポートされるが、拡張はない」ということらしいです
ではでは
0867デフォルトの名無しさん
NGNGどうすればいいですか?
GetModuleFileNameはヽゝ゚ -゚νダメナノネ・・・
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG「Win32Application」とあって、このスレはこの環境での
プログラミングを考えていると思いますが・・・。
実際にはWin32applicationでは何をやるんですか?
0870デフォルトの名無しさん
NGNGメッセージループを回す
0871デフォルトの名無しさん
NGNGこの限りではない。
0872869
NGNG出来れば「人に寄るだろうけど、大体はこういう目的で利用する」
というようなことを書いていただけると有難いです。
0873デフォルトの名無しさん
NGNG(|| ゜Д゜)ガーン!!
見逃してました。ありがとう〜。
0874デフォルトの名無しさん
NGNG何するって、それを決めるのはお前だろうが。
今まで見た中でもっともくだらんネタだな。
0875869
NGNG死ね
0876デフォルトの名無しさん
NGNG次回「本当に死ぬよ?」にエンジェラインジェラ〜♪
0877デフォルトの名無しさん
NGNGVCのバージョンは?
6の場合は
Win32 Application -> GUI用(大抵こっち,Hello worldで100行くらい)
Win32 Console Application -> CUI用(俗にDOS窓)
.NETの場合はウイザードに「どっちだ」と聞かれる
0878877
NGNG教えて君が挑発に乗っててどうする
無礼者は何も教えて貰えなくなるぞ
今回,答えたのはゲロ甘だったが
それは874がものすごいDQNだった
お陰ってことを忘れるな
0879869
NGNG有難うございます。
ハローワールドに100行ですか・・・・・・・・・・・・・・・。
マジでビックリです。。。。。。
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGというわけでネタなしのから揚げスマソ。
0882デフォルトの名無しさん
NGNG英語苦手なんで日本語のやつで
0883デフォルトの名無しさん
NGNG焼き肉ゲーム
かなりシュールだw
0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNGおじさんは君の童貞がどうしても欲しい
0887デフォルトの名無しさん
NGNG0888602 ◆hOJBbTlYfs
NGNGコモンコントロールの勉強は進んでますよ。
相変わらずRebarは複雑ですね。
てへっ。
BYE!
0889デフォルトの名無しさん
NGNGBYE。
0890デフォルトの名無しさん
NGNGextern "C" __declspec(dllexport) int GetClassObject(CTst** pOut)
{
CDtestApp* p = new CDtestApp;
*pOut = (CTst*)p;
return 2;
}
DLLの関数をとしてみたのですが、3行目 new -のところでデバッグエラーです。
どうすれば解決するでしょうか?
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGいえ、Debug Errorです。
実行中に、メッセージボックスがでてきて…。
LibraryDocumentをみろと。
0893デフォルトの名無しさん
NGNGLibraryDocumentをみろと。
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG解決方法は知らんが、それはちがうだろ。
0896デフォルトの名無しさん
NGNGが有っても
CDtestApp::CDtestApp()
が無いとか。
CDtestApp::CDtestApp()
が有っても public でないとか。
0897デフォルトの名無しさん
NGNGstudio.netからの新しいヘルプファイルありますけど
そのファイルを開くソフトがダウンロードできるところありませんか?
ファイルはあるのに開くソフトがないのです
ヘルプだけ使いたくてプラットフォームSDKとかのヘルプファイルだけ使いたいのです
プラットフォームSDKに付いているヘルプを見るファイルを単体だけで使いたいのです
ヘルプだけが読みたいのです
他の物は何もいりません
ハードディスクの残りもあとわずかです
0898デフォルトの名無しさん
NGNG全く関係ないですね。
0899デフォルトの名無しさん
NGNGコンストラクタはデフォルトですので問題はありませんし、
デフォルトですから、Publicなのです。
0900デフォルトの名無しさん
NGNG誤爆?
0901デフォルトの名無しさん
NGNGちなみにクラスのメンバのデフォルトはprivateなんだが……
なにがデフォルトなんだろう。
0902デフォルトの名無しさん
NGNG{
A();
};
A は private。
つまり、
class A
{
private:
A();
};
と書いたものと同じ。
コンパイルでエラーが出てないという事の方に疑問を感じるのだが。
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNG(それならpublic)、DLLからMFCアプリを構築しようとかそんなことを
考えてるような気がしないでもない
0905602 ◆hOJBbTlYfs
NGNGRebarのボタンのサイズ変更はどうのようにすればいいのでしょうか?
標準では、16ピクセルですよね、サイズが。
0906デフォルトの名無しさん
NGNGBYE
0907デフォルトの名無しさん
NGNGCall SHGetFileInfo(fname, 0, s, Len(s), SMALL_ICON)
hb = GetStockObject(BLACK_BRUSH)
Call DrawIconEx(g.hdc, x, y, s.hicon, 0, 0, 0, hb, DI_NORMAL)
版違いだったらすみません。
アイコンを、重ねあわせで表示したいのですが、これだと周りが
塗りつぶされてしまいます。ブラシを適当に変えてみましたが、
普通はどうやっているのでしょうか??
0908デフォルトの名無しさん
NGNGフックを仕掛ける関数をフックプロシージャのあるDLLに置こうと考えて
います。
で、SetWindowsHookEx() に渡すインスタンスハンドルを DllMain() の
引数から得るわけですが、googleで見つかったサンプルコードをいくつか
見ると、取得したインスタンスハンドルを格納するグローバル変数を
sharedなセグメントに置くものとそうでないものとあります。
インスタンスハンドルを格納する変数はsharedセグメントに置くべきなのか、
別にそこまでする必要はない、一体どっちが正しいんでしょう?
0909デフォルトの名無しさん
NGNGshareしたほうがいいと思う。
0910デフォルトの名無しさん
NGNGブラシはNULLでいいと思うんだけど。
0911907
NGNGNULL_BRUSH (= 5)
でやっているのですが、重ね合わせにならないのです。
どうしたらいいのでしょう。
0913907
NGNGではなくて、0を指定したら、うまくいきました。
DrawIconEx(g.hdc, x, y, s.IconNo, 0, 0, 0, 0, DI_NORMAL)
お騒がせしました。そしてどうもありがとう!!
0914デフォルトの名無しさん
NGNGどういうことですか?
0915908
NGNGどうもです。
で、さらに調べてみたところsharedにしないといけないのはフックハンドルで
あって、DLLインスタンスハンドルは別にsharedでなくても構わないようです。
確かにフックハンドルはsharedにしないと、他プロセスからフックプロシージャが
呼ばれたときに格納したフックハンドルが見えないし・・・
で、もう一つ質問なんですが、グローバルフックプロシージャが他プロセスから
最初に呼ばれる際、フックプロシージャがあるDLLの DllMain() は呼ばれるんでしょうか?
0916デフォルトの名無しさん
NGNGDllMainは呼ばれる。
0917デフォルトの名無しさん
NGNG902 と 904 を読んでおきたまえ。
で、お前は 890 なのかい?
0918デフォルトの名無しさん
NGNG>CallNextHookExに使うだけだったら、フックハンドルもsharedにする必要は無し。
なぜ?
フックハンドルを渡さなくても一応は動くけど
他のフックが正常動作しなくなるよ
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGSetThreadContextとか駆使してPCをRaiseExceptionのエントリに設定する。
ただしWin9xでは制限あり
0921デフォルトの名無しさん
NGNGワラタ
0922デフォルトの名無しさん
NGNG(・∀・)イイ!!
0923デフォルトの名無しさん
NGNGバーヤ
0924908
NGNG遅くなりましたがありがとうございます。
とりあえずまとめると、
・DLL上のフックプロシージャが他プロセスから最初に呼ばれる際は DllMain() が呼ばれる
・フックハンドルはsharedにする必要がある
(CallNextHookEX() には正しいフックハンドルを渡す必要がある)
ってことでいいんでしょうか?
0925厨房教えて糞
NGNG以下にそのものずばり書いてあったのですが、
具体的にどうするのか皆目見当が付きません。
http://forums.belution.com/ja/vc/000/060/08.shtml
> ファイルの場合は、CFSTR_FILEDESCRIPTORを用い、
> CFSTR_FILECONTENTSを遅延レンダリングすることで、
> ドロップ後にサーバよりGETしてくることは可能
(ここで問題として挙がっているフォルダのケースは想定していません)
なにとぞお知恵を拝借いただければ幸いです。
0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNG何を聞きたいのか皆目見当がつきません。
何言ってるのかわからないなら何言ってるのかわかるように勉強してください。
自力で。
0928デフォルトの名無しさん
NGNGそれはすごい。
0929デフォルトの名無しさん
NGNGコントロールの高さはスクロールバー高さに合わせているのですが
いったん表示した後に画面のプロパティでスクロールバーの高さを変更されると、
コントロールとスクロールバーの高さにズレが生じてしまいます。
画面のプロパティが変更されたことを知るにはどうすればよいのでしょうか?
0930デフォルトの名無しさん
NGNGWM_SETTINGCHANGE
0931厨房教えて糞
NGNGお聞きしたいのは
> CFSTR_FILEDESCRIPTORを用い、 CFSTR_FILECONTENTSを遅延レンダリングする
方法です。
HTTPがどうのという部分は単体では出来るので、とりあえず関係なくて、
ファイルとして存在しないメモリ内のデータを(たとえばBYTE data[256])
エクスプローラに対してドラッグ&ドロップして実体化させたいのです。
CFSTR_FILEDESCRIPTORをExplorerに認識させることはできましたが、
CFSTR_FILECONTENTSをどうやって引き渡すのか分かりません。
ClipSpyで見てもCFSTR_FILECONTENTSは<Data unavailable>になっていて、
どうセットしてやれば良いのか分からない状態です。
色々と探しましたがどうもピンと来る説明が見付かりません。
↓は逆の「エクスプローラ→自作アプリ」の説明しか書いてないです。
http://www.codeproject.com/useritems/explorerdragdrop.asp
↓みたいなものがあれば理想なんですが、もう手に入らないです。
http://web.archive.org/web/20010702184003/http://www2.nkansai.ne.jp/users/yoshiki/vc/DnD.html
0932デフォルトの名無しさん
NGNGAPIによるものかを区別するいい方法はないでしょうか?
ウィンドウを配置できる位置を制限したいと思っているのですが、
WM_MOVEを受け取った時不正な位置の場合SetWindowPosで
位置修正を行うようにすると、そのSetWindowPosのため、
またWM_MOVEが発生してしまいます。
今のところ、SetWIndowPosを使用する直前にフラグをたてることで
移動がドラッグによるものかAPIによるものか判断してますが、
なんだかすっきりしません。他にいい方法があれば教えてください。
あと、WinampやSCMPXはドラッグしている間もウィンドウの中が
描画されますが、ああいうのはどうすれば実現できるでしょうか?
0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNG「すっきりしない」以外に問題がなければそれでいいんじゃないの?
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNG0937932
NGNGWM_EXITSIZEMOVEで判断できることがわかりました
(APIでの移動では発生しない)
ありがとうございました。
0938名無し@沢村
NGNGそれはエディットだが、windowsの改行コードは\r\nのはずだが、
SendmessageのWM_SETTEXTで文字列といっしょに改行コードを送っても改行されんのよ。
どうしてかわかりますか?
またタブの\tはちゃんとタブになるんだが、タブの幅が気にくわんので、もっと短くしたいのだが、どうすればいい?
教えてはくださらんか〜、皆々様方〜♪
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0x0a,0x0dをちゃんとおくてるのか?
TAB>Edit_SetTabStopマクロ
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNGありがとうございます。
ウィンドウサイズが変更された時のステータスバーやツールバーの再調整と同じように
WM_SETTINGCHANGE を受信した親ウィンドウがサイズの調整を指示するメッセージをコントロールへ送るようにしました。
おかげさまで問題が解決しました。
ありがとうございました。
0945デフォルトの名無しさん
NGNG次スレおねがい
0946デフォルトの名無しさん
NGNG必ずFreeLibraryでページ違反エラーが起きてしまいます。
エラーの詳細にはMFC30.DLLが示されているのですが、これはMFC30.dllの
バグなのでしょうか?
ちなみにWindows2000にWindows95のfontview.exeをコピーして同様の事を
したところ、前述のエラーは起きませんでした。
Windows2000にはMFC30.dllが無いのでやはりこのdllが問題なのかとも思うのですが…
他のOS(98/Me/NT/XP)は無いので他のOSでの動作は確認できないのですが、
これはWindows95だけで起こる問題なのでしょうか?
もしそうならばこのエラーを回避するにはどうすればよいでしょうか?
開発環境はVC6+SP5です。
0947デフォルトの名無しさん
NGNGFontView.exeをLoadLibraryするとなんか便利なAPIが呼び出せるようになったりするんですか?
0948デフォルトの名無しさん
NGNGいや、FontViewをロードしても便利なことは無いです。
ユーザが任意のモジュールをLoadLibraryできるソフトを作っているのですが、
このFontViewのようにロードはできても解放でエラーが出てしまうような
ファイルをユーザが指定しまうと困るので、回避方法が知りたいのです。
0949デフォルトの名無しさん
NGNG無理矢理やるなら、FreeLibraryするとバグってしまうライブラリの
ファイル名を覚えておいて、FreeLibraryを禁止するとか。
0950デフォルトの名無しさん
NGNG0951名無し@沢村
NGNGすまん、\r\nを送っても改行されない件だが、解決した。
ちょっとした勘違いで、文字列を送るたびにその文字列の最後に\r\nを入れたつもりが、
全部の文字列の最後にしか入ってなかったわけだ。
これはちょっとしたミステイクというやつよ。
それはそうと、タブの\tはちゃんとタブになるんだが、タブの幅が気にくわんので、もっと短くしたいのだが、どうすればいい?
教えてはくださらんかな、ヌヒよ?
0952デフォルトの名無しさん
NGNG>>942にも書いてあるがEM_SETTABSTOPS
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < MIDIプレーヤーまだー?
\_/⊂ ⊂_ ) \_____________
0953デフォルトの名無しさん
NGNG__try〜__exceptで囲むとか。
Win2000でエラーが出ないのは単にロードに失敗してるだけだと思うぞ
(NT系ではexeはリソース取得の目的でしかロードできない)
0954デフォルトの名無しさん
NGNG>NT系ではexeはリソース取得の目的でしかロードできない
じゃあGetProcAddrを呼び出すまでは合法では?
0955デフォルトの名無しさん
NGNG例外ハンドラも試してみましたがハンドラが呼ばれませんでした。
__try{
FreeLibrary(hINST); // ここでエラー
}__except(EXCEPTION_EXECUTE_HANDLER){
// 呼ばれない
}
また、Win2000では
HINSTANCE hINST = LoadLibrary("fontview.exe");
if(hINST != NULL){
// デバッグしたところこのブロックに入ることを確認済み
FreeLibrary(hINST);
}
としているのでロードはできていると思います。
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNGこのレスを見た人間は十三日以内に死にます。
※あなたに訪れる死を回避する方法が一つだけあります。
それはこのコピペを一時間以内に7つ、別のスレに貼り付ける事です
0958デフォルトの名無しさん
NGNGwctomb(char *, wchar_t);
wcstombs(char *, const wchar_t *, size_t);
こういう感じで。
_tctomb(char *, TCHAR);
_tcstombs(char *, const TCHAR *, size_t);
もしも無くて良い代物でしたら代替案を御教授下さい
0959デフォルトの名無しさん
NGNGそれだとGetProcAddressできないんで・・・
0960デフォルトの名無しさん
NGNGWideCharToMultiByte
0961デフォルトの名無しさん
NGNGWideCharToMultiByte に TCHAR を渡しても大丈夫なのでしょうか。
wchar_t ではなく char のとき困るような気がします。
(↑もちろんこの時は無変換です)
int WideCharToMultiByte(
UINT CodePage, // コードページ
DWORD dwFlags, // 処理速度とマッピング方法を決定するフラグ
LPCWSTR lpWideCharStr, // ワイド文字列のアドレス
int cchWideChar, // ワイド文字列の文字数
LPSTR lpMultiByteStr, // 新しい文字列を受け取るバッファのアドレス
int cchMultiByte, // 新しい文字列を受け取るバッファのサイズ
LPCSTR lpDefaultChar, // マップできない文字の既定値のアドレス
LPBOOL lpUsedDefaultChar // 既定の文字を使ったときにセットするフラグのアドレス
);
何に使うかといいますと、今回は std::fstream のファイル名指定に
char、wchar_t の両方が渡されても大丈夫という関数なのです。
↓こんな感じです。
void FileOpen( LPCTSTR filename )
{
char buffer[MAX_PATH];
_tcstomb( buffer, filename, MAX_PATH );
std::ofstream ofs( buffer );
.........
}
0962デフォルトの名無しさん
NGNGTCHAR == char の環境だと、そもそも文字コード変換の意味がないと思うが…
(単なるコピーだよな)
0963デフォルトの名無しさん
NGNGその単なるコピーになる時と、wide->multi 変換が必要な時で同じコードを共有したいのです。
0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNG_tctomb(char *, TCHAR);
_tcstombs(char *, const TCHAR *, size_t);
を作ってその中でマクロでコードの切り換えするのが普通じゃ?
0966デフォルトの名無しさん
NGNG_MBCS でコードしたい時と _UNICODE でコードしたい時で
同じ関数を使えたら資源の有効利用になると考えました。
0967デフォルトの名無しさん
NGNGFileOpen() の内部で #ifdef で切り分ければ?
もちろん _tcstomb() 自体を #ifdef _UNICODE で切り替えることも可能だが、
ムダに文字列コピーが発生するからお奨めはしない。
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG自分で#ifdefとか使って切り替えれば?
その部分だけを別ファイルなりにしておけば、本体のコード自体は見かけ上変わらない。
0970デフォルトの名無しさん
NGNGいま、DLLの中でスレッドを起動しているのですが、
放っておくと「DLLがデタッチされてしまうがスレッドが動いている」という状態になって
ハングしてしまいます。
スレッドは動かしつづけたいのでDLLがデタッチされないようにしたいのですが。
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNGありがとうございます。やってみたら望んだ通りになりました。
0973958
NGNGまことに有難う御座いました。
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGmallocっへ内部的にはHeapAllocだっけ?
0976デフォルトの名無しさん
NGNG処理系(というかランタイム)依存
mallocは一般的にはVirtualAlloc等で確保した大きなブロックをランタイムライブラリがさらに分割管理している。
HeapAllocはmallocとほぼ同じようなことをシステム側がやってくれる。mallocと比べて速度が少々劣る可能性が高い。
GlobalAllocは大きなブロックをそのままうけとる。Win16との互換性の関係で少々余分な処理が入る。
小さい領域を頻繁に確保、開放したい場合はmalloc
確保領域をグループ化して一気に開放したい場合はHeapCreate->HeapAlloc->HeapDestroy
HGLOBALを要求するAPIを使いたい場合はGlobalAlloc
仮想メモリ空間を厳密に管理したい場合はVirtualAlloc
0977デフォルトの名無しさん
NGNG>CFSTR_FILECONTENTSをどうやって引き渡すのか分かりません。
IStream を使うという話ではないの?
>ClipSpyで見てもCFSTR_FILECONTENTSは<Data unavailable>になっていて、
IStreamを使っている(遅延される)から表示のしようがないだけでしょう。
0978デフォルトの名無しさん
NGNGそんなことしてたら、下手するとゾンビるぞ。 >>970
・・・ちゃんと忠告したからな。あとは知らんぞ。
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNGだいいちVirtualAllocは「厳密」などという曖昧な理由では使わない
974よ,それは例えばGMEM_MOVEABLEだ
0981名無し@沢村
NGNGタブを設定しようと思い、SendMessage(hEdit,EM_SETTABSTOPS,1,1);としたところプログラム開始エラーが出てしまいました。
SendMessage(hEdit,EM_SETTABSTOPS,1,1);をSendMessage(hEdit,EM_SETTABSTOPS,0,1);に直すとエラーは出ないので、3番目の引数がくせものと思うのだが、
EM_SETTABSTOPSの使い方を教えてはくだされんか〜♪
0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG読みません。
知りません。
0984デフォルトの名無しさん
NGNG死のうか。
0985名無し@沢村
NGNG最初SendMessage(hEdit,EM_SETTABSTOPS,1,1);としたところエラーが出たのでビックリしたが、
その後の調べでは、4番目の引数にエラーの原因があったのよ。
4番目の引数をDWORD型にしてその後int型にキャストしなおすとちゃんとなることがわかったのよ。
皆々様方〜これは私にとって1大発見であるのだよ!!!
0986名無し@沢村
NGNGその間隔でタブが出るのだが、普通に文字をうって、その列にきたとき自然にタブが挿入されるようにするにはどうすればいい?
皆々様方〜教えてくだされ〜♪
0987名無し@沢村
NGNG自然にタブの間隔があくようにするということだが、どうすればいいですかな?
皆々様方〜教えてくだされ〜♪
0988デフォルトの名無しさん
NGNG誰だ本物の沢村を召還したのは
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNGWin32 Aplicationプログラミング
http://pc2.2ch.net/test/read.cgi/tech/1044267746/
【MS自ら】APIの正しい使い方教えろ【ガセネタ】
http://pc2.2ch.net/test/read.cgi/tech/1044378059/
0993デフォルトの名無しさん
NGNGゲーム製作技術板を荒らすな
0994デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1018239290/l50
0995デフォルトの名無しさん
NGNGエラーが出たときのSQLステートメントは?
とりあえず isql で以下でテストしてみるとか。
select extract(year from cast('now' as date)) from rdb$database;
0996デフォルトの名無しさん
NGNGあと、できれば他の言語でも開発できるようにインタフェースを公開して欲しいっす。
0997デフォルトの名無しさん
NGNGあと定跡と定石
それと香具師と家具師
0998デフォルトの名無しさん
NGNG0999602 ◆hOJBbTlYfs
NGNGおいちー。
BYE!
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。