Win32API質問箱 Build25
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGBuild24:http://pc5.2ch.net/test/read.cgi/tech/1098967135/
Build23:http://pc5.2ch.net/test/read.cgi/tech/1095534704/
Build22:http://pc5.2ch.net/test/read.cgi/tech/1092524669/
Build21:http://pc5.2ch.net/test/read.cgi/tech/1090422324/
Build20:http://pc5.2ch.net/test/read.cgi/tech/1088140233/
Build19:http://pc5.2ch.net/test/read.cgi/tech/1084697545/
Build18:http://pc5.2ch.net/test/read.cgi/tech/1081702990/
Build17:http://pc5.2ch.net/test/read.cgi/tech/1077470361/
Build16:http://pc2.2ch.net/test/read.cgi/tech/1073830065/ ★
Build15:http://pc2.2ch.net/test/read.cgi/tech/1069339866/ ★
Build14:http://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
Build13:http://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
Build12:http://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
Build11:http://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
Build10:http://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
Build9:http://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
Build8:http://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
Build7:http://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
Build6:http://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
Build5:http://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
Build4:http://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
Build3:http://pc.2ch.net/tech/kako/1017/10170/1017072275.html
Build2:http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Build1:http://pc.2ch.net/tech/kako/991/991576947.html
(★は「いやー ごめんなさい。」に巻き込まれた模様
0002デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/default.asp
- 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
- Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
http://www.google.com/
Win32 API入門
http://wisdom.sakura.ne.jp/system/winapi/
Win32 プログラミング入門
http://www7.plala.or.jp/keny01/windows/win32/
Win32 SDK Programming
http://usr_vogel.at.infoseek.co.jp/Win32SDK/
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005前スレ6
NGNGエラー発生アプリケーション MyApp.exe、バージョン 1.0.1.4、
エラー発生モジュール ntdll.dll、バージョン 5.1.2600.1217、エラー発生アドレス 0x00008e22
はどうやって解決するの?
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG∀・)<すまん、良く読んでなかった、お詫びにリストボックスのオーナードローの仕方を
[WM_DRAWITEMが来たときの処理]
DRAWITEMSTRUCT* dis = (LPDRAWITEMSTRUCT)lparam;
if( dis->CtlType == ODT_LISTBOX && dis->CtlID == IDC_LIST1 ){ //IDC_LIST1:リストボックスのID
FillRect( dis->hDC, &dis->rcItem, WHITE_BRUSH ); //白でクリア
if( dis->itemState & ODS_SELECTED ){ //選択されている場合に枠を表示してみる
HBRUSH hBrush, hBrushOld;
HPEN hPen, hPenOld;
hBrush = CreateSolidBrush( RGB(255, 192, 192) ); //枠の背景は薄赤
hBrushOld = (HBRUSH)SelectObject( dis->hDC, hBrush );
hPen = CreatePen( PS_SOLID, 1, RGB( 255, 0, 0) ); //枠は赤
hPenOld = (HPEN)SelectObject( dis->hDC, hPen );
Rectangle( dis->hDC, dis->rcItem.left, dis->rcItem.top, dis->rcItem.right, dis->rcItem.bottom );
SelectObject( dis->hDC, hPenOld );
SelectObject( dis->hDC, hBrushOld );
DeleteObject( hPen );
DeleteObject( hBrushOld );
}
SetBkMode(dis->hDC, TRANSPARENT);
SetTextColor(dis->hDC, RGB(255, 0, 255)); //好きな文字色に
char* text = (char*)dis->itemData; //LB_SETITEMDATA使ってたらこれじゃ駄目よ
DrawText( dis->hDC, text, strlen(text), &dis->rcItem, DT_VCENTER );
}
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG(ファイル名や更新日時の監視ではなく)
当方、Win2KSP4です。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG(★は「いやー ごめんなさい。」に巻き込まれた模様
0014デフォルトの名無しさん
NGNGちょっとあなた誰?次スレはいらないって住民の総意で決めたでしょ?
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG駄目だな。そういう時は
/⌒ ⌒ヽ、
// ノノノヽヽ
〃σ--(-)-(-)
|| ;ミ ω 彡 < ニョガーン
ヽ;ミミミ⌒彡
゙゙゙゙゙"" メンセキ メンセキ メンセキ
って答えるんだ
0017デフォルトの名無しさん
NGNGpc3鯖が丸ごとあぼーんしたときに行方不明になった。
0018デフォルトの名無しさん
NGNGstd::string to_string(const std::wstring& str)
{
std::vector<char> buf(::WideCharToMultiByte(CP_ACP, 0, str.c_str(), str.length(), NULL, 0, NULL, NULL));
::WideCharToMultiByte(CP_ACP, 0, str.c_str(), str.length(), &buf[0], buf.size(), NULL, NULL);
return std::string(buf.begin(), buf.end());
}
int main()
{
std::cout << to_string(L"こんにちは、世界!") << std::endl;
}
001918
NGNG0020デフォルトの名無しさん
NGNGWinSockで、HTTPS通信をしたい場合なんですが、
getservbyname("https","tcp");
で問題ないでしょうか?
httpをhttpsに変えただけですが
0021デフォルトの名無しさん
NGNGさすがにHTTPSを知ってる奴はおらんとおもう
ほかのスレッドで聞いたほうがいいかもな
0022デフォルトの名無しさん
NGNG何がやりたいのかわからんが、ポート番号を知りたいだけなら、それでいい。
002320
NGNGHTTPS通信をするにあたり、何か通常のHTTP通信で行う処理以外に何か付け加える必要があるのかどうかを知りたいのです。
誰かご存知ではないでしょうか?
0024デフォルトの名無しさん
NGNG環境依存でよければAPIもあったと思うが、
そうでないならOpenSSL使うとかする必要があったと思う。
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG通信自体なら、ソケット通信のままでいいが、SSL通信するなら
そのパケット自体の解析が面倒。自前でhttpsなんて実装しない方がいい。
証明書の問題もあるし、そもそもサーバーサイドで認証するのか、クライアントサイドで認証するのか
によっても異なる。素直に、OpenSSLとかRSAのSDKとかを使ったほうがいい。
002720
NGNGOpenSSLを使おうと思います。
もちろん、勉強中ですが。
助かりました。
0028デフォルトの名無しさん
NGNG何か理解を増やす説法ありませんか?
0029デフォルトの名無しさん
NGNG同じAPIで描画できるようにするためのクッション的な役割
ってペゾルド本か何かの本に書いてた気がする。
0030デフォルトの名無しさん
NGNGwindowsを作る側になって考えてみたら?
どうやってアプリ開発者に描画する方法を提供する?
0031デフォルトの名無しさん
NGNGディスプレイやプリンタにハンドルである
例えば
ディスプレイが0001番
プリンタが0002番
文字を書きたくなったとき0001番を指定して書けば
ディスプレイ上に文字が書ける
と私は勝手に解釈してるのですが
HDC hdc;
〜
DrawText(hdc, ・・・・)
このhdcは番号も何も指定していないのに
ディスプレイに文字がかけてしまう
多分根本が間違っていると思うのですが
まだWin32APIをはじめたばかりなのでつまずいてしまいまして
0032デフォルトの名無しさん
NGNG〜の部分でhdcに何も代入していなければたまたま動いているだけだ、忘れろ。
0033デフォルトの名無しさん
NGNG番号は指定しないけど、GetDC()とかで特定のハンドルは取得する必要があるじゃん?
だから何も指定してないわけじゃないよ。
0034デフォルトの名無しさん
NGNG>HDCととは
>HDCととは
>ディスプレイやプリンタにハンドルである
>ディスプレイやプリンタにハンドルである
>ディスプレイやプリンタにハンドルである
0035デフォルトの名無しさん
NGNGどういう方法がありますか?
0036デフォルトの名無しさん
NGNGそのプロセスに教えてもらう。
0037デフォルトの名無しさん
NGNGEM_GETLINEは使えないのでしょうか?
通常のエディットでは取得できたのですが、リッチエディットでは上手くいきませんでした。
何か特別な処理が必要になるのでしょうか?
003837
NGNG0039デフォルトの名無しさん
NGNGここはAPIスレだからWinInetやWinHTTPでもできると書いておく
0040デフォルトの名無しさん
NGNG最初の文字の前や最後の文字の後ろへ移動させるには
どうするのでしょうか
0041デフォルトの名無しさん
NGNGEM_SETSEL
0042●
NGNG0043デフォルトの名無しさん
NGNGURLEncoder.encode("書き込む","Shift_JIS")と同等の働きをするWin32APIはありますか?
もしなければ、Windowsアプリケーションではどのようにすればいいのでしょうか?(文字列のShift_JIS化)
ご返答いただけると助かります。
004443
NGNGhttp://kage.monazilla.org/system_DOLIB100.htmlの認証方法の仕様です。
●を使って書き込みたいので、https://2chv.tora3.net/futen.cgiからセッションIDを受け取り
POSTの際、セッションIDを使ってログインし書き込みます。
セッションID→Monazilla/1.00:!mCIuG#RzAP61Y6n7peOor/1〜(省略)
でもその際、Javaアプリだとうまくログインできるのですが、Win32アプリだとログインがされないのです。
エンコード関係に問題があると思いまして、ご質問したまでです。
0045デフォルトの名無しさん
NGNGInternetCanonicalizeUrl
0046デフォルトの名無しさん
NGNG普通に読み込ませてみると256色で記録されるようですが、フルカラーで取得する事は出来ますか?
・・・自分で変換プログラム組まないとダメかな・・・
0047デフォルトの名無しさん
NGNGCompuServeGIFはそもそもフルカラーではない。256パレットカラーが上限。
0048デフォルトの名無しさん
NGNG256色のBITMAPとしてロードされてるならBitBltで24bitか32bitのBITMAPにコピーすればいいんじゃないか?
かなり当てずっぽうだが。
0049デフォルトの名無しさん
NGNGGIFの仕様(というか、元の色数)は関係なく、メモリ上でフルカラーの画像として読み込みたいんですよ
無駄にメモリを食いますが、色数関係なく画像処理をしたいもので……
一度256色やそれ以下で読み込んでから、フルカラーに変換すれば確実なんですが…
>>48
HDCにコピーしてから、HDC→HBITMAP→BITMAP→ピクセルデータって感じですかね
考えたんですが、どうも強引な感じがして…
HBITMAPとして取得出来ているので、SelectObject→BitBltでフルカラーのコピー→コピー先からHBITMAPを取得、って感じですかね
今試してみて、どうも上手く行かない感じです…これはプログラムのミスっぽいので、もうちょっとやってみます
(たしか、SelectObjectで選択したままだと、HBITMAPからピクセルデータが取得出来なかったと思うので、その辺でミスったかも…)
0051デフォルトの名無しさん
NGNG開始位置と終了位置を同じにすればいい。
0052デフォルトの名無しさん
NGNG「HDCにコピーする」とかの表現が怪しいな。
機会があったらHBITMAP,HDC関係を
勉強し直す事を薦める。
とりあえず今回はGetDIBitsを使ったらどうかな。
005340
NGNGありがとう
SendMessage(hwnd, EM_SETSEL, 0, 0);
これで先頭に移動したよ
でも
SendMessage(hwnd, EM_SETSEL, -1, -1);
これで最後に移動させるつもりだったけど、ダメだった
最後に移動させるには、
あらかじめ文字列の長さを調べてから
SendMessage(hwnd, EM_SETSEL, len, len);
こうするの?
長さを調べなくても、特別な値の引数で移動できるかと思ったけど
0054デフォルトの名無しさん
NGNGMFCだとこんな感じ。
int pos = mEdit.LineIndex(mEdit.GetLineCount() - 1);
mEdit.SetSel(pos, pos);
MSDN見ればそれぞれの関数がどんなメッセージ投げてるかはわかると思う。
EM_SETSELにおける-1には確かに特殊な意味があるけど、
LastPositionではなくてCurrentPositionじゃなかったかな?
0055デフォルトの名無しさん
NGNG005640
NGNGやはり長さを調べる必要があるみたいですね
>EM_SETSELにおける-1には確かに特殊な意味が
SendMessage(hwnd, EM_SETSEL, 0, -1)
全部選択する
SendMessage(hwnd, EM_SETSEL, -1, any_n)
未選択にする
これくらいで、どちらも、最後に移動させる目的には使えないみたい
何度もありがとう
0057デフォルトの名無しさん
NGNGおかしな表現使ってましたね。
GetDIBitsをさっき見つけて弄ってる所です……上手く行って無いですけどね…
005857
NGNGというか、GetDIBits自体の使い方か、引数だと思いますが
hBitmapはGIFを読み込んだもの
//BITMAP構造体を取得…ここは問題なし
GetObject(hBitmap,sizeof(BITMAP),&bitmap);
dwSize=bitmap.bmWidth*bitmap.bmHeight*3;//24ビットフルカラー
//エラー・例外処理は省いているが、エラーは出ていない
lpBuf=(LPBYTE)GlobalAlloc(GMEM_FIXED,sizeof(BYTE)*dwSize);
memset(&bmpInfo,0,sizeof(BITMAPINFO));
//BITMAPINFOHEADERを返す関数。幅・高さ・プレーン数・色数を指定…biXPelsPerMeterやbiClrUsedなどは0固定
bmpInfo.bmiHeader=CreateBitmapInfoHeader(bitmap.bmWidth,bitmap.bmHeight,1,24);
hdc=GetDC(NULL);
hdcBuf=CreateCompatibleDC(hdc);
//HBITMAPも作って、BitBltをしてみたが、正しくカラー表示された
//それを下で選択しても同じ結果だった
if(!GetDIBits(hdcBuf,hBitmap,0,bitmap.bmHeight,lpBuf,(LPBITMAPINFO)&bmpInfo,DIB_RGB_COLORS)){
//画像が真っ黒(初期値のまま)
}
ReleaseDC(NULL,hdc);
0059デフォルトの名無しさん
NGNGhBitmap が256色のビットマップだから
24ビットカラーを指定した GetDIBits が失敗するのでは?
(NT系なら GetLastError の値を確認してみて)
俺は >>52 じゃないけど
256色で GetDIBits して、自前で24ビットカラーに変換しろ、
と言ってるんじゃないかな。
0060デフォルトの名無しさん
NGNGすいません、出来ました。
間抜けなミスしてました。
GetDIBitsは失敗で0、成功で0以外なのに、!付けてて判定が逆になってた…
最初の頃に上手く動かなくて、試しに!つけたの忘れてました…
(エラーで0が返ってた時期があったので)
因みに、自前で変換するなら、GetObjectでパレットも含めて取得出来るみたいです
レスくれた方、ありがとうございました。
(お騒がせしました)
0061デフォルトの名無しさん
NGNGタスクバーが点滅するのみです。(win2k)
何が悪いのか判らないのでおながいします。
static int x=0;
switch (msg) {
case WM_CREATE:
SetTimer(hWnd,NULL,1000,NULL);
break;
case WM_TIMER:
x++;
if(x==5){
SetForegroundWindow(hWnd);
SetWindowPos(hWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
SetFocus(hWnd);
InvalidateRect(hWnd, NULL, true);
}
break;
0063デフォルトの名無しさん
NGNGありがとうございます&試してみます。
……検索能力が足りないのかorz
0064デフォルトの名無しさん
NGNGVCが古すぎてSystemParametersInfoの設定に
SPI_SETFOREGROUND〜がない。
(自機では)AttachThreadInputだけでも動作しました。
ありがとうございました。
0065デフォルトの名無しさん
NGNGPlatformSDKとしてきてヘッダとインポートライブラリ差し替えれ
0066デフォルトの名無しさん
NGNGしかし、ヘタレは自分にはよく判りません。
とりあえずXPSP2 PlatformSDK落として、中身みて、
差し替えれそうならやってみます。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNGお前には全く関係ない。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGおいおい、そういう考え方はいただけないよ。
>>68を一ユーザとしての意見として捉えた方が良い。
もし、それを公開するつもりなら、ユーザインタフェースについてもちゃんと
考えないといけない。
0072デフォルトの名無しさん
NGNG黙れ
0073デフォルトの名無しさん
NGNG(プログラムを組む上での勉強は、この辺も含めてやらないとダメだ)
0074デフォルトの名無しさん
NGNGいや、お前には関係ない。
0075デフォルトの名無しさん
NGNGあとは作者と使う人の問題でしょ。
「関係ない」もそれに対する反論もここでは蛇足。
0076デフォルトの名無しさん
NGNG取り出すことはできるのでしょうか?
SetMessageで、teraterm内にテキスト(文字)を送信することは(WM_CHARを使い)できましたが、その逆で、teraterm内のlogテキストを取り出したいのです。
Win32APIを用いてできる方法をご存知なかたはいますか?
いましたら、申し訳ございませんが、教えていただきたいです。
宜しくお願いします。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNGどのようにしたらいいでしょうか?
0080デフォルトの名無しさん
NGNGメモリDCと1bitビットマップ作ってSelectObjectして
そこに24bitビットマップをBitBlt。
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG画像処理スレなら、別だろうけど
0083デフォルトの名無しさん
NGNG効けば、とりあえずこれで一発な気が。
SRCとDSTが同じ大きさだとディザ処理省略されるっつー困った仕様があった気もするが。
0084デフォルトの名無しさん
NGNGTeraTermなら、Log出力機能を含めて結構強力なマクロ言語を搭載している。
それを利用するのが手っ取り早いのではないかと。
#いや、APIでなきゃいけなり理由があるなら話は別だが。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG解雇
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG880 名前:デフォルトの名無しさん :03/05/06 22:29
質問。
MCIのテストプログラムなのですが、ビルドを行うと、
--------------------構成: mci - Win32 Debug--------------------
コンパイル中...
main.c
リンク中...
main.obj : error LNK2001: 外部シンボル "__imp__mciGetErrorStringA@12" は未解決です
main.obj : error LNK2001: 外部シンボル "__imp__mciSendCommandA@16" は未解決です
Debug/mci.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー
ブラウザ データベースを作成中...
mci.exe - エラー 3、警告 0
と、エラーが出ます。<windows.h>はいれてあります。
ほかのリンクか何かに必要なものってありますか?
881 名前:デフォルトの名無しさん :03/05/06 22:31
そのAPIをMSDNで調べれば必要なヘッダとライブラリが書いてあるが
とのやりとりがあったのですが、このエラーが解決できませんでした。
どなたか対処法教えていただけませんか?
0090デフォルトの名無しさん
NGNGシステムフックするしかないですか?SetActiveWindowを使ってるけど
フルスクリーンされるとウィンドウがアクティブにならないんです。だけど
GetDC(HWND_DESKTOP)で描画をしてやるとフルスクリーンの上から描けてはいるんだけど
なぜキー入力が受け取れないか疑問なんです。
0091デフォルトの名無しさん
NGNG>そのAPIをMSDNで調べれば必要なヘッダとライブラリが書いてあるが
必要なヘッダと"ライブラリ"
0092デフォルトの名無しさん
NGNGどのライブラリをリンクしたのか書いてみそ。
0093デフォルトの名無しさん
NGNG他にもなにか必要なのでしょうか
009493
NGNG連続ですいません
0095デフォルトの名無しさん
NGNGコンパイラのバージョンと、
ヘッダーおよびライブラリをどこから入手したかを教えて。
009693
NGNG初心者なので質問の意味がよくわからないのですが、ダイアログベースでDlg.hのほうに
mmsystem.hをインクルードしました。
0097デフォルトの名無しさん
NGNGもしかしてさ、Debug ビルドと Release ビルドの両方に
ちゃんとライブラリを指定した?
たとえば、Debug ビルドだけにライブラリを指定しても、
Release ビルドにするとリンカエラーになるよ。
0098デフォルトの名無しさん
NGNGどうやらReleaseビルドのほうには設定されていなかったみたいです。
ご迷惑をおかけしました。
0099デフォルトの名無しさん
NGNGWM_LBUTTONDOWNのLPARAMは、マウスクリックのxy座標の位置になりますが、
下位ワードがx座標、上位ワードがy座標ですよね。
このLPARAM(Unsigned Int)をこちら側で、座標入力する場合、どのようにすればいいのですか?
たとえば、x値が110で、y値が200だとして、
unsigned int ppp;とあるとして、
このpppの下位ワードに110、上位ワードに200を入れる方法(やりかた)を教えて欲しいのですが。
宜しくお願いします。
また、そのようなことを簡単にできる関数はありますか?
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGHOWORD(SendMessage(hEdit, EM_GETSEL, NULL, NULL))
で、マウスで範囲指定した位置が取得できるのはわかるのですが、
位置ではなく、「その範囲の文字列」を取得するにはどうすれば良いのでしょうか?
(GetWindowTextを使わずに)
0104デフォルトの名無しさん
NGNGEM_GETSELTEXT
0106デフォルトの名無しさん
NGNGモデムの設定を削除する方法はないでしょうか?
今はキーボードで模擬しているのですが、スマートに削除したいと思いまして。
ネットカフェでの使用を想定しています。
0107デフォルトの名無しさん
NGNG円や四角形を描画する関数を使用していて、
プログラムを開始してからしばらくすると図形の中の色が
透明になってしまいます
これは何か特定の原因があるのでしょうか?
どなたか回答おねがいします
0108デフォルトの名無しさん
NGNGDeleteObject サボってねえか?
0109107
NGNGDeleteObjectは大丈夫でした
0110デフォルトの名無しさん
NGNGそういう強烈なオチだったりする?
0111デフォルトの名無しさん
NGNGあるときを超えると急に中の色が消えてしまいます
それと関係ないかもしれないですが、同じ関数を1ループ中に
呼び出す回数を増やすと消えるまでの時間が延びました・・・なぜ・・・
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG0114107
NGNGよくわかりませんが、四角形の周りを描画する関数(中身も描画する関数とは別)のブラシに
色を指定したあと、GetStockObject(NULL_BRUSH)していたのがまずかったようです
レスしてくださったみなさん、ありがとうございました
//ブラシの設定
☆//hBrush=CreateSolidBrush(crCOLOR);
//中身は描画しない
hBrush=(HBRUSH)GetStockObject(NULL_BRUSH);
SelectObject(hdc,hBrush);
☆の行をコメントにすると動きました
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGそのコメントにした行で作成したブラシをDeleteObjectしたのかと小一時間・・・
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNGファイル名を変更したい場合、どのWin32APIを使えばいいのでしょうか?
0120デフォルトの名無しさん
NGNGMoveFile
0121デフォルトの名無しさん
NGNG色々言われてるが、事後報告があるのは偉い
0122デフォルトの名無しさん
NGNG本人という保証はない
0123デフォルトの名無しさん
NGNG疑い深いな
なりすます意味が無いだろ
0124デフォルトの名無しさん
NGNG本当に偉いと思っている保証はない
0125デフォルトの名無しさん
NGNGなりすます意味が無い保証はない
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG逆だった。
0128106
NGNG0129デフォルトの名無しさん
NGNGモデム関連操作のCPLアプレットを逆アセしなされ。
多分適当なレジストリをいじってるだけだからregmonで追いかければいいと思うけどね。
0130デフォルトの名無しさん
NGNGそれの何をどう削除したいのかがわからない。
最後にネットカフェでの使用というのがもうどう対応していいかわからない。
俺に理解能力が無いのだろう。それは認めよう。
だから俺にも回答できるように質問を1から教えてください。
0131デフォルトの名無しさん
NGNG129を見習え!
0132129
NGNG多分こういうことだと思う。
ネカフェで自前の携帯/PHS(京ぽんとか)をUSBケーブル経由で接続(&インストール)することで
パケットを拾われないよう通信し、用が済んだらモデム設定(アカウント情報なんかも含まれるし)を
抹消したいと。
んでとりあえずそれらしいキーを捜してみた。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fax\Devices
この下にモデム一覧がある。多分アカウント設定は他所にあると思うけど、もう何年も
ダイアルアップなんてやってない(当然設定も残ってない)ので分からない。
レジストリ内を接続名で検索してみれば分かると思う。
キーが分かったらお決まりのレジストリ操作で多分OK
0133129
NGNGHKLMSOFTWARE\Microsoft\Ras\Tapi Devices\Unimodem
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\UNIMODEM\DeviceSpecific
HKLM\SYSTEM\ControlSet001\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}
HKLM\SYSTEM\ControlSet001\Enum\Root\MODEM
HKLM\SYSTEM\ControlSet002\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}
HKLM\SYSTEM\ControlSet002\Enum\Root\MODEM
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}
HKLM\SYSTEM\CurrentControlSet\Enum\Root\MODEM
にあった。ControlSetxxxの値は環境によって変わると思う。頑張って消しまくってくれ。
Windowsって意外とタフだから適当に消しても辻褄合わせてくれるよ、多分。
0134130
NGNGダイヤルアップの設定ねぇ・・・
HKEY_CURRENT_USER\RemoteAccessとか
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections
なんてのも関連はありそうだがなんか違う感じだしねぇ。
0135106
NGNG仰るようにレジストリ解析ソフトを使って削除前と削除後を比較して実行することにします。
ありがとうございますた。
0136デフォルトの名無しさん
NGNGよくわからんけどPBKファイルとかRasDeleteEntryとか
関係あるかな?
0137デフォルトの名無しさん
NGNGAttachThreadInputしてSystemParametersInfoで0に設定して、
SetForegroundWindowしました。通常は正常に動作しています。
ただし、ターミナルサービスのリモートデスクトップでセッションが切れている
間だとフォアグラウンドにならないようです。これはリモートデスクトップの
制限でしょうか?
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNGたいていのアプリは別のアプリにOpenProcessされている
0141デフォルトの名無しさん
NGNG0-9 A-Fのキー(16進数)、及び
BS、Delete、Home、End、矢印キー以外のキー入力を
無効にしたいのですが、どうすれば良いのでしょうか
Editコントロールをサブクラス化してみたものの、この先がいまいち分かりません
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGでも自分で書いてみたプログラム(親ウィンドウ+子ウィンドウ*1)ではなぜか表示されないんです。
Altを押せばちゃんとメニューを開くのですが、Alt+Spaceみたいに同時に押してもうまく反応してくれません。
どうすればよいのか知っている方いましたら、教えていただけないでしょうか。
0145デフォルトの名無しさん
NGNGTranslateMessageが無いとか?
0146デフォルトの名無しさん
NGNGそれでした…。なぜ今まで気づかなかったんだろう…。
それにしても素早いお答えありがとうございました。
0147デフォルトの名無しさん
NGNGまあまあ。解決してよかったじゃないの。
0148デフォルトの名無しさん
NGNG全部入力して、変化した時に弾く
0149デフォルトの名無しさん
NGNGサブクラス化したウィンドウプロシージャでWM_CHARが来た時、入力されて欲しくない文字だったらreturnし、それ以外の場合はCallWindowProcへ通す。
0150141
NGNGつまりOKボタンが押されたり、あるいはフォーカスが
他に移ったとき等に弾くと言うことでしょうか?
またもやすいません、それなら簡単なのですが、
出来れば入力の段階でフィルターかけたいという主旨でして
0152デフォルトの名無しさん
NGNG因みに、148のは、エディットからのWM_COMMANDメッセージを調べて、テキストが変化した時に弾くって意味
(文字が入力されたり、削除された時に調べる)
サブクラス化まで進んでるなら、149の方が良いと思う
0153106
NGNG色々といじらないといけないところが多すぎて危険なので現状のままで行くことにします。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG実行時に変更するならMoveWindowとかSetWindowPosとか。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGShowWindow(hwnd, SW_SHOWMAXIMIZED);
0163デフォルトの名無しさん
NGNGボタンの幅が一番長いテキストが入っている幅で統一されてしまい、
短いテキストのボタンに無駄なスペースができてしまいます。
これを、IEのツールバーのように可変長にすることはできますか?
よろしくお願いします。
0164デフォルトの名無しさん
NGNGできます。
> よろしくお願いします。
いやです。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG死ねば?
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNG0173163
NGNG0174デフォルトの名無しさん
NGNGやり方としては一番稚拙な、堂々とTCPでconnectしてみる方法なのですが、
listenしていないポートにconnectしようとしてWSAECONNREFUSEDになる場合で、
LAN上のリモートホストで1200回/秒、ローカルホストで1700回/秒くらいです。
CPU使用率が100%になっており、CPUがネックのようです。
socketで作ったソケットに対して、
WSAAsyncSelectでFD_CONNECTを指定し、
connectしています。
メッセージは、MFCのウィンドウプロシージャで受けとって、
MFCのメッセージディスパッチで結果をチェックする関数を呼んでいます。
もっと速い方法はあるでしょうか。
0175174
NGNG(これは、非同期ではなく、同期でやった場合も同じです。)
なので、メッセージループに余裕がある限り、結果を待たずにどんどん次のconnectをしています。
0176デフォルトの名無しさん
NGNG回線切って首吊って氏んでおけ
0177デフォルトの名無しさん
NGNG分からないからってそういう書き込みはしないように。
運営に通報しておきました。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG0181174
NGNG安全確認のためのツールですよ。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG絶対ではない。
0185デフォルトの名無しさん
NGNG単なるポートスキャナはまあ必要だと思うけど、「もっと速度をだしたい」ってところはどう言い訳するんだ ?
0186デフォルトの名無しさん
NGNG技術者として自然ではないかと。
0187デフォルトの名無しさん
NGNGうむ
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGそれは技術者としての堕落。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGうむ
0192デフォルトの名無しさん
NGNG君は「基礎からわかるTCP/IPネットワーク実験プログラミング」の
「はじめに」を読みなさい。
0193デフォルトの名無しさん
NGNGどんな技術も使いようによっては悪用できます。
0194デフォルトの名無しさん
NGNG誰も作るなと言ってないが ?
そもそも、人に聞いて楽しようと言うところから「堕落」は始まってるぞ。
>>190
> 悪用しようと思えばカッターナイフ一本でも可能。
だから、たとえば空港の手荷物検査でのカッターナイフの隠し方について公的な場で議論するのはあまり勧められない。
別に犯罪でもなんでもないけど、お馬鹿な厨が実行する可能性があるからな。
0195デフォルトの名無しさん
NGNG> 君は「基礎からわかるTCP/IPネットワーク実験プログラミング」の
> 「はじめに」を読みなさい。
本の宣伝か ?
そうじゃないなら、何が書いてあるか要約を書いてくれ。
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG何が言いたいのか結論をはっきりさせる
癖を付けた方がいいですよ。
0198デフォルトの名無しさん
NGNG人に聞いて楽しようと言うところから堕落が始まってるんじゃなかったのか?
0199デフォルトの名無しさん
NGNGどうでもいいが気に入らなきゃお前が参加しなきゃいいだけのこと。
発言するな。ここを読むな。立ち去れ。
0200デフォルトの名無しさん
NGNG御意。普段人に相手されないからかまってほしいんだろうけど。
0201デフォルトの名無しさん
NGNGまあまあ。まともに相手する必要はないよ。
0202デフォルトの名無しさん
NGNG> そんなこと言い出したら2ch自体もいらない
?? 別に普通の議論をすればいいだけだと思うけど ?
>>197
理解できないならそう言えば ? (藁
>>198
そうだよ、別にいまさら TCP/IP について精進しようと思ってないから。
(やっぱり、宣伝か...。)
>>199
何いきり立ってるの ?
なんか図星でも突かれたのか ?
0203デフォルトの名無しさん
NGNG>193はさりげなく無視した?
どんな技術も使いようによっては悪用できます。
あなたがポートスキャンに特に食いつく理由は何ですか?
選択肢
1. 実はよく分かっていない。
2. ポートスキャンって何か悪いことだって誰かが言ってた。
ちなみにMP3やP2Pといった単語にも同様に反応しているのですか?
そうだとしたら大変ですねぇ。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGあらあら、援軍ですか ?
よかったな、ID 強制表示じゃなくて。(藁
0206デフォルトの名無しさん
NGNGう・・・・ここまで的外れな反論されるとどうしようもないわ。
俺の負け。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGID強制表示?今時何を言ってるんだ、こいつは。
まさかお前以外の人間にもIDが見えてないとは思ってないよな、
ID:ID:yn+Vu/R9 君。
0209デフォルトの名無しさん
NGNG0210202
NGNGまあ、サーバの穴見つけるには必要だろうけど、そんなに「高速化が重要」とは思えないだけのことだが。
>>206
で、どこが的外れかも書けないんだよね。
潔く負けを認めてる点は、賞賛に値するけどな。
>>208
ププッ、今時こんなことでビビルとでも思ってるの ?
もしかして、ネットワーク/2ch 初心者なの ?
>>210
偽もんはいらんよ。
0212デフォルトの名無しさん
NGNGうちに来てる協力会社の奴で、マジでこの手の受け答え
する奴がいてさー、その会社の営業と本人にボロクソ
言った上で解約してやったけど、はたして本人は少し
でも分かってくれたのだろうか。
0213デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG助かる。お前以外にいい奴だな。今日だけじゃなくて永遠にその
トリップ付けたらもっといい奴として崇め奉るよ。
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG以外に→意外に
すまん
0220デフォルトの名無しさん
NGNG泣けてくるな。
↓これ君の発言だよね?
悪用する可能性があるものを公的な場で質問したり回答しないのは、社会人としての常識ではないかと。
↓これが俺の質問
どんな技術も使いようによっては悪用できます。
あなたがポートスキャンに特に食いつく理由は何ですか?
↓これがあなたの回答でいいの?
そんなに「高速化が重要」とは思えないだけ
つまり、あなたが重要と思えないから、公的な場で質問したり回答したりするなってことになっちゃいますけど。
いいのであればこれ以上特に聞くことはないですが。
0221デフォルトの名無しさん
NGNG今必死こいてどう開き直ろうか考えてるはず。
そして誰もが相手をしたくなくなるようなビックリするような
開き直りを見せてくれるはず。
さあ期待してるぜ!
0222デフォルトの名無しさん
NGNG>いいのであればこれ以上特に聞くことはないですが。
あのな、それ気付くの遅すぎ。お前みたいのが相手すっから
この手のバカを図に乗らすんだろうが。
0223デフォルトの名無しさん
NGNG半角の"?"をNGに指定するだけじゃ不完全で困ってたところなのよ。
できれば今日だけとはいわずずっと付けてて欲しい…
0224デフォルトの名無しさん
NGNG> つまり、あなたが重要と思えないから、公的な場で質問したり回答したりするなってことになっちゃいますけど。
論理が飛躍しすぎ。
俺が言いたいのは、>>194 の
> 別に犯罪でもなんでもないけど、お馬鹿な厨が実行する可能性があるからな。
に尽きるよ。
ポートスキャナは、鯖管が自鯖に使うツールとしては基本的なもんだけど、それには 1200回/秒 ぐらいの性能ならまずまず十分じゃないか ?
まあ、0〜65535 のスキャンに約1分もかかるのは困ると言う用途があるのかもしれないけど、そうなら >>174 はその用途を書いたほうが意見が得られやすいと思う。
「どんな技術も使いようによっては悪用できます。」って言うのは正しいし、「技術屋としてより高性能なものを作りたい」と言うのもまた正しい。
でも、高性能なメールサーバーが Spam メール製造器になるご時世だから、ちょっとそこらへんも考えてみてねと言うだけのこと。
>>221-222
> スルーできないアフォがはっきりするから。
(よく見たら、>>214 Typo してたよ。)
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGなんだこりゃ。まったく期待にそぐわない成果物だ。
もういいよ、お前は。
0228デフォルトの名無しさん
NGNG>論理が飛躍しすぎ。
うーん、飛躍してないけどその一言を書けば解決すると思ってるねw
0229デフォルトの名無しさん
NGNGお前何トリップやめてんの?せっかくNG指定してたのに。
0230デフォルトの名無しさん
NGNG同意。今後こいつがどこに噛み付いてくるのか興味がある。
今のところは無いようだ。
http://www.ipa.go.jp/security/virus/faq/qa_a.html#7-2
>>226
まあ、とりようによってはそれぐらいだな。
>>228
ぷぷっ、君もそうしか書けないだよね。
>>229
悪い、トリップ付け忘れたよ。
0232デフォルトの名無しさん
NGNGいや、俺のは飛躍してないからこう書けば十分なんだけど。
アホだなぁ
0233デフォルトの名無しさん
NGNG相手してる君もアホだなぁ
0234デフォルトの名無しさん
NGNGいや、分かってはいるんだけど、自分のレス番号引用して書いてくるから、
なんか反応してあげないと悪い気がして・・・もうやめますけど。
0235デフォルトの名無しさん
NGNG「付け忘れたよ」で済むか、タコ。自分の有害さをもっと考えて
慎重に投稿してくれよ。
0236デフォルトの名無しさん
NGNG> スルーできないアフォがはっきりするから。
と言うことでいいよな。(藁
>>232
> 俺のは飛躍してないから
君の脳内だけな。
0237デフォルトの名無しさん
NGNGトリップ付けてください。
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGいや、質問すべき
0241デフォルトの名無しさん
NGNGむしろ運が良いかも
0242デフォルトの名無しさん
NGNG>>174は質問じゃなくて自慢話だろ
早く気が付いてやれよ
0243デフォルトの名無しさん
NGNGなんの自慢だか。
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG初歩的なデバッグ方法としてメッセージボックスを表示させているのですが、
一度しか通らないはずの関数の中で、メッセージボックスが無限に表示されてしまいます。
これはメモリ領域の破壊が原因なのでしょうか?
WM_COMMAND内にある関数ですので、それが関係しているのでしょうか?
0246デフォルトの名無しさん
NGNGコードみせて。
0247デフォルトの名無しさん
NGNG自前のログファイルに出力するとか
OutputDebugStringでデバッガに出力するとか
PCが2台あるならリモートデバッグするとか
メッセージボックス以外の代替手段もあるよ
0248245
NGNGすいません、かなり長いので貼れません…。
が、もしかしたらコレじゃないかってのがあるので、簡単に載せてみます。
/* プロトタイプ */
char* Kansu01(void);
〜略〜
char buff[100];
WM_COMMAND:
strcpy( buff, Kansu01 );
}
char* Kansu01(){
char buf[100];
char *ret;
strcpy( buf, "あああ");
ret = buf;
return ret;
}
かなりアホなやり方かと思います…。
これで致命的なバグが出ることはあるのでしょうか?
>>247
レスありがとうございます。
デバッガの使い方から勉強することになります…。
将来的には必要になってくるので、勉強しておいて損はないですよね。
0249245
NGNGただ、この使い方が正しいのか、おかしいのかが知りたいです。
0250デフォルトの名無しさん
NGNGいいから首釣って氏ねよ
ポートスキャンで安全確認?そんなの寝てる間にでもやれ
自分に対してならそれで十分だろ
0251デフォルトの名無しさん
NGNGcase WM_COMMAND: の前の case 句で break してないとか。
0252デフォルトの名無しさん
NGNGせめて、static char buf にしとかないか。
0253デフォルトの名無しさん
NGNGvoid Kansu01(char *buf) {
strcpy( buf, "あああ");
}
とかにして、
Kansu01(buff);
と呼び出すとかね。
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG> strcpy( buff, Kansu01 );
は
case WM_COMMAND:
strcpy( buff, Kansu01( ) );
のことかと補完して読んだんだけど、
本当に case や ( ) が抜けているのかも?
0256245
NGNG上のソースは「こんな感じ」的に書いたので省略しすぎました。
…が、>>255さんがおっしゃるように、本当に抜けている部分があるかもしれないので、
よく確認してみようと思います。
その後、>>253さんのような手法に変更したいと思います。
最後にもう一つ聞かせてください。
char buff01[100];
char *buff02 = "いいい";
strcpy(buff01, buff02);
のように、非ポインタ型の文字列(?)と、ポインタ型の文字列を混同させてしまっても問題ないのでしょうか?
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG問題ない。それぞれの意味を考えれば分かるよ。
(それから buff01 とかいう命名法はやめたほうが。。。)
0259245
NGNGすいませんでした。確かに読み返してみたら意味わからなくなってました。
以後、気をつけます。
>>258
ありがとうございます。もう一度基礎の部分を勉強しなおしてみようと思います。
0260デフォルトの名無しさん
NGNGwhy?
0261デフォルトの名無しさん
NGNG命名のこと?そりゃ意味が分かりにくいからさ。
すぐに意味がとれるちょっとした変数なら別にいいんだけど、
01 とか書いてあると2桁までこの変数名が続くのかなと、恐ろしく思ったよ。
0262デフォルトの名無しさん
NGNGへー
0263デフォルトの名無しさん
NGNGサンプルコードの命名までうだうだ言われるのかー
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGハンガリー記法?
ソースだと分かるけど、あれ位の質問用なら良いと思う
そもそも、数字が2桁って事より、ポインタと配列が同じ命名規則って方が気になったけど
(引数を逆にして使ってしまったりして・・・)
0267デフォルトの名無しさん
NGNGウィンドウ(ダイアログではない)上にあるチェックボックスを操作した後に、メインウィンドウのプロシージャにメッセージが来ません
チェックボックスやボタンなどの子ウィンドウにフォーカスが移ってもキーメッセージが来るように出来ませんか?
キーを押したタイミングさえ分かれば、WM_COMMANDなどでも良いのですが・・・これも来ません・・・
調べた限り、MFCなら簡単に出来そうでしたがbccなので使えません
フック関数やプロシージャの変更はプログラムが複雑になりそうで、出来れば避けたいです
他にも方法を考えているのですが、通常はどのように対処しているのでしょうか
0268デフォルトの名無しさん
NGNG起動させ続けたいのですがどうしたら良いでしょうか?
OpenDesktopで取ってきた"Screen-Saver"のDeskハンドルを使って、EnumDesktopWindowsを
呼び出してWindowハンドルを取得。
このWindowのプロシージャを、WM_CLOSEを無視するプロシージャにSetWindowLongで置き換え
たのですが上手くいきませんでした。
0269デフォルトの名無しさん
NGNG使い道がよく分からない。
0270デフォルトの名無しさん
NGNGその関数名はどこで見た情報で得た?
0271デフォルトの名無しさん
NGNGマウスやキーボードメッセージを捨ててみては?
0272270
NGNGその関数名はどこで見た情報から知ったか教えてください。
0273デフォルトの名無しさん
NGNG最近ValidateRectを使った例から。
自分のウィンドウにスクロールバーをつけたとき、スクロールバーがドラッグされている間は画面は変化せず、
マウスボタンが離されてから、一気にその位置までスクロールするようにした。
するとスクロールバーのドラッグ中は勝手に再描画されるらしく、ウィンドウ内がちらつくようになった。
そこでスクロールバーのドラッグされている間はValidateRectを呼ぶようにした。
これで見事ちらつきはなくなったとさ。めでたし、めでたし。
0274デフォルトの名無しさん
NGNG調べると32ビットとは書いてあるのですが。教えてください。
用途としては、文字を表示する関数で、背景色の引数に負を渡した時、
透過して表示とかに使いたいのです。
符号無しだった時は、0xffffffを超えた値を渡した時にする予定です。
0275デフォルトの名無しさん
NGNGtypedef DWORD COLORREF;
0276デフォルトの名無しさん
NGNGCLR_INVALIDとかなんとかいう定数もあった気がする。
0279デフォルトの名無しさん
NGNGどうしたらいいの?
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGインスタンスは メモリ上のプログラム
これを識別するための番号がインスタンスハンドルだそうなのですが
メモリ上のプログラムとはいったいどんな物なのでしょうか?
0282デフォルトの名無しさん
NGNGようするに大雑把に言うとメモリにロードされたEXEファイルの中身
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGじゃあ君が教えてあげれば?
0285デフォルトの名無しさん
NGNGWM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONUP
WM_LBUTTONDOWN
…みたいな感じでWM_LBUTTONUPが
複数回連続して送られてくる事があるのですが
WM_LBUTTONUPの後にWM_LBUTTONUPは
ありえないと思うのですが、これは、仕様なのでしょうか?
0286デフォルトの名無しさん
NGNGクライアントへドロップしたときはどんなだっけ?
0287デフォルトの名無しさん
NGNGHWNDはデスクトップのハンドルと同じ意味になるけど
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGそれともDeskTop単位止まり?
0290デフォルトの名無しさん
NGNG子ウィンドウすべてにドラッグアンドドロップ属性みたいなのがついてしまいます。
特定のウィンドウにのみドラックアンドドロップ属性を設定したいときはどうすればいいのでしょうか?
0291デフォルトの名無しさん
NGNG前スレに解決方法が書いてあった
0292デフォルトの名無しさん
NGNGすみません。ドラッグで検索かけたところみつからないです。
0293285
NGNG「クライアントへドロップ」とは?
試してみれば、わかりますがマウスは移動させてません。
同じ場所で連打していても、WM_LBUTTONUPが複数回
連続して送られてくるのです…。
色々と試してみたのですが、条件がわかりませんが
WM_LBUTTONDOWNを取りこぼす時があるらしいです。
0294デフォルトの名無しさん
NGNG0295285
NGNGWM_LBUTTONDBCLKがきてました。
WM_LBUTTONDOWN
WM_LBUTTONUP
(WM_LBUTTONDBCLK)
WM_LBUTTONUP
WM_LBUTTONDOWN
という感じでした。WM_LBUTTONDBCLKの時は
WM_LBUTTONDOWNは来ないんですね…。
お騒がせしました。
0296デフォルトの名無しさん
NGNGIDropTargetを使ってきめ細かく制御すればいいんじゃない?
0297デフォルトの名無しさん
NGNGSPY++を使ってNOTEPADのEditを監視しつつキーボードのAを叩くと
P WM_KEYDOWN wParam:00000041 lParam:001E0001
P WM_CHAR wParam:00000061 lParam:001E0001
P WM_KEYUP wParam:00000041 lParam:001E0001
とありましたので、
PostMessage(hWnd,0x0100,0x41,0x1E0001); /*hWndはEditのウィンドウハンドル*/
PostMessage(hWnd,0x0102,0x61,0x1E0001);
PostMessage(hWnd,0x0101,0x41,0x1E0001);
とした所、Post毎にWM_IME_NOTIFYが発生してaが三回入力されてしまいました
キーボードを叩いたときと同じ動作をさせたい場合はどうしたらよいのでしょうか?
勘違い、知識不足があったらご指摘いただけると幸いです
よろしくお願いします
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG知らなかったから。
0300デフォルトの名無しさん
NGNGアクティブでないウィンドウにキーボードイベントを送ろうとしています
keybd_eventはアクティブでないウィンドウにも送れるのでしょうか?
>この関数は SendInput 関数に取って代わられました。
という記述も見ましたが、SendInputでも非アクティブのウィンドウには送れない様なので
SendMessageを使いました
keybd_eventでもウィンドウをアクティブにすることなく仮想キーを送れるのでしたら
ご教授いただけませんでしょうか?
ここ4日間Googleの検索結果と戯れましたが自分には検索できませんでした
0302デフォルトの名無しさん
NGNGサービスからキーボードの入力をブロックするプログラムを作成しているのですが、
上手くいかず困っています。お知恵をお貸しください。
行なった事は以下の通りです。ServiceはSystemLocalAccountで動作しています。
1)LogonUserのトークンを取得
2)<http://support.microsoft.com/default.aspx?scid=kb;ja;173687>のサンプル
コードを参考にして、ApplicationDesktopと接続
3)1のトークンを使ってImpersonatLoggedOnUser()で偽装(*1)
4)DLL内に作成した関数で、WH_KEYBOARD(*2)とWH_MOUSEを指定してHOOKをかける
5)RevertToSelf()で偽装解除(*1)
6)2を参考にしてApplicationDesktopとの接続を終了
上記の処理で概ねキー入力のブロックは出来ているのですが、コマンドプロンプトが
起動していると、コマンドプロンプト内でキー入力可能な状態になってしまいます。
上記、4のみを行なう通常のApplicationを作成してLogon中のUserAccount上で実行す
ると上記の不具合は、発生しませんでした。
私としては、Logon中のUserAccount上でHookApplicationを実行するのと同じ事をして
いるつもりなのですが、どうにも腑に落ちません。何か間違った事をしてますでしょ
うか?
(*1)元は無かったのですが、UserContextの問題なのかと思い追加しました
(*2)WH_KEYBOARD_LLも試してみましたが、結果はかわりませんでした
0304デフォルトの名無しさん
NGNG何も表示されないんです。
なぜでしょうか?
同じ位置に、TextOutで文字列を直接指定して表示しようとしたらできました。
また、WinSockで取得した文字列をMessageBoxで表示したらちゃんと表示されました。
WinSockで取得した文字列の描画だけが上手くいかないようです。
0305デフォルトの名無しさん
NGNGしばらく休んで病院行け
0306305
NGNG無視してください。
0307デフォルトの名無しさん
NGNGソースを抜粋して見せられませんか?
0308デフォルトの名無しさん
NGNGSendMessage(hWnd,0x0102,0x61,0x1E0001);
SendMessage(hWnd,0x0101,0x41,0x1E0001);
0309デフォルトの名無しさん
NGNGこれはどれへのレスだ?
0310デフォルトの名無しさん
NGNGUNICODE?
0311デフォルトの名無しさん
NGNG>>297-301
0312デフォルトの名無しさん
NGNGおお。スマン
0313デフォルトの名無しさん
NGNG家々
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG単にWM_KEYDOWNがTranslateされて、2回WM_CHARが行っただけな気が
その目的ならスキャンコードもいらないでしょ
SendMessageは通らなかった気がする
PostMessage( hWnd, WM_KEYDOWN, 'A', 0 );
PostMessage( hWnd, WM_KEYUP, 'A', 0 );
031669式フリーPG ◆hND3Lufios
NGNG0317304
NGNGこれです。
メニューの項目を選択したときにこの関数が呼ばれます。
>>310
すいません、わかりません。
BOOL MySock(HWND hWnd){
WORD WinSockVersion=MAKEWORD(2,2);
WSADATA wsa;
char *SendData="GET /mytest/My.fj HTTP/1.0\r\nUser-Agent:My\r\n\r\n";
char MyBuf[1024];
char Myip[]="IPアドレス"; //アクセス先のIPアドレス、ローカル鯖でテストしています。
unsigned long ip;
//WinSockの初期化
WSAStartup(WinSockVersion,&wsa);
//ホスト情報の作成
ip=inet_addr(Myip);
LPHOSTENT hostent=gethostbyaddr((const char *)&ip,4,AF_INET);
//ソケットの作成
SOCKET hMySock=socket(AF_INET,SOCK_STREAM,0);
0318304
NGNGSOCKADDR_IN sockaddr;
sockaddr.sin_family=AF_INET;
sockaddr.sin_port=htons(80);
sockaddr.sin_addr=*((LPIN_ADDR)*hostent->h_addr_list);
//接続
connect(hMySock,(LPSOCKADDR)&sockaddr,sizeof(SOCKADDR_IN));
//送信
send(hMySock,SendData,strlen(SendData),0);
//受信
recv(hMySock,MyBuf,sizeof(MyBuf)-1,0);
MessageBox(hWnd,MyBuf,"OKです",MB_OK);
//表示
//問題の箇所です
PAINTSTRUCT ps;
HDC hdc;
hdc=BeginPaint(hWnd,&ps);
SetTextColor(hdc,RGB(255,100,200));
TextOut(hdc,0,0,MyBuf,strlen(MyBuf));
EndPaint(hWnd,&ps);
//ソケットを閉じる
closesocket(hMySock);
WSACleanup();
return TRUE;
}
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGおまじないでしょ?
0322デフォルトの名無しさん
NGNGhdc=GetDC(NULL);
SetTextColor(hdc,RGB(255,100,200));
TextOut(hdc,0,0,MyBuf,strlen(MyBuf));
ReleaseDC(hdc);
0323デフォルトの名無しさん
NGNGとある。
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGとある。
0326デフォルトの名無しさん
NGNG俺もそう思ったけど、それだとMessageBoxでも表示されないと思う
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGあとでダンプ見てみれば
0329304
NGNGクライアント領域に描画するときのあれです。
>>321
>>317-318の関数内で呼ばれるんです。
>>322
試してみます。
>>323
はい。
TextOut(hdc,0,0,MyBuf,strlen(MyBuf)); を
TextOut(hdc,0,0,"テスト",6); と置き換えると、これはちゃんと表示されるんです。
>>324
えっと・・・
>>325
はい。
MessageBox(hWnd,MyBuf,"結果",MB_OK); で取得した文字列の表示はできました。
0330304
NGNGReleaseDC(hdc)のところでエラーが出ました。
HWND型のを指定しなければならないとか。
パラメータが足りないとも出ます。
>>327
?
>>328
なるほど。
それをやってみます。
033169式フリーPG ◆hND3Lufios
NGNGstatic char MyBuf[1024];
ZeroMemory(MyBuf, sizeof(MyBuf));
0332デフォルトの名無しさん
NGNGReleaseDC(hWnd, hdc);
>>330
これくらい自分で調べろ
0334一星 ◆Cppn/.YI3.
NGNG033569式フリーPG ◆hND3Lufios
NGNG0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNG> TextOut(hdc,0,0,"テスト",6); と置き換えると、これはちゃんと表示されるんです。
じゃなかったのかよ
0338デフォルトの名無しさん
NGNGこれはウソなのか?
0339デフォルトの名無しさん
NGNG0340一星 ◆Cppn/.YI3.
NGNGうーん……。
偶然なんじゃないか?
WM_PAINTが送られた時以外でBeginPaint・EndPaintを使っても
うまくいく保障はないが、偶然にうまくいく可能性はあるとか。
0341304
NGNGなるほど。
これから気をつけます。
>>337-338
・・・今やったらできませんでしたorz
でも、さっきは4回確認して4回とも表示されたんですけど・・・。
回等してくださった皆様、ありがとうございました。
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG根拠は?
0348デフォルトの名無しさん
NGNG残念ながら、巡回時にキモい単語が目に付いたから脊髄反射しただけですよ。
0349デフォルトの名無しさん
NGNG何一つ信用できない感性だな。
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG郷に入りては郷に従え、って言葉知ってます?
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGスレ荒れて面倒だから答える。
recv は、
・もうデータがないとき 0 を返す
・まだデータがある場合は、1以上指定したバッファサイズ以下だけ読み込んで、読み込んだサイズを返す
一回の recv で実際に何バイト読まれるかは状況しだい。recvしてみないとわからない。
っていう仕様だよ。
データを全部読むなら、0を返すまでループでまわしてバッファの後ろに連結する必要がある。
んで MessageBox に渡すなら、最後にNULLキャラクタ( '\0' )を付加する。
0356デフォルトの名無しさん
NGNGウインドウスタイル(枠線やらメニューやら)によって
ウインドウ生成時のサイズが変わりますよね 650x510(←てきとう)みたいに大きめに。
クライアントサイズをw*hにしたい場合は、(このウインドウスタイルなら)W*Hで作れるよ。
って数値を逆算してくれるAPIってありますか?
無いなら、それを計算する方法を説明したサイトってありませんか?
0357デフォルトの名無しさん
NGNGAdjustWindowRect
って、前スレにも同じ質問があったような・・・
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGローカルマシンでなく、ネットワークのマシンで、
プロセスを列挙するようなAPIってないでしょうか?
また、そのプロセスがどのユーザで動いているか
わかることができればより助かります。
WTSEnumerateProcessesとLookupAccountSidを
組み合わせれば可能であることを確認したのですが、
ターミナルサービスに対応していないと駄目なようなのです。
WinNT Server、Win2000 Server、Win2003上で確実に動作する。
そんな素敵なプロセス列挙APIをご存知ないでしょうか?
教えてくださいこのやろうども。
0360デフォルトの名無しさん
NGNGすげー。
ありがとう。
0361297
NGNG>>314
>>315
>>316
レスありがとうございます
>>314
環境がPerlでWin32-APIを使っているもので、変数が定義されていないからです
環境の記入漏れがあって申し訳ありません
>>315
実際は3回行っていました
仰る通りPostMessageにしたら期待通りの動作が出来ました
ありがとうございました
実際のキーボードもこのようにリターンを待っているのでしょうか
>指定したウィンドウのウィンドウプロシージャが処理を終了するまで制御を返しません
と言う記述を見て、キーボードは返り値を待たないのではと勝手に思い込み
この関数は試していませんでした
勝手な思い込みはダメですね、気をつけます
0362297
NGNGミスによるものでした
lParamを0xC01E0001にしたところ、二回入力となりました
SendMessageではWM_CHARを送らなければ文字は入力されませんでした
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNG質問の意味が良くわからん。
WTSEnumerateProcessesとLookupAccountSidの使い方が分からんという意味なのか?
0365デフォルトの名無しさん
NGNGWTSEnumerateProcessesとLookupAccountSidを使って目的は果たせたのですが、
この方法はNTではできないので、NTでもできて欲しいのです。
NTサーバでも動くものもあるのですが、
Windows NT4.0 Terminal Server Edition SP4でないと動かないみたいなので。
無視されるかと思ってたのですがレスありがとう。
0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGこのスレのレベルじゃ当然。
0369デフォルトの名無しさん
NGNGsendのあとで、すぐにrecvすんなよ。
select使えよ。
0370デフォルトの名無しさん
NGNG漏れは全然この辺知らないので、基本的なところの確認。
・ImpersonatLoggedOnUser はサーバOSでしかサポートされていない。
・CSRSS.EXE は、SeDebugPrivilege privilege が無いとHookできない。
・SetWindowsHookEx は User32.dll とリンクしていないプロセスや、システムサービスをHookできない。
なんとなく上の2つが引っかかってるような気が・・・
0371デフォルトの名無しさん
NGNG理由は?
0372デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGどうしたらよいでしょうか?
パレットをあらかじめ2つCreatePalette()で作っておいて、
SelectPalette(hDC, hPalette1, FALSE);
RealizePalette(hDC);
SetDIBitsToDevice(); /* 1つめのビットマップ */
UnrealizeObject(hPalette1);
SelectPalette(hDC, hPalette2, FALSE);
RealizePalette(hDC);
SetDIBitsToDevice(); /* 1つめのビットマップ */
ではだめでしょうか?
0375デフォルトの名無しさん
NGNGやってみたら?
0376デフォルトの名無しさん
NGNGデスクトップの数だけスレッドを作ってSetThreadDesktopすればいい
0377デフォルトの名無しさん
NGNGパレット弄ってもビデオモードによっては意味無いんじゃないの?
0378デフォルトの名無しさん
NGNGSetDIBitsToDevice に渡している Bitmapinfo に色情報が入っていればちゃんと出るはず。
0379デフォルトの名無しさん
NGNGそれをSendMessage関数でメインウィンドウに送ってるのですが
なぜかモーダルダイアログボックスのタイトル文字が変化してしまいます。
GetWindowText(mod,buf,300);
SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)buf);
modがダイアログボックスです。原因を教えてくださいお願いします
0380デフォルトの名無しさん
NGNGSendMessage(hwnd,WM_SETTEXT,0,(LPARAM)TEXT("タイトル"));
でも、モーダルダイアログの方が変わるのか?
hwndの値は間違ってないか?
0382379
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385379
NGNG0386デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNG0389379
NGNG引き続き値を変える方法を教えてください。お願いします
0390デフォルトの名無しさん
NGNG念じろ。念じるんだ。値が変わるまでこのスレくんな。
0391379
NGNGようなのでIDとして有効なのはそのウィンドウが存在する間だけのようです。
どうやら、みなさん低脳なようなので自分で模索することにします
0392デフォルトの名無しさん
NGNGここの人は丁脳なので、あなたの言ってる事が理解できませんでした。
レスを強制終了します。
0393デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG変数の値の変え方聞く奴は始めて見た。
0397デフォルトの名無しさん
NGNGお前分かるの?
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNGhwndにメインウィンドウのハンドルを代入(変数の値を変える)してください。
それで解決です。
0400399
NGNG代入ってどうやるんですか?
0401379
NGNGご迷惑おかけして本当に申し訳ありません。
0404379
NGNG0405デフォルトの名無しさん
NGNG0406359
NGNG許してほしいと思うなら、なんで解決したか言ってから帰れよ。
>>372
それは逆だス。recvしないから固まるはず。
全部recvし終えてから、sendしないと固まる可能性あり。
ところで漏れの質問はやっぱり無理ッス化。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNGそれともジェネレータ(だっけ?)作るのか?
同じ挙動で数値(色とか大きさとか)だけ変えるなら、バイナリ操作だけでいけるだろ
0410407
NGNGActiveScriptで制御可能なエンジン部があってそれを単一のEXEなりDLLにしたいと
思っているのですが、その後いろいろ調べてみて、以下の方法で行けそうな気が
するのですがいかがなものでしょう?それはダメだとか、普通はこうするだろなど突っ込み
いただけるとありがたいです。
1 .ダミーのリソース(スクリプトやそれが必要なリソースをパッケージしたもの)を含んだ
EXEあるいはDLLのファイルをあらかじめ用意しておく。
2. BeginUpdateResource、UpdateResource、EndUpdateResourceを使って、それを
書き換えるて、新しいEXEあるいはDLLのファイルを作成する。
3. 作ったEXEあるいはDLLのファイルの実行時、FindResource、LoadResource、LockResource
を使ってリソースからスクリプトなどを取得して実行。
0411デフォルトの名無しさん
NGNGだって、そんなAPIはないから。
0412デフォルトの名無しさん
NGNGexeファイルに関しては単純にランタイムのexeの後ろにゴミ(スクリプト)くっつけただけってのはよく見る
0414デフォルトの名無しさん
NGNGWMIのWin32_Processクラス辺りじゃダメかな
ローカルマシンでしかやったことないけど、
WMI自体はリモートマシンにも対応してるはず・・・
0415407
NGNGありがとうございます
0416デフォルトの名無しさん
NGNGダイアログボックスを最小化してからメインウィンドウを最小化し
再びメインウィンドウを元にもどすとダイアログボックスも元に戻ってしまいます。
なぜでしょうか?原因を教えてくださいお願いします
0417デフォルトの名無しさん
NGNGでもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0419デフォルトの名無しさん
NGNGHSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
2 :名前は開発中のものです。 :04/04/26 00:06 ID:Y28g2c6L
ぐふっ・・・おまえには・・・すべてをおしえた・・・みんなをまもってくれ・・・・・・・・・
3 :名前は開発中のものです。 :04/04/26 02:19 ID:PFEeis3S
ネタスレですか? 釣られませんよ。
0420デフォルトの名無しさん
NGNG書き込む処理を行っています。
1.WNetAddConnection2
2.ファイル書き込み
3.WNetCancelConnection2
書き込むPCが起動しているときは、問題なく処理できるのですが、
例えばPCの電源が入っていないときは、ネットワークを検索しているのか、
WNetAddConnection2 がエラーを返すのにすごく時間がかかってしまいます。
対策として、秒数を指定しタイムアウトしたいのですが、
設定する方法はあるのでしょうか?
0421デフォルトの名無しさん
NGNGアドバイスありがとうございます。
Bitmapinfoの色情報がちゃんと入っていませんでした。
(まだ修正して試してませんが)
これから試してみます…
0422デフォルトの名無しさん
NGNG書いているのですが、グローバル変数に保存したはずの値の一部が
消えてしまいます。
まず、以下のような構造体を定義し、グローバル変数としてこの
構造体のインスタンスを1つ用意しました。
// パラメータ
struct TEST_PARAM
{
const char *aaa;
const char *bbb;
int ccc;
const char *ddd;
const char *eee;
int fff;
int ggg;
const char *hhh;
const char *iii;
};
// パラメータ
TEST_PARAM *g_pTestParam = new TEST_PARAM();
0423422
NGNGこの引数にTEST_PARAMへのポインタを受け取っています。
これをグローバル変数pTestParamに保存した後、CreateThread API
でスレッドを起動しています。
// 外部から呼ばれる関数
void _stdcall ExecTest(TEST_PARAM *pTestParam)
{
DWORD dwTestThreadId;
// パラメータを保存
*g_pTestParam = *pTestParam;
// テストスレッドを起動
g_hTestThread =
CreateThread(NULL, 0, TestThread, NULL, NULL, &dwTestThreadId);
}
// テストスレッド
DWORD WINAPI TestThread(LPVOID lpParam)
{
// ★★★この位置でg_pTestParamのメンバを参照すると、一部の文字列メンバが
// ★★★空っぽになっている。
// 履歴検索実行スレッド終了
ExitThread(0);
// 履歴検索実行スレッド用ハンドル解放
CloseHandle(g_hTestThread);
}
0424422
NGNG参照すると全て正しい値が入っていたので保存できたかに見えた
のですが、TestThread内の★★★の位置でg_pTestParamのメンバを
参照すると、一部の文字列メンバが空っぽになっていました。
そもそも*g_pTestParam = *pTestParam; という書き方がまずいのでしょうか。
メンバは整数とポインタだけなのでOKかなと思ったのですが。
おかしいところがありましたらご教授お願いします。
0425422
NGNG誤)グローバル変数pTestParam
正)グローバル変数g_pTestParam
0426デフォルトの名無しさん
NGNGaaa とかの指してる中身もコピーして保存しておけ。
strdup とか使う場合には _beginthreadex を使え。
Cライブラリを一切使わないならCreateProcess で良いけど。
0427422
NGNGありがとうございます。やってみます。
0428422
NGNG0429デフォルトの名無しさん
NGNGほかにインストールされているOSやCD-ROMのバージョン・SPの適用状況を取得するには
どのようにしたらよいでしょうか?
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG種類やバージョンを知りたいって事?
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGその中にOSがあったらそのバージョンを
知りたいんです。
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGイメージ作ってたりすんじゃないの?
そうでないものはひたすらファイル読みまくってDLLのバージョンリソースでも
チェックしたら?
0437429
NGNGIEは特定のファイルからバージョンを取得できるのですが、
Windowsそのものについてはそのような方法を見つけられませんでした。
GetVersionEXも何らかのファイルのバージョンを返していると思うのですが、わかる方いませんか?
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNGMSIとかそっち方面?
044069式フリーPG ◆hND3Lufios
NGNGこれのことかいな。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/versions.asp
ちょっと文章が分かりにくい。>>429を読んで、
「OSのバージョンやSPをAPI以外に、ファイルのバージョン等から取得する方法は
ありませんか?」という意味に解釈するのは無理があるぞな。
0441デフォルトの名無しさん
NGNG取得する関数があったり、レジストリからチェック出来たり、色々方法があった気がするけど
0442デフォルトの名無しさん
NGNGOKじゃないよ。
0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG0446429
NGNG>>429ではAPIがあるかもと思って書いたのですが、
レスを見てなさそうだったので>>437で言い直しました。
>>438
>>440
ありがとうございます。でもSPの取得までは無理そうですね・・・
>>439
MSIというのがよくわかりませんが、たぶん違うと思います。
>>441
それならGetVersionExでできるのですが・・・
>>443
ボリュームラベルならGetVolumeInformationで取得できてます。
スレ違いになってきたので逝ってきます。スレ汚しすいません。
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGサービスパックとかの情報か。レジストリに検索かけてみたら、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP
に、サービスパックとホットフィックス情報があるっぽい
0449デフォルトの名無しさん
NGNG_chdir()
ワイド文字版がよければ
_wchdir()
0450デフォルトの名無しさん
NGNGSetCurrentDirectory() もよろしく
0451デフォルトの名無しさん
NGNGstrstrじゃなくて_mbsstrじゃないとまずい?
0452デフォルトの名無しさん
NGNGstrstrでは予期せぬ物がヒットする可能性がある。
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG045569式フリーPG ◆hND3Lufios
NGNG(IE4以降が必要になるけど)
0456デフォルトの名無しさん
NGNGそうなんですか。どういう場合にNGになるんでしょうか。
0457デフォルトの名無しさん
NGNG045869式フリーPG ◆hND3Lufios
NGNG0460デフォルトの名無しさん
NGNG試しに "aaaaaaあいうえおbbbbb" の中から "あいうえお" を
検索してみたら問題なかったのですが、例えば特定の文字コードを
含む文字が含まれているときはうまくいかないことがある、
みたいなことなんでしょうか。
0461デフォルトの名無しさん
NGNGchar *p = strstr("例文", "癜");
たとえばこんなのがヒットしてしまう。
0463デフォルトの名無しさん
NGNGおお、ありがとうございます。文字コードで見ると
97 E1 95 B6 から
E1 95 を
探すからヒットしちゃうってことですね。
0464デフォルトの名無しさん
NGNGこの辺の問題が_mbsstrにすれば解決するんですかね。
ちなみに>453さんの_tcsstrはどういうときに使うのでしょうか。
0465477
NGNGありがとうございました。
046669式フリーPG ◆hND3Lufios
NGNG_tcsstrだと、_MBCSが定義されていれば_mbsstrに_UNICODEが定義されていれば
wcsstrにプリプロセッサが置換する。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_generic.2d.text_mappings_in_tchar..h.asp
0467デフォルトの名無しさん
NGNGカレントディレクトリを気にすることってあまりないよね。
0468デフォルトの名無しさん
NGNGカレントディレクトリをリネームとか
削除しようとすると問題になるよ
0469デフォルトの名無しさん
NGNG>467が言っているのはそういうことじゃないと思う。
0470デフォルトの名無しさん
NGNGそもそもそんなどんなときにそんな事態が発生するというのか
0471デフォルトの名無しさん
NGNGカレントディレクトリを対象にするんじゃないか?
0472デフォルトの名無しさん
NGNG自信ないけど、たぶん仕様だと思うよ。
俺も昔、同じ現象に悩まされたことがあって、結局オーナーをNULLにすることで解決したような…
0473デフォルトの名無しさん
NGNGそうだよ。でもたいていフルパスで指定するよねって話だと思う。
0474デフォルトの名無しさん
NGNG一度ファイルオープンダイアログ開いた時点でカレントはそのフォルダにチェンジされちゃうしな。
ところでアプリケーションがある位置をアプリ起動時にカレントのフルパスを保存することで
とっといてるけどこれってまずい?
0475デフォルトの名無しさん
NGNGWin32だったとしてもコンソールアプリは普通カレントディレクトリを基準にするっしょ
0476デフォルトの名無しさん
NGNGまずい
0477デフォルトの名無しさん
NGNGなんで?
0478デフォルトの名無しさん
NGNGカレントではない
0479デフォルトの名無しさん
NGNGアプリが存在するディレクトリとカレントディレクトリは一致しないから。
簡単に試せる方法としては、アプリのショートカットファイルをつくって
そのプロパティで作業フォルダを変更してみること。
0480デフォルトの名無しさん
NGNGなるほど
0481デフォルトの名無しさん
NGNGじゃあ、アプリケーションの位置ってどうやって特定すればいいですか?
0482デフォルトの名無しさん
NGNGGetModuleFileName(NULL, filename, length)
0483デフォルトの名無しさん
NGNGさすが!
0485デフォルトの名無しさん
NGNGそれって恥ずかしくないか?
0486デフォルトの名無しさん
NGNGみたいに、ポインタをダイアログに渡して、そのポインタ先にデータを取得するダイアログってどうやって作ってるんですか?
int DialogBox(HINSTANCE hInstance , LPCTSTR lpTemplate ,HWND hWndParent , DLGPROC lpDialogFunc);
には、ポインタを渡せるような引数は無いのですが…
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG487 の提案が順当な線だが、
WM_INITDIALOG でオーナーに SendMessage という手もある
0489デフォルトの名無しさん
NGNGおお、こんなのがあったのか。DialogBox使ってどうやるのかずっと考えてた
ありがとうございます。
>>488
モーダルダイアログって、親ウィンドウはキー入力とか受け付けなくなるけど、SendMessageは受け付けるんですか?
自分では、GetWindowLongのGWL_USERDATAとかみたいに、関数使って無理やり保持させる方法とか考えてた…
0490デフォルトの名無しさん
NGNG逆にダイアログから親ウィンドウへSendMessageするっていうこと。
0491デフォルトの名無しさん
NGNGDialogBox() とか DialogBoxParam() は、内部に独自のメッセージループを持っているので、
親ウィンドウのプロシージャもずっとメッセージを受け取れる状態になってるよ。
0492359
NGNG↓のコードでWMIを使ってやってみたらローカルマシンでは動作しました。
ServerName = "\\Optiplex-Gx1"
Set ServiceSet = GetObject("winmgmts:" & ServerName).ExecQuery("select * from Win32_Process")
for each Service in ServiceSet
Call Service.GetOwner(strOwner, strDomain)
WScript.Echo Service.Name & "," & strDomain & "\" & strOwner
Next
Set Service = Nothing
Set ServiceSet = Nothing
これをリモートマシンでも試してみます!
ありがとうございます!
0493デフォルトの名無しさん
NGNGそれは分かってたんですが…
>>491
メッセージ自体はOKなんですね。参考になりました。
(たぶん大丈夫だけど、メッセージは一切受け付けないつもりで実装してたんで、特定の動作で不都合が出てきてりするかも…調べてみます…)
0494デフォルトの名無しさん
NGNGこれってもっと時間短縮できないのでしょうかねぇ。
接続元の環境はWinXPマシンにINSボード突っ込んで、ISDN回線使ってます。
接続先はYAMAHAのルータです。
0495デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGネットワークコマンドでnbtstatがありますよね。
このコマンドの中で動いてるAPI関数を知りたいのです。
Pingなどの中身は自力でわかったのですが
どうしてもわかりません。
0498デフォルトの名無しさん
NGNG>Pingなどの中身は自力でわかったのですが
すげー。よければ教えてください。
0499デフォルトの名無しさん
NGNGパケットキャプチャーすれば、わかるだろ。
050069式フリーPG ◆hND3Lufios
NGNGarpもつくれるはず。
0501デフォルトの名無しさん
NGNGえ?パケットキャプチャーでAPI関数の名前が分かるんですか?
0502デフォルトの名無しさん
NGNG分からない。
デバッガか逆アセンブラを使うとよい。
デバッガではOllyDBGがオススメ。
逆アセンブラではdiswinやdispeが主流。
どれもフリーソフトなので試してみれ。
ま、APIの名前が知りたいだけならメモ帳で開いたら分かるけど。
0503デフォルトの名無しさん
NGNG>>497
とりあえず、nbtstat.exe の中からそれっぽい文字列をひらってみた。
WSOCK32.dll ws2_32.DLL MSWSOCK.DLL USER32.dll ntdll.dll MSVCRT.dll ADVAPI32.dll KERNEL32.dll
HrLanConnectionNameFromGuidOrPath netman.dll system\currentcontrolset\services\netbt\parameters
\Device\NetBt_Wins_Export WSOCK32.dll OemToCharBuffA USER32.dll vsprintf NtClose sprintf atoi
isprint memmove RtlUpcaseUnicodeStringToOemString RtlInitUnicodeString RtlFreeAnsiString strncpy
RtlUnicodeStringToAnsiString RtlFreeUnicodeString NtCreateFile RtlAnsiStringToUnicodeString
RtlInitString NtWaitForSingleObject NtDeviceIoControlFile RtlExtendedLargeIntegerDivide ntdll.dll
exit _write _exit _XcptFilter __p___initenv __getmainargs _initterm __setusermatherr _adjust_fdiv
__p__commode __p__fmode __set_app_type _except_handler3 MSVCRT.dll _controlfp RegCloseKey
RegQueryValueExA RegOpenKeyExA ADVAPI32.dll WideCharToMultiByte MultiByteToWideChar
Sleep GetProcAddress LoadLibraryA FreeLibrary LocalFree LocalAlloc FormatMessageA
KERNEL32.dll CharToOemBuffA exe\nbtstat.dbg
0504デフォルトの名無しさん
NGNG他のPCのOSの種類とユーザー名を
取得しようと思ってるのですが、
APIがまだ見つかりません・・・
0505デフォルトの名無しさん
NGNGそんなもん。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG>フローチャートでできるだけわかりやすく
殺意がわいたw
0510デフォルトの名無しさん
NGNG理由は?フローチャートで分かりやすくよろしく。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG┌───┴──┐
│PlaySound ( ) │
└───┬──┘
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNGデペンデンシーウォカーでも
0515497
NGNGそれは何でしょうか?
初心者なんで変な質問してしまいすいません。
ただたんにネットワーク上の他端末の端末名やワークグループ名を
取得したいのですけどnbtstatコマンド以外で
可能なのか知りたいのです。
0516デフォルトの名無しさん
NGNGどんなDLLに依存(ディペンデント)しているか見るツール。
0518デフォルトの名無しさん
NGNGWindowsのリソースキットに、プロセスが呼び出しているAPIを調べるツールがあります。
0519デフォルトの名無しさん
NGNGなんでそんな無駄にスレが伸びそうな教え方するんだ。
0520デフォルトの名無しさん
NGNGこれでnbtstatを調べれば、nbtstatがどんなAPIを使用しているかすぐにわかる
0521VC++
NGNGそのDLLの中で画面の物理的なサイズを取得しようとしたのですが画面の解像度を変更するたびに物理サイズもそれに伴い色々変わってしまいます。
私が考えていた結果では解像度に関係なく物理サイズは同じ結果となるはず・・・。
私の使い方が悪いのでしょうか?
どなたか教えていただけないでしょうか?
<コーディング>
w_hdc = CreateIC("DISPLAY", NULL, NULL, NULL);
w_ret = GetDeviceCaps(w_hdc, HORZSIZE);
0522デフォルトの名無しさん
NGNG>私が考えていた結果では解像度に関係なく物理サイズは同じ結果となるはず・・・。
ならない。
以上。
0523VC++
NGNGそのDLLの中で画面の物理的なサイズを取得しようとしたのですが画面の解像度を変更するたびに物理サイズもそれに伴い色々変わってしまいます。
私が考えていた結果では解像度に関係なく物理サイズは同じ結果となるはず・・・。
私の使い方が悪いのでしょうか?
どなたか教えていただけないでしょうか?
<コーディング>
w_hdc = CreateIC("DISPLAY", NULL, NULL, NULL);
w_ret = GetDeviceCaps(w_hdc, HORZSIZE);
0525デフォルトの名無しさん
NGNG> ただたんにネットワーク上の他端末の端末名やワークグループ名を
> 取得したいのですけどnbtstatコマンド以外で
何がしたいのか今ひとつ掴めないがnet view 相当でよければ
WNetEnumResource あたりとか。
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGMicrosoftのサイトをかなり探したのですが、どれをインストールしても更新されませんでした。
0528デフォルトの名無しさん
NGNGComctl32.dllは最新のIEやそのパッチをあてればいい。
commctrl.hは>>2のPlatform SDKから
0529デフォルトの名無しさん
NGNGありがとうございます
早速いってみます
0530デフォルトの名無しさん
NGNG1ピクセルの物理的な寸法を得る手段がないので
あきらめるしか無いヌー
あるいは、ユーザーに「ディスプレイの正確なdpiを計測してください」と頼むか。
0531デフォルトの名無しさん
NGNGアプリごとに実装してたらスーパー馬鹿野郎だな
そーゆーのはOSが持つべき機能
0532デフォルトの名無しさん
NGNG穏やかに行こうぜ。
0533デフォルトの名無しさん
NGNGPlatform SDKをダウンロードして
Program FilesフォルダにMicrosoft SDKがフォルダが出来たのですが、
この中身のLib、includeを全て適当にコピーして使ってもいいものなのでしょうか?
何か正しい使い方がありましたら教えていただけませんか?
0534デフォルトの名無しさん
NGNGコピーするのではなく、インクルードファイルのディレクトリ設定や
ライブラリファイルのディレクトリ設定を追加するほうがいい。
既存のディレクトリよりも優先されるように順番に注意すること。
0535デフォルトの名無しさん
NGNG分かりました、本当にありがとうございました
0536デフォルトの名無しさん
NGNGプログラムが実際に消費した時間を計測したいです.
今のところ GetProcessTimes() や GetThreadTimes() を使って
ますが,Win95系のバージョンでは使えないので困ってます.
よろしくお願いします.
0537デフォルトの名無しさん
NGNG「実際に消費」というのはもっと具体的に言うとどういうこと?
実際にかかった時間のこと?
0538デフォルトの名無しさん
NGNG実際に CPU を使用して計算した時間を知りたいです.
いわゆる elapsed time のほうではないっす.
0539デフォルトの名無しさん
NGNG一般的なキャンバスの仕組みが分かりません。
灰色の背景に白地のキャンバスエリアだとして、ただ白の短形を描画して
その上から線を引くとしたら白の短形を再描画した時消えるし
どう作ればいいのでしょうか?
保存する時はクライアントエリア上に直接描かれた絵を1ピクセルずつ色を
キャプチャして保存するような感じでいいのですか?
リンク探しても、それっぽい内容が見当たりません。
どなたか教えてください。
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGダブルバッファリング
0548VC++
NGNGおっしゃる通りみたいでした。
dpiから画面の物理サイズを計測してみたんですが、やはり同じでした・・・。
実際のサイズを知る手段が無いみたいですね。
ありがとうございました。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG結構いる。仕方ないよ。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG0553539
NGNG>547
ググったけどよく分かりません。「ちらつきをなくす効果」ですよね?
白地に線を引く(Ellipseなどでマウスクリックで描画し続ける)としたら
白を再描画するとクリックした位置はユーザー任意なので線が消えてしまうって事なんですけど。
位置を記録したとしても、描くほど動作が不安定になりそうだし。
0554デフォルトの名無しさん
NGNGで、四角形は矩形(くけい)だ。
0555デフォルトの名無しさん
NGNG>あれ? 四角形って短形って言わんのか(;´Д`)
どんまい。俺も最初読めなかったよ。
学校で習わないもんな。
0556デフォルトの名無しさん
NGNG信じられん。コメントのしようがない
0557デフォルトの名無しさん
NGNGCreateCompatibleDC
0558デフォルトの名無しさん
NGNG線を追加するたびに、キャンバスのイメージを
バッファ(HBITMAP)に保存しといて、
WM_PAINTが来たときには、バッファの内容を描画する。
0559539
NGNG>555 もう短形でもいいじゃん。
>556 してるじゃん。
>557-558
ありがとうございます。
理屈は何となく理解できました。
0560デフォルトの名無しさん
NGNG何となく頷いてしまった。君は鋭いね。
0561297
NGNGSendInputとかの関数の中身(どうコーディングされているか)を見たいのですが、
WinAPIを使うときにインクルードしているファイルを見ても
SendInput(
IN UINT cInputs, // number of input in the array
IN LPINPUT pInputs, // array of inputs
IN int cbSize); // sizeof(INPUT)
としかなっていませんが、実際の動作はCではコーディングされてないのでしょうか?
どんな動作をしているのか見たいのですが、そのような時はどういう風に調べれば
よいのでしょうか
ヒントだけでもいいので教えてください
検索方法が悪いのか、たいした情報が出てきません・・・
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG好きなの選べ。
・インターフェイスと動作が分かれば十分。MSDNで調べる。
・あきらめる。
・MSとNDA結んでソース見せてもらう。
・リバースエンジニアリングしてもいい国に行く。
・Wineみたいな互換ライブラリの実装から類推する。
0564デフォルトの名無しさん
NGNG実際のコードは%WINDIR%\SYSTEMの中にDLLとして収められている。
(MSDNのSendInputの項を見ると「インポートライブラリ:user32.lib を使用」と書いてあるのでSendInputはUser32.dllにある)
当然Cのソースコードとして読むことは不可能。
せいぜい逆アセンブルするまでしかできない。
0565563
NGNG私の拙い知識で思いつく限りでは、以下の方法が考えられます。
・インターフェイスと動作が分かれば十分。MSDNで調べる。
・あきらめる。
・MSとNDA結んでソース見せてもらう。
・リバースエンジニアリングしてもいい国に行く。
・Wineみたいな互換ライブラリの実装から類推する。
0566497
NGNGNBTSTATを解析して調査してみます。
すごく・・・便利なルーツですね。
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNGルーツ?
0570デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNGなんか出遅れちゃったけど。。。
netstat を調べたいなら、同様のフリーウェアをあたるのが一番。
ttp://www.sysinternals.com/ntw2k/source/tcpview.shtml
ソースつき。
0573デフォルトの名無しさん
NGNG0574497
NGNG自分の組織にあったネットワーク管理ツールを作ってまして
VC言語の作り方忘れたので、VB6でAPI使ってます。
マルチプロセスで動かすのでちゃんと動くか怖いですけどね。
0576デフォルトの名無しさん
NGNG作るまでもないだろ
0577デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1101473340/359-360
内容は
>wmpの視覚エフェクトを自分で作っているのですが、
>現在再生中のファイル名と
>再生した経過時間を取得するにはどうすればいいでしょうか。。
>
>板違いだと思うのですが、どこで聞いてよいか分からなくて、、、
>どなたかご教授ください。
0578497
NGNG自分の勉強の為ででもあります。
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNGDirectShow使ってる?もしそうなら↓へ。
DirectShowと戦うスレ
http://pc5.2ch.net/test/read.cgi/tech/1026666092/
0581デフォルトの名無しさん
NGNGレスありがとうございます
良くわかりました
Wineっていうのを調べてみます
ありがとうございました
0582デフォルトの名無しさん
NGNG他のプログラムを起動しているのですが、
メモ帳が「notepad」で開けるのですがこれは何故でしょうか?
IEをプログラムの名前だけで開きたいのですがどうすればいいでしょうか?
0583デフォルトの名無しさん
NGNGパスが通ってるから。
0584デフォルトの名無しさん
NGNGそれはどこかに定義してあるのでしょうか?
また、IEの場合はなんといれればよいのでしょうか?
0585デフォルトの名無しさん
NGNGGlobalMemoryStatus(Ex)
0586デフォルトの名無しさん
NGNGiexplore
0587デフォルトの名無しさん
NGNGGetWindowThreadProcessIdを使ってプロセスIDを求めたいんだけど、
なぜかGetWindowThreadProcessIdで異常終了してしまう
OSはWindows2000
心当たりある人いませんか?
0588デフォルトの名無しさん
NGNGSuspendThreadやResumeThreadを使うのはOKなんですか?
一応期待した挙動はしているみたいなんですが、
MSDNにはそれらしい記述が見つからないので教えてプリーズ。
0589デフォルトの名無しさん
NGNGソース読んでみたら?
0590デフォルトの名無しさん
NGNGex 付きの方は OK。
0591デフォルトの名無しさん
NGNGそれの完了を待っている複数のスレッドが存在する場合に SuspendThread を使うと、
デッドロック状態になります。
0592デフォルトの名無しさん
NGNG_beginthreadexの方でも?
解決する方法はありますか?
C ランタイム ライブラリを呼ばないとか呼ぶときは排他制御するとかの泥臭い方法しかないですか?
0593デフォルトの名無しさん
NGNGISBN4-7561-1404-0
198ページ
0594デフォルトの名無しさん
NGNG高いよ。
0595デフォルトの名無しさん
NGNGスレッド管理する場合は、
もっと大きめの単位で待ち合わせとかするのが普通のような気が。
先方が何してるんだかわからない状況で SuspendThread は乱暴・・・
というかそんなパターンあまり便う場面なくない?
0596デフォルトの名無しさん
NGNGいけない API です。使いこなすのは難しい。
0597デフォルトの名無しさん
NGNG確かに。自分自身をSuspendThreadするってケースでしか使わないなぁ・・・
0598デフォルトの名無しさん
NGNGソース見せて。
CALLBACK キーワードがついてないとか?
0599デフォルトの名無しさん
NGNG引数にVBの関数のポインタを渡し、DLLからそれを
コールするような処理を書いてみました。
問題なくコールできたのですが、DLL内でスレッドを生成し、
そのスレッド内からコールすると、「ハンドルできない例外」が
発生してしまいます。このような呼び出し方はやっては
いけないことなのでしょうか。
0600デフォルトの名無しさん
NGNGちなみにデバッグで起動すると問題ないのですが、
VBでexeを作って起動すると失敗します。
0601デフォルトの名無しさん
NGNGすいません。勢い余ってここに投稿してしまいましたが、
よく考えたらスレ違いでした。>599-600は取り下げ
させてください。VBスレの方で質問しなおします。
0602デフォルトの名無しさん
NGNGVBスレのほうではちゃんと質問内容を明確にしてね
0603デフォルトの名無しさん
NGNG060469式フリーPG ◆hND3Lufios
NGNG0605デフォルトの名無しさん
NGNGそれでやったんですができませんでした。
ファイル名を指定して実行するウィンドウではそれで起動できるのですが、
ShellExecuteやCreateProcessだと起動しませんでした。
0606デフォルトの名無しさん
NGNGCoCreateInstance()を呼べばいいと思う。
0607デフォルトの名無しさん
NGNGGoogleで検索すると、さも当たり前に使うAPIのように紹介されていますが、
MSDNライブラリの注意書にあるとおり、私のPCではサポートされていませんでした。
これが普通に使える方、どんなハードウェアを使っているのか教えてください。
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNGRDTSC命令が使えるCPU(Pentium以降)なら大丈夫らしい
ttp://yosirin9.hp.infoseek.co.jp/tips/no1/tips_no1.htm
0610デフォルトの名無しさん
NGNGメモリマップドファイルでユーザー権限で動いているEXEと通信しようとしてるのですが、
MapOfViewの段階で失敗します。
両方とも通常のアプリなら問題は発生しません。
環境はW2kPro+VS.NET2003、サービスはATLウィザードで作ったものほぼそのままで、
メモリマップドファイルを作成するロジックのみを追加しています。
よろしくお願いします。
0611デフォルトの名無しさん
NGNGQueryPerformanceCounterがサポートされていない>>607の
ハードウェアも教えてほしい。
0612デフォルトの名無しさん
NGNG3台試しました
1台目
CPU : AthlonMP (Palominoコア)
マザーボード: TYAN TigerMP (BIOS 1.05)
HALはACPIマルチプロセッサです
2台目
CPU : Pentium3 (Coppoermineコア)
マザーボード: 不明 hp Visualize X-CLASS
HALはACPIマルチプロセッサです
3台目
CPU : Pentium4 (Northwoodコア)
マザーボード: Intel D845GERG2-LK (BIOS P12 (RG84510A.86A.0022.P12.0211151511))
HALはACPIユニプロセッサです
RDTSC命令を直接叩いてみます。
デュアルのマシンはプロセッサのアフィニティを設定しないとヤバそうですね。
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNGコーディングが間違ってるって事はない?
0615デフォルトの名無しさん
NGNGSW_SHOWMAXIMIZEDを使わずにやる方法は無いでしょうか
SW_SHOWMAXIMIZEDだと、初期化前に表示しちゃうもんで…
SW_HIDEMAXIMIZEDなんてのがあれば良かったんですが
0616デフォルトの名無しさん
NGNG初期化してからShowWindowすればいいじゃない
0617デフォルトの名無しさん
NGNGそれが、初期化の際、最大化した状態でのWindowの情報が色々欲しかったりで。
別に初期化前に見せてしまっても良いのですが、どうにも見栄えが悪いんですよね。
0618デフォルトの名無しさん
NGNGサイズが必要な初期化は WM_SIZE でやればいいのでは?
(WM_SIZE は cx = cy = 0 で呼ばれることあるから注意)
0619615=617
NGNG初期化は絶対しなければなので初期化する
>初期化後に最大化
>WM_SIZEでまたサイズ変更処理(初期化の処理と一部かぶる)をしなければ
そんなわけで、上手く最大化して起動できれば二度やらずに
済むと思ったのですが、SW_SHOWMAXIMIZED以外には無さそうですね。
>>618
二度やるのが多少気持ちが悪い程度なので、それで行きたいと思います。
cx = cy = 0の件は初耳で全く考慮してなかったので、気をつけます。
616さん、618さん、レスありがとうございました。
0620デフォルトの名無しさん
NGNGValidateRectしてからSHOW_MAXMIZEDで誤魔化せない?
0621デフォルトの名無しさん
NGNG逆に基準ディレクトリと相対パスからフルパスを生成するAPIはないでしょうか。
例えば、c:\aaa\bbb\ccc.txt(フルパス) と c:\aaa\ddd\(基準) から ..\bbb\ccc.txt(相対パス)
とその逆の操作です。
0622デフォルトの名無しさん
NGNGリンクせずにCのランタイムライブラリを呼び出すのはNGでしょうか。
0623デフォルトの名無しさん
NGNGレスありがとうございます
試して、さらにすぐ隠したりしてみたのですが、やはり表示されちゃうみたいです。
0624デフォルトの名無しさん
NGNG> LIBCMT.LIBやMSVCRT.LIBを
> リンクせずにCのランタイムライブラリを呼び出すのは
どうやってやるんだ?
0625デフォルトの名無しさん
NGNGShell APIでよければ
PathRelativePathTo()
PathCanonicalize()
とか?
他にもPath〜()調べてごらん
0626デフォルトの名無しさん
NGNGえ?普通に呼べましたよ。でもアウトプットウィンドウを見たら、
MSVCRT.LIBはロードされていました。
0627デフォルトの名無しさん
NGNGリンクせずにって書いたんじゃないのかよ。
で、結局リンクされてたら世話ないわ。
0628デフォルトの名無しさん
NGNGWS_MAXIMIZED
0629デフォルトの名無しさん
NGNGすいません。「リンクせずに」と書いたのは、
プロジェクト→設定→リンク→オブジェクト/ライブラリモジュールに
明示的に指定せずに、ということでした。
「デフォルトライブラリを全て無視」のチェックは付けて
なかったのでリンクされたんですかね。
0630デフォルトの名無しさん
NGNG普通にLIBC.LIBをリンクすりゃできるだろうが。
0631デフォルトの名無しさん
NGNG否定的な事ばかり言ってすいません。
しかしこのWS_MAXIMIZEがどうにも効かなくて困ったのがそもそもの始まりでした。
検索したところ、MDIの子ウィンドウにのみ意味があるという記述があって
早々に諦めてしまったのですが、なにか私が大ポカをやらかしている気もします。
WS_MAXIMIZEで普通に最大化起動できるよ?みたいなレスを頂ければ幸いです。
0632デフォルトの名無しさん
NGNGその後表示するときShowWindowに渡してるフラグは?
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGなるほどー!そういう事でしたか。
WS_MAXIMIZEの時は、起動時の引数をそのまま渡していました。
WS_MAXIMIZEで作成すれば、ShowWindowの前にちゃんと、最大化されたWindowの情報拾えますね。
お恥ずかしい限りです。しかしすっかり諦めていた所なので本当に嬉しいです。
ありがとうございました。
0636607
NGNG諦めて消したコードを書き直してみたら、値を取得することができました。
いったい何が原因だったのか、わからずです。
QueryPerformanceCounterを呼ぶと1000クロックくらい経過してしまうので、
RDTSC命令を直接呼ぶことにしました。これだとオーバーヘッドは60クロックくらいで済みました。
お騒がせしてすみませんでした。
0637デフォルトの名無しさん
NGNGすまん。出直してくる。
0638デフォルトの名無しさん
NGNGコンソールのハンドラルーチンがうまくクラス化できなくて悩んでいます.
SetConsoleCtrlHandlerでハンドラを設定するのですが,
スタティックな関数しか指定できません.
そこで,ウィンドウやスレッドのサブクラス化でやられるようにコンソールクラスの
thisを隠しておいてジャンプさせようとしたのですが,
SetConsoleHandlerの引数は関数のアドレスとハンドラを追加するか削除するかのブール値の二つ,
HandlerRoutineに渡されるのは信号の種類を表すDWORD値一つだけで,
このthisを隠しておく場所が見当たらないのです.
良い方法がありましたらお願いします.
0639デフォルトの名無しさん
NGNGサンクとか。
ATLのCWindowImplとか参考になるかも。
0640デフォルトの名無しさん
NGNGGetWindowTextで取得できたのですが、
データの設定がSetWindowTextで出来ません
何か固定のデータ形式か専用の別の設定する関数があるのでしょうか?
テキストは"2004/12/15"という感じで設定しようとしたのですが、ダメでした
0641デフォルトの名無しさん
NGNGDWORD 値から、インスタンスのポインタとメンバ関数ポインタの組 or boost::function へのmapを
持てばいいんじゃない?
0642638
NGNGすばやいご返事ありがとうございます.
ちょっと調べてみたところ,
サンクはWOW系の16bitのアプリケーションを32bit環境で動かすためのAPIということで
今回の,自分の目的にあうものではないようです.
ATLは結構複雑なもののようですが,かなり参考になりそうなので見てみようと思います.
ザッと見た感じだと,thisをグローバルなマップに登録しておいてそこから引いてくるようなイメージでしょうか.
プログラムは殆ど初心者でして,
コンソールで動くゲーム(NetHackみたいなキャラクタベース)を作ろうとしているのですが,
それだけの事でも大変苦労してしまいます.
勉強の糸口を頂き,ありがとうございました.
0643638
NGNGDWORD値とメンバ関数へのポインタのマップもスタティックに持っておいて,
ハンドラルーチンの中からそれを呼ぶということですね.
これから書いてみますが,うまく行きそうです.
皆さん,ありがとうございました.
0644デフォルトの名無しさん
NGNGそういう意味のサンクではなかったのだが。
指定したthisでメンバ関数を呼ぶような関数を動的に作成するという感じ。
0645デフォルトの名無しさん
NGNG環境:2003Server + MetaFrame VB.NET
他社のアプリケーションがサーバ上で起動中か確認したいんですが、 MetaFrameを使って
サーバのプロセスを取得すればいいと考えました。
1.Processクラスを使用する
→admin権限を持ったユーザしか取得が出来ない。MetaFrameを使用するユーザにAdmin権限は
持たせられない為×
2..psapi.dllでEnumProcessesを使用する
→VB6からの移行はOK。しかしカレントユーザのプロセスしか取得できない。
すべてのプロセスを取得しないと確認の意味がない。
3.Kernel.dllでCreateToolhelp32Snapshotを使用する
→VB6での確認は出来たが、.NETへの移行がうまく出来ない。
スナップショットの取得はできるが、次のProcess32Firstで必ず0が帰ってきてエラー。
3が実現しやすいのかと思っています。
サンプルは http://vbvbvb.com/jp/gtips/1101/gCreateToolhelp32SnapshotTh32csSnapprocess.html
を利用しています。
0646645
NGNGPublic Structure PROCESSENTRY32
Public dwSize As Integer
Public cntUsage As Integer
Public th32ProcessID As Integer
Public th32DefaultHeapID As Integer
Public th32ModuleID As Integer
Public cntThreads As Integer
Public th32ParentProcessID As Integer
Public pcPriClassBase As Integer
Public dwFlags As Integer
Public szExeFile() As Byte
End Structure
lngProcessSnapHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
ReDim udtProcessEntry32.szExeFile(259)
Dim i As Integer
For i = 0 To 259
udtProcessEntry32.szExeFile(i) = 0
Next
udtProcessEntry32.dwSize = Len(udtProcessEntry32)
If Process32First(lngProcessSnapHandle, _
udtProcessEntry32) <> 0 Then
上のProcess32Firstで必ず0が帰ってきます。
長々と申し訳ありませんが、以上で状況はわかって頂けましたでしょうか?
助言をお願いします。
0647デフォルトの名無しさん
NGNGVB.NETの問題のような気がするが。マーシャリングの基本とか。
・PROCESSENTRY32のszExeFileはStringで宣言。
MarshalAsAttribute属性をつけて、UnmanagedType.ByValTStrとSizeConst=260を指定。
・dwSizeは、Marshal.SizeOf(udtProcessEntry32)で取得した値を設定する。
C#で同様にやった分には問題なかった。
0648645
NGNG出来たものの全く意味がわかりませんので、勉強してみます。
本当にありがとうございました。
0649デフォルトの名無しさん
NGNGネット上でかなり調べましたが分かりませんでした・・・
0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNGCSVファイルを特定のフィールドをキーにソートしろ
と言われたら、普通どんな感じでやりますか?
0652デフォルトの名無しさん
NGNG俺なら数万行程度のブロックに分けてそれぞれをソートしてからマージソートだな。
0653デフォルトの名無しさん
NGNG065469式フリーPG ◆hND3Lufios
NGNG0655デフォルトの名無しさん
NGNGアホ
0656デフォルトの名無しさん
NGNGにんにく? いまバカの煮込みつくってます
0657デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNGアルゴリズムを選びに行く前に、元データの傾向と対策をまず調べる
0659デフォルトの名無しさん
NGNGやっぱそれですかね。何かいいサンプルとか転がってないですか?
0660デフォルトの名無しさん
NGNGありますか?
0661デフォルトの名無しさん
NGNGこの辺かな。
Indexing Service Reference
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/ixref_6xid.asp
0662デフォルトの名無しさん
NGNGそこもと蘭学の心得はおありかの
0663デフォルトの名無しさん
NGNG0664デフォルトの名無しさん
NGNGマルチスッドレのコードかいてて、スッドレ間の同期とるのに使う
0665デフォルトの名無しさん
NGNG珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894712369/250-8489478-2398654
0666デフォルトの名無しさん
NGNGおー、面白そうだな、これ。
0667デフォルトの名無しさん
NGNGどうもです。ボタンクリックとかメニュー選択とかのイベントとは
別物なんですね。
0668デフォルトの名無しさん
NGNGGetAdaptersInfoを呼び出し取得したIP_ADAPTER_INFOの
AdapterNameに対応したFriendlyNameを知るにはどうしたらよいのでしょうか?
XPならGetAdaptersAddressesのIP_ADAPTER_ADDRESSESで一撃なのですが、
2000だとiphlpapi.dllにGetAdaptersAddressesが入っていないので・・・
ご存知のかたがいらっしゃいましたら、教えてください。
0669デフォルトの名無しさん
NGNGstd::list<std::vector<std::string> > に格納して std::sort() が楽ちん。
0670669
NGNG0671デフォルトの名無しさん
NGNG潤沢なメモリをお持ちのようで。
#1億個のstring…
0672デフォルトの名無しさん
NGNG>669みたいな何も考えてない奴ってかえって
ほほえましいよなw
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGVB4.0、Win95に置き換えないといけなくなってしまいました。
VB4.0、Win95での開発は経験がなく、
APIの本やネットで調べてみたのですが
サブネットマスクとデフォルトゲートウェイとワークグループ名を取得する方法がわかりません。
ご存知の方がいらっしゃれば教えていただけませんでしょうか?
0675デフォルトの名無しさん
NGNGワークグループ上のサーバの共有ディレクトリから端末の
ローカルディレクトリにファイルをコピーしたいんだけど、
権限の問題で躓いています。ドメインは組んでいません。
サーバのディレクトリに対してアクセス権限があるユーザのIDとパスワードは
あるのですが、端末のシステムにそのユーザを作成しないでやりたいです。
ユーザ/パスワードを暗号化してレジストリに置いて使うのはOKです。
【やってみたこと】
1.SYSTEM権限のままコピーしようとすると権限エラーで失敗します。
→サーバ側でNULLセッションとかいうのを許可にすればOK?
2.LogonUser→Impersonateだと、サーバの共有ディレクトリに
アクセス権限のあるローカルユーザを作らないといけない。
ユーザを作らないとLOGON32_LOGON_NETWORKでしか成功せず、コピー不可でした。
※LogonUserのネットワーク版みたいなの無いんでしょうか?
以上です。
動作予定環境はNT/2K/XPです。
宜しくお願いします。
0676デフォルトの名無しさん
NGNG貧乏人らが必死だな
0677デフォルトの名無しさん
NGNGVB4で開発しないといけない理由は?
Win95でもVB6は動いたと思うが。
#メーカー保証のないOSでの開発はできないと突っぱねるのが正解。
0678674
NGNGユーザーに納入しているマシンのうち、
現在その環境で動いているマシンがありまして、
新マシン(Win2000 VB6.0)で新たに追加したプログラムと
同じものを旧マシン(WIn95 VB4.0)でも追加しないといけなくなったのです。
>#メーカー保証のないOSでの開発はできないと突っぱねるのが正解。
個人的にはそうしたいくらいです・・・。
0679デフォルトの名無しさん
NGNGその場合、旧マシンのリプレイスを薦めるのが営業的にもいいかと。
つーか、VB6で開発したものをWin95で動かせばいいだけじゃないの?
#なんでVB4を使いたいのかが判らん。
0680デフォルトの名無しさん
NGNGワイアレス接続の構成をアプリ側で制御することってできないんでしょうか?
環境はWindowsXPで、かつadmin権限で動かせます。
やりたいことは
「随時SSIDを検索して、条件にあったものと接続処理」
なのです。
Windows標準のワイヤレス構成が切れるし、
メルコのクライアントマネージャみたいなのもあるからできると思うのですが、
MSDNを漁ってもいまいち見つけ切れませんでした。
日本語、英語での情報とかポインタとか知ってましたら是非教えていただけないでしょうか。
よろしくお願いします。
0681デフォルトの名無しさん
NGNGそういうことはお前には関係ないはずなんだが。
0682デフォルトの名無しさん
NGNGたくさん文字列を入れたいのですがあんまりたくさんの文字列を入れると
表示されなくなってしまいます。
もっとたくさんの文字列を入れるにはどうしたらよいのでしょうか?
0683デフォルトの名無しさん
NGNG98?
0684デフォルトの名無しさん
NGNGエディットボックスをあきらめてリッチテキストとかにする。
0685デフォルトの名無しさん
NGNGありがとうございます。
やってみます。
0686デフォルトの名無しさん
NGNGエディットボックスに値を入れて
Enterキーを押すと値が反映されるようにしたいのですが
Enterキーが降ってきません。
どうしたら取得できるのでしょうか?
0687デフォルトの名無しさん
NGNGKeyPressに来ないの?
0688デフォルトの名無しさん
NGNGエディットボックスにフォーカスがあるときも
普通はくるものなのでしょうか?(私の組み方がまずいのかもしれないです。)
0689デフォルトの名無しさん
NGNG親ウィンドウで捕まえようとしています。
キルフォーカスなどのメッセージは取得できます。
0690デフォルトの名無しさん
NGNGEnter キーを押すことで、IDOK のボタンが押されたという
メッセージが来ているのかも。
0691デフォルトの名無しさん
NGNGフォームのデフォルトボタンの方に行っちゃってるとか?
0692デフォルトの名無しさん
NGNG10Mレコードで10フィールドか。
1レコード512バイトとしても、5GB。
まぁメモリが足りたとしても、CPUが追いつかないでしょ。
0693デフォルトの名無しさん
NGNGなんで?
0694デフォルトの名無しさん
NGNGクイックソートなんて使った日にゃ、O(n^2)で死ぬよ。
1kレコードならO(n^2)でも1Mの計算量で済むが、
10Mレコードだと 100Tの計算量になっちゃうんだよ。
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGつまりWin「32」APIのスレである以上オンメモリのソートなんてありえない解決策ってことか
0697デフォルトの名無しさん
NGNG出てるんですが・・・
メモリなんかでやるわけねーだろ。
0698デフォルトの名無しさん
NGNGホイールの入力状態を取得するAPIってやっぱり無いんでしょうか?
GetAsyncKeyStateのような使い方で簡単に取得出来ないかなと思いまして。
メッセージで取得するしか方法は無いのでしょうか?
宜しくお願いします。
0699デフォルトの名無しさん
NGNG/": : : : : : : : \
/-─-,,,_: : : : : : : : :\
/ '''-,,,: : : : : : : :i
/、 /: : : : : : : : i ________
r-、 ,,,,,,,,,,、 /: : : : : : : : : :i /
L_, , 、 \: : : : : : : : :i / メッセージで取得したら
/●) (●> |: :__,=-、: / < 負けかなと思ってる
l イ '- |:/ tbノノ \
l ,`-=-'\ `l ι';/ \ ニート(24・男性)
ヽトェ-ェェ-:) -r'  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヾ=-' / /
____ヽ::::... / ::::|
/ ̄ ::::::::::::::l `──'''' :::|
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG0702VC++
NGNGVBの実行ファイルからVC++で作成したDLLの関数を実行すると例外エラーで落ちてしまいます。
落ちる箇所が決まっており、DLLから文字列をVBの実行ファイルへ送った直後に必ず発生します。
VBはフォームのロードイベントで関数をCALLしています。
【グローバル変数の宣言↓】
LPSTRg_datasendp = NULL;// VBデータ引継ぎ用バッファポインタ
【グローバルメモリ領域の確保↓】
g_hMem = GlobalAlloc(GMEM_FIXED | GMEM_ZEROINIT, sizeof(SEI_INF_TBL)+256);
if (g_hMem == NULL)
{// メモリー不足
MessageBox(g_hWnd, ERR_MALLOC, MSG_BOX_CAP2, MB_OK | MB_ICONERROR);
return-1;
}
g_datasendp = (char*)g_hMem;
【VBへ渡す文字列をセットする関数↓】
FARM_API LPSTR __stdcall GetSeiData(SHORT i_type)
{
switch(i_type)
{
case TYPE_SEINAME: // 名設定
strcpy(g_datasendp, g_sei_inf_tblp->sei_name);
break;
・
}
return g_datasendp;
}
DLLの宣言が間違っているのでしょうか?
分かる方、是非教えていただけないでしょうか?
よろしくお願いします。
0703デフォルトの名無しさん
NGNGもしかしてVB側で戻り値の型がStringになっている?
0704VC++
NGNGはい。返却値はString宣言しています。
Public Declare Function GetSeiData Lib "Farm.dll" ( _
ByVal i_type As Integer) As String ' 生産者情報取得処理
0705VC++
NGNG(DLL・EXE共最新です)
070669式フリーPG ◆hND3Lufios
NGNG0707デフォルトの名無しさん
NGNG確かこうすればいいはず。g_datasendpは要らなくなる。
FARM_API BSTR __stdcall GetSeiData(SHORT i_type)
{
char *p;
switch(i_type)
{
case TYPE_SEINAME: // 名設定
p = g_sei_inf_tblp->sei_name;
・
}
return SysAllocStringByteLen(p, strlen(p));
}
070869式フリーPG ◆hND3Lufios
NGNGBSTRはunicode配列のアドレス。
VBのデバッガで動作するのは、デバッガが終端のNULLを見ているか、
たまたまと思われ。
0710デフォルトの名無しさん
NGNGVBの文字列 == BSTR
文字列の長さを持っているのがBSTRの条件だよ。
0712デフォルトの名無しさん
NGNGうん。わかってる。んなもんで、>>706を書いた。
(そんときは時間がなかったので、一言だけ書いたけど)
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNGでもよかったとおもうべな。
0716デフォルトの名無しさん
NGNGVBはDLL関数に文字列を渡したり返したりするときに勝手にShift JISとUnicode間の変換をしてくれるから平気。
0717デフォルトの名無しさん
NGNGだめだよね。
全角文字ばかりだからたまたま動いている、と想像する。
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNGDLLリソースつかえませんよね?
どうすれば・・・
おねがいします
0720デフォルトの名無しさん
NGNG普通にリソースつけられるが‥‥
0721719
NGNGちょっと子一時間説教されてきます
なぜかリソース使えないつもりでした
0722デフォルトの名無しさん
NGNGコモンダイアログのGetOpenFileNameを呼び出すと
画面の左上にウインドウが表示されてしまいます・・
これを画面中央に表示させたいのですが
OPENFILENAMEに何か値を入れると直るのでしょうか?
環境はVC7でMFCは使ってません
0723デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNGデフォルトの文字サイズより小さくしたのですが、エディットコントロールの高さも変わりません。
高さが変わらないのはカーソルのせいではないかと思うんですけど・・・。
解決方法をお願いします。
エディットコントロールのフォント変更は、WM_CTLCOLOREDITが来たときに
wParamからhdcを取得して、あらかじめ用意しておいてフォントをSelectObjectで選択しています。
0726デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG0730725
NGNGありがとうございました。
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG知らないのなら黙ってて下さい。
0734デフォルトの名無しさん
NGNG(昔のOSでSHIFT押しながら再起動をしたときのように)?
0736731
NGNGどこを調べていいのか分からない上に、検索文字列に日本語を使えないのは厳しいです。
もうちょっとまともなサイトを紹介していただけませんでしょうか?
0737デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?num=50&hl=ja&newwindow=1&c2coff=1&q=site%3Amsdn.microsoft.com+ListView&lr=
0740デフォルトの名無しさん
NGNGWordのように、改行されると画像も下に移動するようにしたいのです。
Borland C++ Compilerを使用しています。
0741デフォルトの名無しさん
NGNG今はSDKしか勉強していないのですが、MFCも扱えた方がいいですか?
0742デフォルトの名無しさん
NGNGSDKが扱えるならMFCなど要らん
0743デフォルトの名無しさん
NGNGそれはちょっと違うと思う
0745デフォルトの名無しさん
NGNGMFCや他のライブラリを使えば短時間で簡単に仕上げられる仕事を
SDKレベルで車輪の再開発している同じフロアのやつを見ると腹が立つ。
もちろんMFCが想定しないようなアプリケーションスタイルとか、細かい
ケアが必要なものはSDKレベルでやったほうが良い場合も多い。
0746デフォルトの名無しさん
NGNGCRectTrackerなんぞ自分で作るのか?
0747デフォルトの名無しさん
NGNG一度楽するとSDKで作る気起きん。
0748デフォルトの名無しさん
NGNG最悪パッチ作ったりと大変だけど、基本的には圧倒的にライブラリ
使ったほうが生産的だよな
0749デフォルトの名無しさん
NGNGMFCも知らないと損だろ
0750デフォルトの名無しさん
NGNGMFCは使ったことないけどMSDN見れば(特にAPIのラッパ部分は)大体理解できるから問題ない。
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNGただ、MFCが優れているかというと、うーん・・・
VBのC++版っていう感じがして、なんかダサいな。
Win32直叩きでも作ったことあるけど面倒だったのでMFC使ってます。
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNGWTLってATL必須じゃないの?
んでATLは有料と。
0755デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1086287039/914
0756デフォルトの名無しさん
NGNGコンパイラとしての性能は比較にならんほどvctkだけど。
0757デフォルトの名無しさん
NGNGなんでVCtoolkitに手を出すの?
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGbccとかみたいに放置状態ならフリーでもいいかも。
0761デフォルトの名無しさん
NGNGアレ使って、なんか楽になるのか?
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG君はそれでいいんじゃないの?
0764デフォルトの名無しさん
NGNGまあ、実際そうだしなw
0765デフォルトの名無しさん
NGNGなにかのAPIをコールしたときに自分の関数を呼ばせ、
そこで処理をしてから本物にバトンタッチするようなことを考えてるんですが。
0766デフォルトの名無しさん
NGNGごめん。
VS.NET 2002が出て、VC6が安売りされてる時の値段だった。
0767デフォルトの名無しさん
NGNGできる。
0768デフォルトの名無しさん
NGNGあなたの経験年数は?ちなみにわたしは1年。
0769デフォルトの名無しさん
NGNG面白い本を紹介してくださってありがとうございます。
さっそく注文して届いた本をぱらぱらめくって見ているのですが、
年末年始はこの本にどっぷりつかりそうです。
0770デフォルトの名無しさん
NGNGWin32APIなら7年
MFCなら5年
0771デフォルトの名無しさん
NGNG(`Д´ )9m経歴詐称で訴えてやる!!
0772デフォルトの名無しさん
NGNGWin32API:1年
MFC:2年
まだまだだな・・
0773デフォルトの名無しさん
NGNG経験年数なんて自慢するもんじゃない。
どんなに年月かけたって進歩の無い奴は無いまま。
3年もたって使いこなせないのはもう駄目だと思う。
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGWM_MOUSEWHEEL を、そのスクロールバーに感知させないようにするには
どうしたらいいのでしょうか?
プロシージャのサブクラス化をしているつもりなのですが、
まず最初にスクロールバーが感知して、それから、
サブクラス化したプロシージャに来ているようなのです…
WM_MOUSEWHEEL を、自分だけでイベントハンドリングしたいのです
スクロールバーがあっても、感知させたくないのです
0779デフォルトの名無しさん
NGNG1年じゃ無理では無いにしろ難しいと思うな。
結構くる注文で
「flashやVCみたいなのにしてくれ(ドッキングツールバーのことだな)」とか
「IEのお気に入りと同じような機能を入れてくれ」
ってのがあるけどあーゆーのはホイホイ作れるまでなるのは時間かかるだろ。
まあ、Win32APIだけの話ではね。
0780デフォルトの名無しさん
NGNGWin32APIだけで時間をかけて作る意味があるのか?
しかも一年以上の修行期間が必要だなんて・・・
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNG手も足もだせないだろう。
0783デフォルトの名無しさん
NGNGそういうライブラリの存在を知る時間も含めて
一年でできるようになるのかと。
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNG>>767
078669式フリーPG ◆hND3Lufios
NGNG数を売るパッケージで、頻繁に使うようなものならSDKで作りこむのもよい。。
短納期で開発効率重視ならライブラリに頼って少しでも工数が稼げれば。
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNGお前が答えろ
0790デフォルトの名無しさん
NGNG分かってたら答えてるわ
0791デフォルトの名無しさん
NGNGドライブ名(Cとか)からハードウェア名を取得するには、どのように
したらよいのでしょうか?
ドライブを右クリックして、プロパティを開き、ハードウェアタブに
表示されるハードウェア名を取得したいのですが。
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG仮にそうだとして何か問題でも?
0794デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNGキャレット作成して表示してもそのキャレットは移動できません。
なのでエディットコントロールをマウスでクリックしたときに初めて表示されるキャレットを最初から表示したいのです。お願いします
0799デフォルトの名無しさん
NGNGSetFocusか何か。
0801デフォルトの名無しさん
NGNGSetForegroundWindow( hWnd )ではうまくいったのですが・・・、
どうしてだか気になるので教えてください。
if( GetForegroundWindow() != hWnd ){
SetWindowPos( hWnd , HWND_TOP , 0 , 0 , 0 , 0 , SWP_NOSIZE | SWP_NOMOVE );
}
0802デフォルトの名無しさん
NGNGハードウェアタブに表示されるのは全ドライブの一覧で、
ドライブレターとの関連はないよ。たまたま一番上に表示されてフォーカスが合ってるだけだったりする。
ドライブのメーカーや型番を取得するのは、
"\\\\.\\c:"をCreateFileで開いて、
DeviceIoControl()でIOCTL_STORAGE_QUERY_PROPERTYでSTORAGE_DEVICE_DESCRIPTORを取得すればいけそうな希ガス。
サンプルやヘッダはDDKにあります。
0803802
NGNGたまたま自分がやろうとしていたことに近いものだけ、サンプルがあったので、他のもあると思い込んでました。
0804802
NGNG元々SCSI用なので、ATAの場合はベンダ名がプロダクト名に入ってきます。
・・・だけど、ダイナミックディスクでは取得できない・・・もっと適切なAPIがあるのだと思います。
#include <devioctl.h>
#include <ntdddisk.h>
HANDLE hFileHandle = CreateFile("\\\\.\\c:", GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL) ;
if (INVALID_HANDLE_VALUE != hFileHandle) {
UCHAR buffer[2048] ;
ULONG returned = 0 ;
STORAGE_PROPERTY_QUERY spq ;
spq.PropertyId = StorageDeviceProperty ;
spq.QueryType= PropertyStandardQuery ;
BOOL status = DeviceIoControl(hFileHandle, IOCTL_STORAGE_QUERY_PROPERTY, &spq, sizeof(spq), buffer, sizeof(buffer), &returned, 0) ;
if (status) {
STORAGE_DEVICE_DESCRIPTOR* pSDD = (STORAGE_DEVICE_DESCRIPTOR*)buffer;
char* psz0 = pSDD->VendorIdOffset? &((char*)pSDD)[pSDD->VendorIdOffset] : NULL ;
char* psz1 = pSDD->ProductIdOffset ? &((char*)pSDD)[pSDD->ProductIdOffset] : NULL ;
char* psz2 = pSDD->ProductRevisionOffset ? &((char*)pSDD)[pSDD->ProductRevisionOffset] : NULL ;
char* psz3 = pSDD->SerialNumberOffset ? &((char*)pSDD)[pSDD->SerialNumberOffset] : NULL ;
}
}
0806デフォルトの名無しさん
NGNGLoadImage でLR_LOADMAP3DCOLORSを指定しても正しく色変換がなされないケースへの
workaround とか、MFCにもいろいろ役にたつコードが含まれてるわけで、一通りソース読んで
おくくらいのことはした方がいいと思うけど・・・
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNGおまいがいるじゃないか。
0809デフォルトの名無しさん
NGNGどうやって検出すればいいですか
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGWM_NCHITTEST使えばできる
0812デフォルトの名無しさん
NGNGをワンタッチで簡単にできるTCP/IP設定変更ツールを作りたいのですが
どんなAPIを使えばよろしいでしょうか?
環境はWindows2000,XPを考えています
081369式フリーPG ◆hND3Lufios
NGNGIP Helper APIのこの辺で。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/addipaddress.asp
0814812
NGNGリンクありがとうございます。
0815デフォルトの名無しさん
NGNGMIDIデータを再生し、一時停止(Pause)した後、再びその位置から再生すると、何故か音色が変わってしまいます。
使った事のある方なら殆どの方がきっと「あれ?」と思うところだと思います。
どうもMMControlでは、頭から再生しようとした場合しか音色設定を読み込んでない気がするのですが、
何か解決方法は無いでしょうか。
0816815
NGNG0817デフォルトの名無しさん
NGNGコンピュータ名:SERVER
共有フォルダ:E:\Data
だと共有元フォルダ名は"Server:e:\Data"になりますよね?
それを別なコンピュータ上でXドライブとして設定してたとすると、
"Server:e:\Data\Tmp"を"X:\Tmp"にへんかんしたいのですが。
環境:windows2000
よろしくお願いします。
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG俺も同じ問題で悩んでるが、解決できてないorz
ぐぐったら出てきた。やっぱり解決できてない
http://www.takeittechies.com/vbtomo/boards/vbqanda.php?do=spread&num=2303
0820デフォルトの名無しさん
NGNG7年もコーディングやってるなんて化石みたいな奴だな。
一生次のステップに進めなそう。
0821817
NGNG試してみたのですが、
期待する文字列"Server:e:\Data\Tmp"にたいして
"Server:\Data\Tmp"しか取得できませんでした。
参照先の完全なローカルパスが取得したいのですが無理でしょうか?
0822デフォルトの名無しさん
NGNG参照先のドライブ名は得られないと思うけど。
0823812
NGNGできればローカルエリア接続のプロパティで設定したのと同じ設定
(再起動しても設定が消えない)方法でやりたいのですが
調べたところネットワークドライバ(NDIS?)でプログラムすることに
なるのでしょうか?
と、いってもデバイスドライバのプログラムなんて想像がつかない状態です
0824デフォルトの名無しさん
NGNG管理職やりたいんならやれば?
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG専門学校で3年、会社で4年だけど?
まともなWindowsのアプリ組める奴ってめずらしいだろ?
0827デフォルトの名無しさん
NGNG掃いて捨てるほどいるけど?
0828デフォルトの名無しさん
NGNGえ?・・・。
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNGVC++6だと、メニュー→表示→ClassWizardってな感じでいけたけども。
0831デフォルトの名無しさん
NGNG自分がまともなものを組めないからって、そんなことを言っちゃいけないよ。
0832デフォルトの名無しさん
NGNG一見まともそうでも、画面のデザインやDPIを変更すると破綻するアプリは多いよ。
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNG作ってる本人と環境が違うと問題がでるのはどうしようもないだろ
本当におかしければユーザーから指摘されて直すだろうし
もしかして色盲とか弱視とかで非常に特殊な設定してる人ですか?
0835デフォルトの名無しさん
NGNGスレ違い。
0836デフォルトの名無しさん
NGNGあわれよのう
0837デフォルトの名無しさん
NGNGどうしょもなくないよ。まともに作ってれば問題は起きない。
たまたま自分の環境でうまく動いてるだけというのは、まともとは言わない。
決め打ちでC:\WINNT\SYSTEM32にインストールしたり、
一時ファイルのために C:\ランダムな数字 なフォルダを作ったりするアプリを、まともと言いますか?
0838デフォルトの名無しさん
NGNG> DPIを変更すると破綻
それってディスプレイドライバの問題じゃん。
0839デフォルトの名無しさん
NGNG数年来Win32の経験つんできているってことは需要がありつづけるってことでしょ。
ええなあ。
0840デフォルトの名無しさん
NGNG識別子のようなものはないですか?
あればそれを取得や検索するAPIも教えていただけませんか?
0841デフォルトの名無しさん
NGNGパス名とファイル名を繋げると一意な識別子になります!
0842デフォルトの名無しさん
NGNG0843840
NGNG一度作成されたら削除されるまでリネームしようが移動しようが変わらないものは
ないのですか?
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG脳味噌を洗って出直してください
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNGmsvcrt の struct stat の st_dev と st_ino はどういう意味の値なんだろうね?
UNIX だとこの2つの値のペアを(パス名非依存の)識別子と考えられるんだけど。
0852デフォルトの名無しさん
NGNGLOAD_LIBRARY_AS_DATAFILEを指定してDLLを読み込んだとき
その読み込んだDLLをそのまま別のファイルに書き出すにはどうすればよいのでしょうか。
0853デフォルトの名無しさん
NGNGLoadLibrayExで指定したファイル名を使ってCopyFile
0854840
NGNGありがとうございます、さっそく調べてみたのですがMSDNライブラリには
>st_ino は、FAT、HPFS、または NTFS の各ファイル システムでは意味を持ちません。
との記述が…
残念です。もう少し調べてみたいと思います。
0855デフォルトの名無しさん
NGNGありゃ、残念。
で、Cygwin で st_ino がどうなっているか調べてみると、
GetFileInformationByHandle() を使っていて、この API で得られる
nFileIndexHigh と nFileIndexLow がそれっぽいような違うような値ら
しい。
0856デフォルトの名無しさん
NGNG| If no processes have it open, the index may change the next time the file is opened.
違うよなあ、こりゃ。
0857840
NGNGまさか、リネームや移動しているたびに変更情報は作りませんよね?
フォルダの移動なんかやったらえらいことになりそう…
ファイルシステムに詳しい方はいませんか?
スレ違いですかね?
0858デフォルトの名無しさん
NGNGだから無いからOSは何も処理してないよ。
0859デフォルトの名無しさん
NGNGそういう話ではない。
画面レイアウトがピクセル単位で決められているのにフォントだけポイ
ント単位で作成してたり、メニューのフォントが大きくなってメニュー
バーが2段表示になるとクライアント領域が狭くなって一部の操作がで
きなくなる、とかのアプリケーション。
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNGDistributed Link Tracking Serverが使ってる奴
0862デフォルトの名無しさん
NGNGGetFileInformationByHandle
ただし、誰かが握ってないとダメ。
0863デフォルトの名無しさん
NGNG解決した?
0864デフォルトの名無しさん
NGNGない
>857
>リネームや移動しているたびに変更情報は作りませんよね?
>フォルダの移動なんかやったらえらいことになりそう…
なにが大変なのかわからんけど
FATの場合、リネームや移動ではFATエントリーは変化しない(当然データの移動も発生しない)
単にディレクトリエントリの中身が書き換えられるだけだからそれほど大変じゃない
ただ、ディレクトリエントリのどこに書き込まれるかは移動するたびに変わる
コピーすると実際にデータが入るクラスタが変わるのでFATエントリーも変化
0865デフォルトの名無しさん
NGNG特定のハンドルに送るのではなく、画面のx,yをクリックした事にする事は
出来ますでしょうか?
全ての窓を取得してx,yの位置の最前面にあるハンドルに送ったりするの
ではなく、マウス操作をそのまま再現する様な・・・
0866デフォルトの名無しさん
NGNG使ったこと無いけどmouse_event
ところでなんでこのAPIは小文字なんだろうな
0867デフォルトの名無しさん
NGNGクスコ
絶対座標の仕様が回りくどい・・・
0868840
NGNGそうですか、説明ありがとうございます。元々やりたかったことが特定フォルダをReadDirectoryChangesw
で監視して、ファイルの情報をデータベース二キロ浮くしたかったのです。
そこでファイル固有の情報を主キーにしようかなと思っていたもので。
実際に作ってみたのですが(とりあえずフルパスを主キーにした)、このAPIって結構ターゲットの変更を追
尾しきれないのですね。私の作り方が悪いのでしょうが。
メインスレッドから監視スレッドを立ち上げ、変更がある都度書き込みスレッドを作成してデータベースに
アクセスしています。ファイルの追加やリネームニューでデータを追加し、削除やリネームオールドでデー
タを削除しているのですが、瞬間的に作られるテンプファイルなどが新規ファイルとして残ったり、多くの
ファイルを同時に操作すると削除したファイルなどがデータベースに残ってしまいます。
基本的なアプローチが間違っているかともおもいますが。このよう場合の常套手段など在るのでしょうか?
他スレ誘導や参考サイトなど教えていただけると助かります。
0869デフォルトの名無しさん
NGNG変更が立て続けに起きたときに処理が並行して正常に記録できなくなってる悪寒。
0870791
NGNGレスしなくてすみません。まだ未解決です。
APIには慣れていないもので、色々と調べています。
今回、ハードウェア名(?)を調べたいのは、USB接続された
リムーバブルディスクですが、質問ばかりだとアレなので、
まず>>804の内容を理解しようと頑張ってみます。
参考になるサイトがありましたら教えて頂けると助かります。
0871デフォルトの名無しさん
NGNGvncサーバのソースとか読んでみたらどうでしょう。
vncプロトコルは異様にシンプルなので、特に問題なければサーバを
そのまま使うのも簡便でしょう。
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNGそれを閉じるまで Beep 鳴りっ放し、ってのは出来ないでしょうか?
(サウンドカードは使えないとして)
0874デフォルトの名無しさん
NGNGでもそれ激しくウザいな
0875デフォルトの名無しさん
NGNGでも納品してからやっぱり五月蝿いと言われる罠。
0876デフォルトの名無しさん
NGNG0877873
NGNG取り敢えず別スレッドの無限ループ内で
Beep() を呼ぶ、というやり方で試してみました。
…継続時間として指定した時間が経過するまでは
TerminateThread でもすぐに止まらないっすね。
継続時間1秒として、「音が止まるまで少し遅れる事がある」
というところで納得してもらうことにします。
ありがとうございました。
0878デフォルトの名無しさん
NGNGInvalidateRectで全画面描画すると
凄いチカチカするんですが
どうにかできないでしょうか?
以前使ってた言語ではこの程度でチカチカはしなかったんですが
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG以前と今の言語は何だ?
0881デフォルトの名無しさん
NGNG0882878
NGNG失礼しました
0883802
NGNGUSBのHDDでも大丈夫でしたよ。
HDDがUSBかどうかは、STORAGE_DEVICE_DESCRIPTORのBusTypeでわかります。
"\\\\.\\c:" というのはCドライブの場合で、Dドライブなら "\\\\.\\d:" です。
あと、C言語では\を直接書くことができないので、\を\\で書いています。
つまり、CreateFileに渡すのは実際には、"\\.\c:"です。
\ではまってたら、ごめんなさいね・・・。
0884デフォルトの名無しさん
NGNG同等の機能を実現することって可能ですか?
0885デフォルトの名無しさん
NGNGこういったダイアログのハンドルをFindWindowで取得するにはどうすればいいのでしょうか?
0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNGVC++.net
キーボードとマウスからの入力はWM_KEYDOWNなどを受け取るので分かりますが、
ゲームのコントローラーからの情報はどうやれば分かるのでしょうか。
spy++でやってもコントローラーからの情報は一切受け付けません(出力を全て選択していますが該当するものは元々なさそう)。
コントロールパネルのゲームコントローラーは正常に受け付けています。
ゲームのコントローラーは[PS2のコントローラー]-[コンバーター(USB接続)]-[PC]と繋いでいます。
0888デフォルトの名無しさん
NGNGttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_joysticks.asp
今はDirectInputでやった方がいいんだろうか?
0890デフォルトの名無しさん
NGNGタイマーか何かでチェック汁
0891デフォルトの名無しさん
NGNG真ん中にシークして、書き込む領域のデータをバッファに待避して、
書き込みたいデータを書き込み、次々とずらして最後まで繰り返していく、
という方法でできるにはできますが、
ファイルが大きいので入出力処理に時間がかかってしまいます。
できるだけディスクへの入出力が少なくなるようにするには、
どうするのがいいのでしょうか?
0892デフォルトの名無しさん
NGNGどうしようもない。データ構造を工夫するとか。
たとえばビデオデータの例だとQuickTime なんかは、実際のファイル内での順序と
再生される時系列とが一致しなくても良いデータ構造を使って、編集時はファイルを
大きく変更しなくても挿入やカットができるようにしている。必要なら最後に整列する。
0893デフォルトの名無しさん
NGNGデータベースを利用できないか?
0894デフォルトの名無しさん
NGNGすでに作られているファイルを加工したいので、
自分でデータ構造を定義できないし、データベースも使えないんです。
メモリマップトファイルを使って…、とも考えたんですが、
結局、書き込みが発生してしまうんですよね。
0895デフォルトの名無しさん
NGNG断片化するだろうけど‥‥
0896デフォルトの名無しさん
NGNGRegisterRawInputDevicesを呼び出すとWM_INPUTを受け取れるようになる。
普通はDirectInputだろうけど。
0897887
NGNGレスありがとうございます。
DirectInputを検索して出てきたサイト(ToruのDirectX〜)のジョイスティック状態のサンプルを実行してみました(PS2のコントローラー)。
(ttp://www.geocities.jp/toru_website/di/4.html)
左側のスティックを傾けない場合、十字キーの[左か右]と[上か下]を常時押した状態になります。
また倒した方向に対した十字キーの押下は正しいのですが、傾けた角度は関係なく言わば押したか押していないかの判断しかしていません。
dijsに状態を取得し、dijs.lXで十字キーの左右の状態をあらわしていますが、ジョイスティックの場合は違うのでしょうか?
(文章を書くのが下手ですみません)
0898デフォルトの名無しさん
NGNGダウンロードして読んで、それでもわからないならDirectXスレに行って質問してください
0899898
NGNG0900デフォルトの名無しさん
NGNG0901791
NGNGCreateFileはネット上にサンプルもあったので、なんとか
できました。
今、DeviceIoControlについて調べています。
こちらは、Delphiでのサンプルがネット上にも少ないので、
苦戦していますが、がんばってみます。
0902デフォルトの名無しさん
NGNGOSはXP
Visual.net C++ を使用しています
マルチメディアタイマーを使用するときは
プロジェクトにwinmm.libを参加させます
と書いてあるのですが
これはどのようにやればいいのでしょうか?
教えて下さい
0903デフォルトの名無しさん
NGNGソリューションビューからプロジェクトアイコンを右クリックし [プロパティ]
[構成プロパティ] - [リンカ] - [入力] - [追加の依存ファイル] に winmm.lib
0904デフォルトの名無しさん
NGNG>プロジェクトにwinmm.libを参加させます
などという莫迦な言い回しは
どこに記述されているのでしょうか?
笑いたいので教えて下さい
0905デフォルトの名無しさん
NGNG検索しろよ莫迦
0906デフォルトの名無しさん
NGNG#pragma comment(lib, "winmm.lib")
0907デフォルトの名無しさん
NGNGSHIFTもいっしょにおされていたかどうか
調べるにはどうするんでしょうか
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG用語をあまり知らないので、ググり方もよく分かりません。
やろうとしていることが、もしかしたらAPIというものを使えば出来るかもしれない
ということを知るまでに、かなりの時間を費やしたのアホです。
使えるのはAccessVBAのみ
最小化されてタスクバーにおさまっちゃった状態のアプリケーションを、
表舞台に引っ張り出す方法を教えてください
0910デフォルトの名無しさん
NGNGhttp://www.google.co.jp/
ぐぐれ。
091169式フリーPG ◆hND3Lufios
NGNG0912デフォルトの名無しさん
NGNGすみません
ググルための語彙力の限界というか・・・
アプリケーション アクティブ化 API とかでググッたら、それっぽい自作関数が紹介されてたんですけど、
これが使えるのは、最前面にあるAccessのすぐ真裏でひそかに生きてる状態だけでした。
(こんな言い方で分かっていただけますか)
最小化されてタスクバーにおさまっちゃった状態では通用しなかったんです。
>>911
sendkeys "%{Tab}"
でもどうにかいけることはいけるんですけど、
できれば、タスクバーにおさまっているものの中からアプリケーションを指定して、引っぱり出したいな
と。(いくつもあると、何が出てくるか分からないので)
091369式フリーPG ◆hND3Lufios
NGNG091469式フリーPG ◆hND3Lufios
NGNG0915デフォルトの名無しさん
NGNGありがとうございました
>>904
猫でもわかるWINプログラム 第1版の
P196ページにかかれて降りました
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG変更&適用する方法、どなたかご存じでしょうか。
どうしても設定が保存されないアイコン(サービス類)を、スタートアップ
で変更&適用出来たらなと思っているのですが・・・
0918デフォルトの名無しさん
NGNGここらへん。詳しいことは知らない
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify
0919デフォルトの名無しさん
NGNG実行しつつ、そのプログラムの吐いた標準出力の結果を
得るにはどうしたら良いのでしょうか?
0920デフォルトの名無しさん
NGNG「させます」取ってみた。あぁ、噂の「猫」か。
HTML も酷ぇなw
0921デフォルトの名無しさん
NGNGif (CreatePipe(&hRead, &hWrite, &sa, 0)) {
if (DuplicateHandle(GetCurrentProcess(), hWrite, GetCurrentProcess(), NULL, 0, FALSE, DUPLICATE_SAME_ACCESS)) {
PROCESS_INFORMATION pi;
STARTUPINFO si = {sizeof si};
HANDLE hOutputOld = GetStdHandle(STD_OUTPUT_HANDLE);
SetStdHandle(STD_OUTPUT_HANDLE, hWrite);
if (CreateProcess(NULL, pszCmdLine, NULL, NULL, TRUE, DETACHED_PROCESS | NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi)) {
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
SetStdHandle(STD_OUTPUT_HANDLE, hOutputOld);
// ここでReadFile(hRead, ...);
}
}
CloseHandle(hWrite);
CloseHandle(hRead);
}
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNGお前はコマンドプロンプトを絶対に使わないんだな!!
0926デフォルトの名無しさん
NGNGよろしければ取得APIを教えて頂けないでしょうか。
0927デフォルトの名無しさん
NGNG0928926
NGNGGetWindowThreadProcessId
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGを作成したいのです。
http://www.athomejp.com/goldfish/api/filechangenotification.asp
を参考に行っているのですが、ファイルの書込みを行った時点でスレッ
ドが2重で実行されてしまいます。
これを回避する方法はあるのでしょうか?
Sleep等で時間調整を行ってもだめでした。
FindNextChangeNotificationで次期の監視を開始する際にうまく
いっていないような気がします。
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNG参考サイトだけ見せられても…
実際のコードは?
0935932
NGNG0936デフォルトの名無しさん
NGNG今はまだ設計開始中のため考慮している段階です。
ファイルの書込み更新時点でファイルをリードして内部
処理するのが目的なのですが、何か良い方法はあるので
しょうか?
0937デフォルトの名無しさん
NGNG単に不具合なんじゃないかって、話しだと思われ
0938デフォルトの名無しさん
NGNG喪前がうまくいかないってコードを見せればいいんだよ。
0939デフォルトの名無しさん
NGNG書き込んだりフラッシュしたりちょっと待ってみたりしてしっかりチェックしてみな。
0940デフォルトの名無しさん
NGNGこのようなことは Win API で可能でしょうか?
0941デフォルトの名無しさん
NGNGQoSで調べてみれば
0942デフォルトの名無しさん
NGNGWindows2000以降ならできると思う。
NEGiESとか、フリーウェアでやってるので、マイクロソフトとNDA結ばなきゃ使えないAPIなんてことはなさそう。
0943デフォルトの名無しさん
NGNGそんなものはありません。
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG表向きだけな。
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNGいや、むしろ
表向きってどういうこと?ってどういうこと?
って聞き返したいんだけど。
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNG表向きでもいいんだけど、例えばどんなやつ?
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNGLOGCOLORSPACE 構造体によく似ているので関係あるんだと思うんですが、ICM の使い方もよくわかりません。
0952デフォルトの名無しさん
NGNGどこでその名を知った?場合によってはその書き込みはまずいぞ。
0953デフォルトの名無しさん
NGNGhttp://www.microsoft.com/typography/developers/otls/default.htm
0954デフォルトの名無しさん
NGNGお前、契約書ちゃんと読めよ・・・信じられん。
うちの社員だったらクビ飛んでるぞ。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGない
0957デフォルトの名無しさん
NGNG詳しく
0958デフォルトの名無しさん
NGNG詳すぃく
0959デフォルトの名無しさん
NGNG詳すぃくゅ
0960デフォルトの名無しさん
NGNGkwaswique
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG経験ないと分からない思うが、>953のようにリンクを
貼る行為は完全にNG。契約違反になるから説明できる
とこがほとんどないんだけど、当事者になったときに
分かるよ。とりあえず>953はやばい。
0963デフォルトの名無しさん
NGNGマジで?
オレには http://www.microsoft.com/typography/otls.mspx の旧URLのように見えるんだが。
0964デフォルトの名無しさん
NGNG「OTLS」「Microsoft」でググるとトップに出てくるURLなんだけど、
それが機密情報名わけ?ww
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGなんでBasic認証限定なの?
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG最低でもってかいてあるじゃん
0972デフォルトの名無しさん
NGNGそう。962は俺が書いたんだけど、君だけが正解。
0973デフォルトの名無しさん
NGNG自演決定。
0974デフォルトの名無しさん
NGNG契約書は読んだ?したっぱPGはそんなの気にしねーのか。
機密とかまったく関係ないよ。
0975デフォルトの名無しさん
NGNGttp://japan.internet.com/busnews/20030423/11.html
たぶん、一番したの記述っぽいがよーわからん
0976デフォルトの名無しさん
NGNG953の書き込みがやばいやばいって言うから、
950のOTLSって単語に色つけてぐぐれば
契約云々関係ない第三者でもすぐ分かるぞってことでは。
0977デフォルトの名無しさん
NGNGもうすぐ正月だぞ
0978デフォルトの名無しさん
NGNGもちつき、忘れるなよ
/\⌒ヽペタン
/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
0979デフォルトの名無しさん
NGNG|___|⌒ヽペタン
.∩ || ⌒)ノペタン∩
| | /二つ ((.⊂ニヽ| |
(,, ゚)| )) (゚Д゚,,)
ノ つ ( ⌒ヽ ⊂,,ヽ
O ノ ) ̄ ̄ ̄((_ ( )O
(/ (/ (;;;;;;;;;;;;;;;;;;;)∪ヽ)
0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGソートを実行するコールバック関数で返した結果はすぐにリストに反映されるのでしょうか?
リストアイテムのユーザデータにそのアイテムが登録された時のインデックス番号が格納されてあり、
コールバックに渡される2つのユーザデータから該当するカラムのテキストを取得して比較を行ってます。
こういう実装方法だとコールバックが返した結果がすぐにリストに反映されてしまうと
比較を行うたびに予め設定してあったインデックス番号が狂ってしまいますよね?
正しくソートを実行するためにはソートを実行する前にソートを行うテキストを
ユーザデータとして設定するような事を行わなくてはならないのでしょうか?
コールバック内でListView_FindItemするんでしょうかね。
みなさんはどう実装してますか?
0982デフォルトの名無しさん
NGNG最初にやることはデバッガで追う事。
まあ回答してやってもいいが、
例えば俺がサイコロ振って適当に「反映されます」と回答したとして、
それを信用するかね?
まあするんだろうね。
確率は1/2だから悪くはないわな。
というわけで、
最初のは「反映されません」
2番目は「行う必要はありません」
つーか、なんのためのコールバックかよく考えてみ?
最後のは「実装したことはありません」
これでどうだ
0983デフォルトの名無しさん
NGNG>狂ってしまいますよね?
に対しては、
「はいそうですね。」
以上だ。
0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNGだって、OTL ですよ。
0989981
NGNGええとですねデバッグして検証はしたんです。
コールバック内で取得したテキストとソートを実行する前に予め設定したテキストを比較してみた所
まるっきり一致しませんでした。
で、ネットでいろいろなサンプルを漁ってたんですがその中に前者の方法でテキストを取得している
サンプルが幾つかあったので混乱したんです。
何らかのフラグの設定で反映されたりされなかったりするんかなとか思ったりもしたので
経験者の意見を聞きたかったわけです。
いろいろ試した結果最終的にはユーザデータをキーにListView_FindItemで検索したインデックス番号で
テキストを取得するようにしました。効率悪そうですが。
0990デフォルトの名無しさん
NGNG後で一気にViewに反映した方が後々良いと思うんだが
目的がListViewのエキスパートになりたいならともかく
0991981
NGNGその方法は効率良さそうですね。盲点でした。
何が何でも中でソートする必要なんてないですもんね。
助言ありがとうございました。
>>982
そういえばお礼言ってませんでした。
大変親切な助言ありがとうございました。
0992デフォルトの名無しさん
NGNG>その方法は効率良さそうですね。盲点でした。
えー
0993デフォルトの名無しさん
NGNGそこで仮想リストビューですよ
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG私は登録順をユーザデータとして設定しているよ。
ソートのときはそれを利用している。
高々1000件くらいのリストならそれで充分ことが足りている。
0996デフォルトの名無しさん
NGNGそんなAPIはない
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1104109858/l50
>>999-1001
乙
0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。