Win32API 質問箱 Build7
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGやさしいお兄さんたちが答えてくれるかも。
でも、最低限Web検索ぐらいはしてね。
過去スレ
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
0002デフォルトの名無しさん
NGNG\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
http://big.freett.com/scheme_a/num1000.swf
0003デフォルトの名無しさん
NGNG>>2 せっかちさん
0004デフォルトの名無しさん
NGNG2 のタイムスタンプが素晴らしい。
リンクのフラッシュはもっと素晴らしい。誰が作ったんだ。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGその文字列をlist<string>などで返したいのですが、どういう手段が考えられるでしょうか?
DialogBoxParamを用いてlist<string>のポインタを渡してやれば良いとは
思いますが、もう少しスマートな解決法を模索しています。
0007デフォルトの名無しさん
NGNGCD-ROMドライブを直接読み込んだらRAWなしのISOイメージになってしまいます。
0008デフォルトの名無しさん
NGNGこのコードはリンクするライブラリをマルチスレッド対応版にするだけで動くんだが何故だ?
_beginthreadex() って要らないの?
struct ThreadInfo { HANDLE hMutex; char TestStr[12]; };
DWORD WINAPI TestFunc(LPVOID ThreadData)
{
ThreadInfo &Info = *(ThreadInfo *)ThreadData;
std::string RetStr("result: "); const char *sep = ",";
char IDBuf[64]; sprintf(IDBuf, "Thread 0x%08X Info", GetCurrentThreadId());
WaitForSingleObject(Info.hMutex, INFINITE); Sleep(100); char *s = strtok(Info.TestStr, sep); ReleaseMutex(Info.hMutex);
while(s) {
RetStr += s; RetStr += " - ";
WaitForSingleObject(Info.hMutex, INFINITE); Sleep(100); s = strtok(NULL, sep); ReleaseMutex(Info.hMutex);
}
MessageBox(NULL, RetStr.c_str(), IDBuf, MB_OK);
return 0;
}
int main()
{
DWORD Thread1ID, Thread2ID; HANDLE hMutex = CreateMutex(NULL, TRUE, NULL);
ThreadInfo Info1 = { hMutex, "ab,cd,ef,gh" }, Info2 = { hMutex, "12,34,56,78" };
HANDLE hThread1 = CreateThread(NULL, 0, TestFunc, &Info1, 0, &Thread1ID);
HANDLE hThread2 = CreateThread(NULL, 0, TestFunc, &Info2, 0, &Thread2ID);
ReleaseMutex(hMutex);
WaitForSingleObject(hThread1, INFINITE); WaitForSingleObject(hThread2, INFINITE);
return 0;
}
00098
NGNG名前付きミューテックスと名前無しミューテックスとで、何か動作が変わるの?
0010デフォルトの名無しさん
NGNGMTであれば、beginthread*を使わずとも、必要な情報は
OnTheFlyでライブラリが用意する。ただし、その情報を格納
するのに使ったcallocは、DLL版でないと開放されない。
(beginthread*なら、開放される)
0011デフォルトの名無しさん
NGNG前スレ読んでないのでその文脈で名前付きが必要なのかは分からんが、
名前付き同期オブジェクトは、同じ名前を指定する事で複数のプロセス
の間で共有できる(いちいちハンドルを複製して相手に渡す必要が無い
ので扱いが楽)
1プロセス内(の各スレッド)からしか使わないなら名前無しでいい。
0012デフォルトの名無しさん
NGNGBuild4は未だにdat落ちしたままなのか…
-=-=-=-=-=-=-=-=-=-=
ここまで読んだ
-=-=-=-=-=-=-=-=-=-=
00138
NGNGそうなのか・・・。
動きはするけど後片付けしないと・・・。
らじゃ、サンクス。
>>11
8 のコードを指して言われた。
でもこのコードだけで言えば必要無いよね。
サンクス。
0014前スレ
NGNG続き聞かせて
0015デフォルトの名無しさん
NGNGあれはそのつもりのネタだろ
0016デフォルトの名無しさん
NGNGWindowsXPproでユーザーアカウントの画像を
ランダムに変更するプログラムを作りたいんですよ。
それでレジストリ書き換えて
(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Hints\(ユーザー名)\PictureSource)
C:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures\ユーザー名.bmp
のフォルダに画像を生成させるとこまではできたのですが、
そのあと表示を更新させる方法がわかりません。
手動でなら、
コンパネ→タスクバーのプロパティ→スタートメニューのカスタマイズ
を開いて全てOKでとじれば更新されるのですが・・・。
どなたかご存じの方がいらっしゃれば宜しくお願いします。
0017デフォルトの名無しさん
NGNGどこかに良いサイトはありますか? オフィシャルにある?
0018デフォルトの名無しさん
NGNGそんな API がどうしてあると思ったの?
0019デフォルトの名無しさん
NGNGなんでNT5、あるいはXPという表記じゃないの?
0020デフォルトの名無しさん
NGNGXPはNT6じゃないから(NT5.1)、と言ってみる
0021デフォルトの名無しさん
NGNG何かの処理をするってゆ〜のを実現する方法ってないですかね?
自アプリへの入力だけぢゃなく、他アプリへの入力も考慮に入れたいんですけど・・・
0022デフォルトの名無しさん
NGNGスクリーンセイバー。
またはフック。
0023デフォルトの名無しさん
NGNG変数が2次元配列の場合はどうやって初期化すればいいですか?
今はこのように初期化してます。
#pragma data_seg(".shared")
int data = 0;
int pnt[1000]={0,};
#pragma data_seg()
POINT型を使いたいのですが、初期化方法がわかりません。
0024デフォルトの名無しさん
NGNG初期化の方法もまともに知らないで DLL に手を出しちゃうの?
int array[3][3] = {
{ 11, 12, 13 },
{ 21, 22, 23 },
{ 31, 32, 33 }
};
第一、POINT は 2 次元配列じゃない。構造体。
POINT pt = { 10, 20 };
つーかそもそも、DLL 内の共有域を初期化しても、コードによってはどっから
どんな更新があるかわからんぞ。
0025デフォルトの名無しさん
NGNG(Cの)構造体や、その多次元配列でも、= {0};でいける。
POINT p[10][20][30] = {0];
0026デフォルトの名無しさん
NGNGつーか、0 初期化したいだけなら、グローバルにはその必要が無い。
グローバルは初期化指定しなくても 0 初期化される事が保証されている。
0027デフォルトの名無しさん
NGNGそれは一般論だろ。
この場合初期化しないとせっかく宣言した .shared セクションではなく
.bss に領域が取られてしまうの。
002926
NGNGdup(?) になるって話。
0030aru
NGNGでも、もし知っている人がいたら教えてくだされ。
WindowsXP DDKのデバッグ情報をモジュールに入れ込むにはどうすればいいんですか?
PDBを作らないように設定しようと思ったけど、うまくいかないし…。
おかげでビルドしているPCでしかデバッグできなそう。
デバッグPCでデバッグしたいのになぁ。
makefileをいじったけど、全然うまくいかないし (T_T)
0031デフォルトの名無しさん
NGNGここはWin32 APIスレなんですが。
C/C++ の規格の話ならスレ違いでしょ。
http://pc3.2ch.net/test/read.cgi/tech/1036876790/
http://pc3.2ch.net/test/read.cgi/tech/1035005882/
VC++に依存しない話という意味で一般論と書いたの。
0032デフォルトの名無しさん
NGNGされることが保証されているので普通はまずくない。
プロセス間で変数を共有するとか特殊なことがしたいときに
だけ問題になるけどそれはすでにC/C++の規格の話ではない。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG外してたらスマンが、
PDBで無くデバッグ情報を作る(ファイル内に)ようにして
rebaseで.dbgファイルを作ればできた気がする。
0035デフォルトの名無しさん
NGNGメモリアドレスの内容を直接読む方法ってありますか?
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG「読む」という言葉から一般にイメージするのは
ReadProcessMemoryのほうでは
003935
NGNG何がまずいんでしょうか;;
(Win2000sp3、Adminです。)
#include <windows.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
DWORD dwBase = 7471220; //読み込むアドレス
LPCVOID lpBaseAddress = (LPCVOID)dwBase;
int cbRead = 2; //2バイト読む
LPTSTR lpBuffer = (LPTSTR)malloc(cbRead);
HWND hWnd = FindWindow("Notepad", NULL);
BOOL bResult = ReadProcessMemory(
hWnd,
lpBaseAddress,
lpBuffer,
cbRead,
NULL
);
if (bResult == FALSE){
cout << "メモリの読み取りに失敗しました。" << endl;
}
cout << lpBuffer <<endl;
return 0;
}
004035
NGNG取ってみると
「ReadProcessMemory要求またはWriteProcessMemory要求の一部だけを完了しました。」
と出ました。どこが間違ってるんだろう;;
004135
NGNG#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
DWORD dwPid;
LPTSTR lpError;
DWORD dwBase = 9460301;
LPCVOID lpBaseAddress = (LPCVOID)dwBase;
int cbRead = 1; // 1バイトだけ読む
LPTSTR lpBuffer = (LPTSTR)malloc(cbRead);
// プロセスハンドルの取得(メモ帳)
HWND hWnd = FindWindow("Notepad", NULL);
GetWindowThreadProcessId(hWnd, &dwPid);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);
if(hWnd == 0){
cout << "メモ帳が起動されていません。" <<endl;
return 0;
}
BOOL bResult = ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, cbRead, NULL);
if (bResult == FALSE){
cout << "メモリの読み取りに失敗。" << endl;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpError,
0, NULL
);
cout << "Error MSG: " << lpError <<endl;
}
cout << lpBuffer <<endl;
return 0;
0042デフォルトの名無しさん
NGNGマルチスレッド対応にしようとしたのだが…
void ref() {
InterlockedIncrement(&m_ref);
}
void release() {
if (InterlockedDecrement(&m_ref) == 0) {
delete this;
}
}
ところが、delete thisの直後にref()が呼ばれると、m_ref自体が解放された領域にあるため、
とんでもない値になってしまう。参照カウントをメンバー変数にするのが間違い?
どうしたらいんだろう?マルチスレッドのエキスパート様の降臨おながいします。
004342
NGNG0044デフォルトの名無しさん
NGNGおねがいします。
0045デフォルトの名無しさん
NGNGコールバック関数にthisを渡してやれば解決できない問題なの?
0046デフォルトの名無しさん
NGNG回避する方法を教えてください。
glviewportやglscissorsを使ってOpenGLの描画範囲を制限しても駄目でした。
VC++&SDKです。
0047名無し@沢村
NGNGstopボタンを押したときにforループを抜けるようにしたいんですが、どうすればいいですか?
0048デフォルトの名無しさん
NGNGWinAPIはしらんけど、
for文の脱出条件にフラグ一個置いといて、ボタン押したら
フラグ立てたら?
0049名無し@沢村
NGNGそれはやってみました。
が、forループの間、ボタン自体押せなかったっス。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGPeekMessageとforループあたりで検索すればサンプルが見つかるかも
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGマルチは嫌われるぞ。
0054デフォルトの名無しさん
NGNGMainWindowの中にChildWindowを貼り付けて、それをOpenGL化するよろし。
ただしこれを受け付けないグラフィックカードがあるから注意されたし。
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNGありますか?
ただいまpdhEnumObjectItems()を使ったプログラムをテストしているのですが、
なかなかmainにおいてreturnしたあと、なかなかプロンプトが返ってきません。
そこでatexitのようなものを試しに使ってみたいと思いました。
よろしくお願いします。
0057デフォルトの名無しさん
NGNG逝ってきます・・・
0058名無し@沢村
NGNGInvalidateRect((HWND)param,&rect,FALSE);で画面を更新すると画面がちらちらしてきたないのだが、
ちらちらしないで画面を更新するにはどうしたらいいのですか?
皆々様方〜、教えてくださらんか〜?
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNGWM_ERASEBKGNDを処理
0062デフォルトの名無しさん
NGNG構造体のポインタとかいれて、後で使ったりするための変数?
好きな値いれていいのかな?
0063デフォルトの名無しさん
NGNGイイ!
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG空ageにかけてたのか
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGWM_ENDSESSIONなどをヘルプで引くと、
「このメッセージを処理するアプリケーションは、 0を返さなければなりません。」
とかかれていますが、メッセージに値を返すにはどうしたら良いのでしょうか
0069デフォルトの名無しさん
NGNGreturn 0;
0070752
NGNG整数があって、特定の桁数にそろえて文字列(CString)
に代入するにはどうすればいいでしょうか?
例:
int i = 20;
CString s;
5桁にそろえるとき、
sに00020という値が欲しいわけです。
0071デフォルトの名無しさん
NGNGスレ違い。
0072あ
NGNGFormat
っていってるだろ
頭悪いのか?
マルチしね。
0073デフォルトの名無しさん
NGNG時間見れアフォ。
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG007767
NGNG0078デフォルトの名無しさん
NGNG生きてる過去ログあさってみたけどほとんど見つからず。
手ほどきお願いします。
Googleで引っかかったまともなHPは
http://techtips.belution.com/ja/vc/0005/
これぐらいでした(検索キー 透過ウインドウ)
007978
NGNGSetLayeredWindowAttributesでいけるみたいです
「透明ウインドウ」で検索すると結構引っかかりますね、鬱だ・・・。
0080デフォルトの名無しさん
NGNG何がしたいのかわからんが、
GetUpdateRgn()で空のREGIONが返ってきたらとかいうのはダメかな。
試してないけど。
008167
NGNG常にレンダリングしていまして、
クライアント領域が他のウインドウに完全に隠れている状態では
レンダリングを中止させようと考えています。
基本的なことが良く分からないのでとりあえずリージョンについて調べてみます。
どうもありがとうございました。
008268
NGNGDelphiで、Application.OnMessageを使った時はどうすれば良いのでしょうか?
0083デフォルトの名無しさん
NGNG常にInvalidateRect(NULL, TRUE)するとか。
完全に隠れていればWM_PAINTが発生しない。
0084デフォルトの名無しさん
NGNGGetClipBox を使えばよろしい。
0085デフォルトの名無しさん
NGNGエディットコントロールのオーナードロー(自前で描画)ってできませんか。
やっぱ1から自作するしかないんでしょうか?
カーソル移動(マウス/キーボード)とかクリップボード周りの実装とか禿げしく面倒なヨカーン
0086デフォルトの名無しさん
NGNG逝けないんじゃないのか?
(EM_OWNERDRAW なんてのが MSDN に見当たらないからできなさそうだけど)
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGAPI 調べたらすぐ終わる。
0089デフォルトの名無しさん
NGNG下セルに」みたいな処理してたら、なんとなくパチモンエディタみたく
感じたことがある・・
0090デフォルトの名無しさん
NGNGDLL内から、WMメッセージを取得する方法を教えてください。
でも、EXE本体は全くいじれない。
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGメインフォームにWM_ENDSESSIONのメッセージハンドラを作って
そこで処理してから message.Result に返したい値を入れる。
っちうかスレ違いじゃメルシィボケェ。
0093デフォルトの名無しさん
NGNGIEで右クリックすると出て来るポップアップメニューと
同じ物を作るにはどうしたらいいのでしょうか。
0094デフォルトの名無しさん
NGNGShellのメニュー用インターフェースがどうこう、という話?
0095デフォルトの名無しさん
NGNGオリジナルのポップアップは作れるのですが、
IEと同じ挙動(ファイルの種類によって違うメニューがでる)にできないのです・・・
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG009867
NGNGWM_PAINTが発生しない状態かどうか判断しにくいということで、
結局>>84さんの方法で行かせてもらいました。
遅くなりましたが、レスくれた方々どうもありがとうございました。
0099デフォルトの名無しさん
NGNGMSJ97/4号のWicked Code。
だが、これはファイル一つ用だけのメニューしか出せない。
複数のファイルのメニューをだすには、ファイル数分のITEMIDLISTを取得する必要がある。
また、「送る」を実装するにはIContextMenu2を使う。
0100デフォルトの名無しさん
NGNGデータは1行ずつをリストで管理して、表示の時(WM_PAINT)に表示開始行まで
リスト移動させて、1ページ分TextOutで表示させてるんだけど、遅いマシンだと
スクロール時にかなり画面がちらつく。
で、CreateCompatibleDCでつくったDCにTextOutして1ページ分書き終えたあと
BitBltしたんだけど、これだとなぜか全く表示されない。
ちらつかせないためには、どうしたらいいの?
0101デフォルトの名無しさん
NGNGスクロールする時にScrollWindowEx使ってるか?
あと、PAINTSTRUCTのrcPaintに更新領域が入ってるから、
その中に入るテキストだけ描画するようにすれば軽くなる。
メモリDCには、ビットマップ作ってSelectObjectしておかないと
描画しても無意味。
0102デフォルトの名無しさん
NGNGスクロールはウインドウスタイルにスクロール属性つけて、WS_HSCROLL,VSCROLL
を処理してる。
>メモリDCには・・
そうだったのか。。って、ビットマップ作るってどういうこと?
0103デフォルトの名無しさん
NGNG> を処理してる。
つーかその「処理」の内容。
0104デフォルトの名無しさん
NGNG単に内部の変数(開始行)を加減して、InvaridateRectして、
SetScrollPosでスクロールバーを変更してるだけです。
ScrollWindowExは使ってないです。
0105デフォルトの名無しさん
NGNG1ページ全部 TextOut で描画し直すよりも ScrollWindow(Ex)? でスクロールして、
新たに画面内に入ってきた行だけを再描画した方が速いだろうに。
0106デフォルトの名無しさん
NGNGのON・OFFを切り替えるにはどうすればいいですかね?
0107デフォルトの名無しさん
NGNG取得する方法を教えてくらはい。
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG取得するにはどうすればよいのでしょうか?
0111デフォルトの名無しさん
NGNGC/C++&asmで記述されているMacOSXと比べて基本性能がケタ違いに低い。
0112デフォルトの名無しさん
NGNG( ´д)ヒソ(´д`)ヒソ(д` )
0113デフォルトの名無しさん
NGNGVideo for WindowsライブラリのcapGrabFrame関数で取り込んだ画像を
RGBの配列に変換する方法をご存知の方教えてください。
イメージバッファには読み込まれてると思うんですが、
capSetCallbackOnFrame等を使わずに
そこをどうやってプログラムから参照すればいいのかわかりません。
よろしくお願いします。
0114デフォルトの名無しさん
NGNGまー漏れ Video for Windows わかんねーけど
0115デフォルトの名無しさん
NGNGどうすればできるでしょうか?MFCが使えない環境なので、困っています。
ファミリーベーシックって聞いたよ。
直接ゲイシが言ってたから間違いない。
0117デフォルトの名無しさん
NGNGスレ違いだから出て逝ってくれ。
0118デフォルトの名無しさん
NGNGmixer...で始まるAPIの使い方を調べてみるといいんじゃないかな。
ボリュームコントロールと同等のことをするサンプルコードが
あったはず。
0119デフォルトの名無しさん
NGNGメモリデバイスコンテキスト作ってSetDCとかできないんでしょうか?
0120デフォルトの名無しさん
NGNGTextOut(hdc,0,0,"IWebBrowser2",strlen("IWebBrowser2"));
0121デフォルトの名無しさん
NGNG起動しているIEへBackSpaceキーを送りたく、
ハンドルはIEのタイトルバーの所の値として
SendMessage(***, WM_KEYDOWN, VK_BACK, 0);
SendMessage(,*** WM_KEYUP, VK_BACK, 0)
としても、だめでした;。 どうしたら良いでしょうか?
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNG×SendMessage(,*** WM_KEYUP, VK_BACK, 0)
○SendMessage(***, WM_KEYUP, VK_BACK, 0);
0124デフォルトの名無しさん
NGNGおお、 早速ありがとう!!
そのてがありましたね。試してみます。
0125106
NGNGレス、サンクス。
私もそれについては多少調べてみたんですが、
各ラインに対してMuteや音量の設定はできるようなのですが
デジタル出力のON・OFFに関する設定は見つかりませんでした。
mixerMessageを使えばいけるかなとも思いましたが
どんなメッセージを送ったらよいのか、さっぱりわかりませんでしたし。
使ってるサウンドカードはAudigyなんですけど
ドライバに対するプログラミングリファレンスなんて
転がってないですよねぇ?(^^;
0126デフォルトの名無しさん
NGNGif(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)){
if(!GetMessage(&msg, NULL, 0, 0))
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}else{
/*これ。*/
if((fni = (*fns[fni])(&gst)) < 0) break;
}
}
のif((fni = (*fns[fni])(&gst)) < 0) break;
ってどういう意味なの?
0127デフォルトの名無しさん
NGNGfnsは関数へのポインタへのポインタもしくは関数へのポインタの配列。
fni番目に格納された関数へのポインタを用いて、その関数を間接的に呼んでる。
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGマクロ定義されてたらとか言い出すとキリがねえ
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG1.メールBOXに予約メールが届いたら、
録画マシン(Xp)をACPIを使用して起動させる。
(by ルータ&MailBOXマシン)
2.Xp 予約処理をOutLookマクロにより、
予約メールGET時、予約処理を行う。
2.a:iEPGで生成される同フォーマットで
予約情報ファイル作成、配置。
2.b:Xpのタスクに登録。
2.c:休止状態にする。
というフローです。
その中で、
2.b、2.cの処理をAPIを呼んで行いたいのですが、
ご存知の方、ご教授ください。
ATコマンドは休止からの復帰をさせることができません。
0132デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1018239290/316
0133デフォルトの名無しさん
NGNG2.b 「Task Scheduler」でMSDNを検索しる
2.c SetSystemPowerState(FALSE, TRUE) ただしNT系のみ
0134デフォルトの名無しさん
NGNGReadFileで読み込むという作業をしたいのですが
CreateFileでINVALID_HANDLE_VALUEが返ってきてしまいます。
どのようにしたら取得できるでしょうか?(↓自分が書いたもの)
hFile = CreateFile("crackme1.exe", GENERIC_READ, 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
0135デフォルトの名無しさん
NGNGFILE_SHARE_READ
0136134
NGNG即答ありがとうございます。
FILE_SHARE_READにしてみたのですが
INVALID_HANDLE_VALUEが返ってきてしまいました。
もうすこしがんばってみます。
0137デフォルトの名無しさん
NGNGそれで、できるはずですが、ファイルパスは合ってますか?
::GetModuleFileNameで取得した値を使ってみるとか。
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNG全言語のページから#endifを検索しました。 約1,790,000件中1 - 10件目
全言語のページから#ifdefを検索しました。 約808,000件中1 - 10件目
全言語のページから#undefを検索しました。 約460,000件中1 - 10件目
全言語のページから#ifndefを検索しました。 約411,000件中1 - 10件目
0141134
NGNGGetModuleFileNameで取得した値でできました。ありがとうございます。
>>138
2でした。って漏れFormatMessageの使い方わからん(;´д`)
0142デフォルトの名無しさん
NGNG指定されたファイルが見つかりません。
0143デフォルトの名無しさん
NGNGMSDNの FormatMessage() のところに、サンプルもろに出てますよ?
0144デフォルトの名無しさん
NGNGキーボードの制御は出来た。マウスを自分の思う位置に動かして、クリック操作などを制御したい。
操作するウィンドウは、自アプリ外。Win9x系で動けばいいです。
アドバイス頼む!
┌─┐
|ま|
|た |
│く │
│る│
│ね.|
ヤホィ イェェア │ !!.│
└─┤ ニコニコ
ヽ(´∀`)ノ ヽ(´∀`)ノ (´∀`)ノ ( ´∀)
| ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄|─□( ヽ┐U
〜 〜  ̄◎ ̄ . ̄◎ ̄  ̄◎ ̄ ◎−>┘◎
0145デフォルトの名無しさん
NGNG検索できるようにしたものってありますか。
bccでやっているけど、いちいちmsdnみるのが面倒で(ダイヤルアップ回線なので)。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGMSDNに加入しる!
ライブラリサブスクリプション(技術資料だけ)なら安くてオフラインで読める。
0148デフォルトの名無しさん
NGNGそれで充分だろ。日本語訳ってたまに�dでもない
間違いとかあるし。
0150デフォルトの名無しさん
NGNG0151118
NGNGあ、「トーン」でしたか。
ろくに読まずに書いてしまいました。すみませぬ。
mixer系APIからは直接操作できないっていうか仕様が調べられない
部分ですか。うーん。どうすればいいんだろ。
っていうかこのあたり、サウンドカードによって同じような名前の
ミキサーラインでもタイプが違ってたりして混乱しますよね。
0152デフォルトの名無しさん
NGNG%SystemRoot%\System32\〜
みたいなパスを
C:\WINNT\System32\〜
みたいに正式なパスに変換してくれるAPIってないんかな?
0153デフォルトの名無しさん
NGNGつーか、ちったぁ検索しろや。機能そのままの名前じゃんかよ。
0154デフォルトの名無しさん
NGNG渡して実行しても失敗してしまいます。
このAPIで取得するにはどうしたら良いのでしょうか?
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGVBなら
Dim oShell As Object
Dim hwndTask As Long
hwndTask = FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString)
Call SetForegroundWindow(hwndTask)
Set oShell = CreateObject("Shell.Application")
oShell.TrayProperties
でいけるみたいなんですが、CにはCreateObject関数も
Object型に相当する物も見あたりませんでした。
他のコンパネみたく*.cplファイルも無いみたいだし。
宜しくお願いします。
0160デフォルトの名無しさん
NGNGになったタイミングというのはどうやって取得しているのでしょうか?
0161名無し@沢村
NGNGでもあともう一歩なんです…!
もう一歩というのは、トラック2つでもシングルトラックを鳴らすのに比べて、速度が半分に落ちるし、鳴り方もぎこちないんです…。
これがそのコードですが、あとどこを直せばいい…?
教えてくだされ〜♪
for(i=0;i<=i_Sum_Track[i_longest_Track];i+=2)
{_Time= timeGetTime();
for(l=0;l<16;l++)
{t[l]=0;
for(j_i=0;j_i<Onpu_Index[i_longest_Track];j_i++)
{k[l]=j[l]*8;
if(CodeCount[l]!=0)
{if(i==t[l])
{midiOutShortMsg(hMidiOut, 0xC0+l+ ((i_gattuki[l]) * 0x100));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((7) * 0x100)+((possrider[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((8) * 0x100)+((possrider_b[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((10) * 0x100)+((possrider_s[l]) * 0x10000));
midiOutShortMsg(hMidiOut, (DataCode[l][k[l]]) + (DataCode[l][k[l]+1] * 0x100)+(DataCode[l][k[l]+2] * 0x10000)); // Note On
}
t[l]+=DataCode[l][k[l]+3];
if(i==t[l])
{while (Play_Tempo(DataCode[l][k[l]+3])>=timeGetTime()-_Time);
midiOutShortMsg(hMidiOut,(DataCode[l][k[l]+4])+ (DataCode[l][k[l]+5] * 0x100)+(DataCode[l][k[l]+6] * 0x10000)); // Note Off
j[l]++;
}}}}}
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGどうしたらいいですか?
0164デフォルトの名無しさん
NGNGどうしたらできるでしょうか?
0165デフォルトの名無しさん
NGNGオナードロウ
>>164
IWebBrowser2(だったかな)
0166デフォルトの名無しさん
NGNGエディットボックスってオーナドロー出来なかった気がする、、、
0167デフォルトの名無しさん
NGNGサブクラス化してとかでも無理?
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG>owner-drawn button, combo box, list box, or menu when a visual aspect of
>the button, combo box, list box, or menu has changed
0170デフォルトの名無しさん
NGNGそれで、描画するためのデータはどこから持ってくる?
0171デフォルトの名無しさん
NGNGそれでSetTextColor()できる気もするな。
0172デフォルトの名無しさん
NGNGさんくすです。
IWebBrowser2のNavigate2を使い、htmlやjpegが表示できますた。
でも、bmpを表示しようとしたら、ペイントが立ち上がったり、
開くかどうか聞いてくるダイアログがでたりしました。
でも、ときどき表示されたりもします。原因がさっぱりわかりません。
何か、先行して処理する必要があるのでしょうか?
0173デフォルトの名無しさん
NGNG内部で使う関数には付けず、外部に公開する関数だけにつけておけばよいのでしょうか?
0174デフォルトの名無しさん
NGNGハァ?
0175デフォルトの名無しさん
NGNGそのライブラリが激しく内輪ならべつにどうでもいいと思う
0176デフォルトの名無しさん
NGNG激しく内輪でなければ?
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG(ついでに、C規約より少しだけ効率いいし)
0180デフォルトの名無しさん
NGNGdynamic linkならそれも考慮するかもしれんが・・・
0181179
NGNGんー、Delphiならbccとリンクできるし、
gccはC++に限らずFortranとかAdaとかでミックスランゲージできるし……ちと苦しいか。
正直staticの文字を見逃してました。スマソ
0182デフォルトの名無しさん
NGNGコメント、キーワード、分類などので情報を
設定するには、どうすればいいですか?
0183デフォルトの名無しさん
NGNGプロパティから設定できます。
0184デフォルトの名無しさん
NGNGAPIとか、コードでやりたいとおもわれ。
0185182
NGNGhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/stg/stg/the_summary_information_property_set.asp
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNGWin32APIなら、FindFirstFile()
標準C Libraryなら、_findfirst()
0188デフォルトの名無しさん
NGNGSetCurrentDirectory とか CreateFile でもいけそうだけどなー。> 教えて君
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGこういう質問をする「教えてクン」って、
後で仕事をきちんと完成させることができたかどうかが気になる。
つか、ちょっと心配になるよ。
0191デフォルトの名無しさん
NGNGもし>>186が検索をしていないとすると、
>>187の回答を得るまでに>>186は53分間も待たなければならなかったわけでしょ。
教えてクンはまたーりしているんだなぁ...
0192デフォルトの名無しさん
NGNG環境はwin2k vc5 です。
Web上にあった物はまともに動きません......
0193デフォルトの名無しさん
NGNG児童復旧する
タスクトレイ
のプログラム方法を教えてください。
0194デフォルトの名無しさん
NGNGINFINITEにしたら際限無く待ちつづけるのですが、他がおかしくてキャストは間違いないのでしょうか?
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNGそれができるのはexの方。
Win32マルチスレッドプログラミングって本読んでね。
0197デフォルトの名無しさん
NGNGRegisterWindowMessage TaskbarCreated をgoogle
0198デフォルトの名無しさん
NGNGサンクス。
0199デフォルトの名無しさん
NGNGどうもです。CloseHandleがいるやつですね。
0200デフォルトの名無しさん
NGNGおいおい・・・
0201デフォルトの名無しさん
NGNG漏れなら、GetFileAttribute()とかPathIsDirectory()かな。
ハンドルを閉じる手間がないから。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGマルチスレッドで破綻する
失敗したときどこにファイルを作るかわからない
話にならんな
こういうインストーラーを作りたいなら止めないが
http://pc3.2ch.net/test/read.cgi/tech/997727326/56-
0204203
NGNG答えて教えてクンの「聞いたもの勝ち」になるのがムカつくから
自分で答えを調べられない奴には分からない程度に嘘教えたのかな
だったら邪魔してスマソ
0205デフォルトの名無しさん
NGNGそこの 57 の反応が素直に笑える。
0206デフォルトの名無しさん
NGNG自分のウインドウの下のイメージを取得するにはどうしたらいいでしょうか?
0207デフォルトの名無しさん
NGNGできるかなあ?
できないんじゃないか?
0208デフォルトの名無しさん
NGNGされてない限り)存在しないので不可能です。
WM_PRINTに対応してたらなんとかなるかも
0209デフォルトの名無しさん
NGNG異なるサイズの印刷ってできますかねぇ?
ジョブ分けると、スプーラからのメッセージがちょっと・・・
0210デフォルトの名無しさん
NGNG半透明ウインドウとかはどうやってるの?
0211デフォルトの名無しさん
NGNGスレッドがスクロールしたりするんですけど。
画面からはみ出したりすると、他のウインドウも下に見えるし、どうやってるの?これ。
0212デフォルトの名無しさん
NGNGそれがLayeredなウィンドウ。
0213デフォルトの名無しさん
NGNGLayered化すれ(どうやってするんだろう・・・)ば、下のイメージが取り出せるのですか?
0214デフォルトの名無しさん
NGNGResetDCで行けそうな気はするが、このファンクションは
DEVMODEのどこまで書き換えられるのかイマイチ掴めないんだよな。
0215デフォルトの名無しさん
NGNGWin2kからは簡単に出来るよ。
0216デフォルトの名無しさん
NGNGキーボードの押された1文字読み込める関数はあるのでしょうか?
ググってみたのですがダメでした。よろしくおねがいします。
0217216
NGNG0218デフォルトの名無しさん
NGNGdebug privilege
一般的に使われるものではないから、素人に質問しても無駄だと思われ
0219216
NGNG0220デフォルトの名無しさん
NGNGSetLayeredWindowAttributes
で検索しる
0221デフォルトの名無しさん
NGNGGetKeyState
WM_KEYDOWN
0222デフォルトの名無しさん
NGNG素人って誰だよ
0223デフォルトの名無しさん
NGNGありがとうございました。できますた。
0224デフォルトの名無しさん
NGNG使うようにしたら、どのようにしたらいいんでしょう?
manifestは書いてみたものの変わらず、PROPSHEETHEADER にもそれらしい
項目はありませんでした。
0225224
NGNG× PropertySheet() で作成するダイアログでWinXPの新しいコントロールを
使うようにしたら、どのようにしたらいいんでしょう?
○ PropertySheet() で作成するダイアログでWinXPの新しいコントロールを
使わせるようにするには、どのようにしたらいいんでしょう?
0226216
NGNGレスありがとうございます。
さっそく、挑戦してみます。
0227デフォルトの名無しさん
NGNGSetConsoleMode( GetStdHandle(STD_INPUT_HANDLE), 0 );
while( ch = fgetc(stdin), ch != EOF)
fputc( ch + 1 , stderr );
0228216
NGNGありがとうございました。ジャストでした。
感謝、感謝、感謝です。
0229216
NGNGお礼です。
http://www.skku.ac.kr/~bkasia/board/cwb-data/data/kbhwdata/
0230デフォルトの名無しさん
NGNG韓国の大学ではそういう授業があるんですか?
0231貧民
NGNGbcc32 でコンパイル&実行できた人っています?
どうしてもダイアログのメニューが出てこないんですが。
リソースはばっちりだと思うんだけどなぁ。
0232貧民
NGNGプロシージャの中の switch からっぽで、
リソースだけくっつけてコンパイルしてもメニューが出ないぢゃねーか。
bcc32 で Windows プログラミングって・・むちゃ?
0233デフォルトの名無しさん
NGNGbcc32というかWindows(GUI)プログラミングをC++で作るのに
GUIエディタが無いのがむちゃ。
0234デフォルトの名無しさん
NGNGんなこたーない。
メニューは全て動的に作って、追加する。
コントロールも全て動的に作って追加する。
別にGUIツールが無くても問題ない。
0235貧民
NGNGBorland C++ Compiler に付属の
brcc32 (リソースコンパイラ)でリソースをコンパイルして、
bcc32 (コンパイラ)で .c をコンパイルして、
brc32 (リソースシェル)でコンパイルした .res を .exe にくっつけて
やってるんですが、これって何か陥りやすいミスってあります?
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG素直にBCCDeveloper使え。
0238貧民
NGNGごめん。巣でわからないです。
つか、MAKEINTRESOURCE調べてもわからなかった・・・。
これと猫プロSDK18章ってなんか関係すんの?
>>237
BCCDeveloper 入れてみました。
cygwin 上で vim + GNU make とどっちがいいんだろ。
しばらく使ってみよ。
0239デフォルトの名無しさん
NGNGDLLEXPORTした関数(HOOK)が
?HOOK@@YAHHP6G
みたいに変な関数名になるのですが、
綺麗に出来ませんか?
0240デフォルトの名無しさん
NGNGextern"C"を使う
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGあれが全部本になるんだろうか?
それともC#?
http://www.kumei.ne.jp/c_lang/shoseki/noflash.htm
0243デフォルトの名無しさん
NGNG現プロジェクトのmain.cpp以外を
スタティックライブラリとして
生成したいのですが、
やっぱり
スタティックライブラリのプロジェクトを作って、
地道に全ソースをプロジェクト追加
しないとダメなのでしょうか?
階層がいっぱいあって、めんどくさいのです。
ビルド→構成→追加(コピー)
から、出来そうな気がするのですが。
出来ないでしょうか?
0244243
NGNG間違えましたすんません。
0245224
NGNGあれから PROPSHEETPAGE の項目に hActCtx なんてのが comctl32 ver.6.0 から
増えていることが分かったけど、何に使うのかよく分からない(苦笑)。
(どうやらmanifestに書くような内容を記述するみたい)
これが関係してるのかな?
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGいいんだけどなぁ。違和感ありまくり。
#スレ違いスマソ。
0248デフォルトの名無しさん
NGNGスマソ。言葉が悪かった。
それを専門又は相当詳しいやつがいないと厳しいという意味。ちょっとだけ特殊な世界なので。
0249デフォルトの名無しさん
NGNG「エヂット」じゃなかったっけ。
0250デフォルトの名無しさん
NGNG出ても買わん。C言語ポインタ完全制覇があれば十分。
0251デフォルトの名無しさん
NGNGローマ字入力で「ディ」が出せなかったものと思われ
最近の記事ではちゃんとエディットになってる(w
0252デフォルトの名無しさん
NGNG( ゚д゚) ポカーン
0253デフォルトの名無しさん
NGNGどんな方法があるのでしょうか。
0254デフォルトの名無しさん
NGNG0255悲しい
NGNG以下のコード書いたんですがうまくいかないんです。
なぜうまくいかないんだ。
よかったらどなたか教えてくれませんか?
HWND hDesktop;
HDC hDC;
RECT rectDraw;
const char str[] = "Desktop!";
hDesktop = ::GetDesktopWindow();
hDC = ::GetDC(hDesktop);
::GetClientRect(hDesktop, &rectDraw);
::DrawText(hDC, str, strlen(str), &rectDraw, DT_CENTER);
::ReleaseDC(hDesktop, hDC);
0256悲しい
NGNG0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNGコンパイルでUNICODE定義していないなら、
CString *aaa;
aaa になんか値が入る。
char* p = (char*)(*aaa);
0259デフォルトの名無しさん
NGNG試してないが、
CreateDC("DISPLAY",NULL,NULL,NULL);
でどうだ?
0261デフォルトの名無しさん
NGNGそれだと「デスクトップ」じゃなくて画面全体じゃないか?
っていっても、260で喜んでるので、そういうものが欲しかったのか。
普通デスクトップって言ったら、Explorerの画面全体を覆ってる
リストビューのこと指すと思うんだがなあ。
0262デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0263デフォルトの名無しさん
NGNG窓でのデスクトップの定義について
小2週間くらい勉強してこい
0264デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG俺にもわかるように説明してくれ
0267デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0268デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/desktops.asp
これでも読め
0269デフォルトの名無しさん
NGNG「Explorerの画面全体を覆ってるリストビュー」って
どれのこと?
・・・あーそういうことだったのか! やっとわかった!
0270デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275260
NGNGその「Explorerの画面全体を覆ってるリストビュー」って
どうやって取得できるんですか?
よかったら教えてもらえませんか。
0276デフォルトの名無しさん
NGNG261です。
「Explorerの画面全体を覆ってるリストビュー」がデスクトップか否かに関わらずアホだから。
0277デフォルトの名無しさん
NGNGFindWindowとかでProgram Managerを検索して、
その子ウインドウでクラスがSysListView32になっている奴を捜すんじゃないの?
0278デフォルトの名無しさん
NGNGやったことないけどGetWindow(GetDesktopWindow(),GW_CHILD);
とかで取れないか?
0279デフォルトの名無しさん
NGNGそれは安全か?
0280デフォルトの名無しさん
NGNGそれじゃー
0281デフォルトの名無しさん
NGNGデスクトップ
+ProgramManager
+ SHELDLL_DefView
+ SysListView ←これ
だった。
0282名無し@沢村
NGNG色が表示されずにグレーになったり、使ってるうちにだんだんイロがあせてきたりするんだが、
これはどうやったら直せるのですか?
ちなみに画面のプロパティの詳細は256色です。
0283デフォルトの名無しさん
NGNGモニタを買い換えろ。
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGMacじゃあるまいしモニタを買い換えても意味ないだろ。
ビデオカードを買い換えないと。とかマジレスしてしまうテスト
0286デフォルトの名無しさん
NGNG表示するアプリを作っているのですが、キーボードイベントをうまく扱え
ません。
ネットで調べてみると、どうも「ダイアログボックスには WM_KEYDOWN
イベントが飛んでこない」ようです。
「ウインドウのサブクラス化」も試みてみたのですがうまくいきませんでした。
やはり、親ウインドウがないダイアログボックスではキーボードイベントを
扱うことは出来ないのでしょうか?
0287デフォルトの名無しさん
NGNGできるけど、どーしたいん?
0288デフォルトの名無しさん
NGNGSetWindowsHookEx()
0290デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG("[00:01:00]あ[00:02:00]い[00:03:00]うえお\n"のような文字列を読んで解析)
プログラムを作っています。
内部では
struct
{
int msec;
char *text;
int mode; // 0なら一行分、1なら色を変える部分のみのテキスト
} * dataのようなものを作って持たせています。
上の例だと
data->msec==1000,data->mode==0,data->text=="あいうえお"
(data+1)->msec==2000,(data+1)->mode=1,(data+1)->text="あい"
(data+1)->msec==3000,(data+1)->mode=1,(data+1)->text="あいうえお"
DrawTextかTextOutだけでうまいことやれる方法はないですかね。
mode=0のものを書いた後にTextOutすると後から書いた領域がちょっとだけ大きくなって
先に書いたものが消えちゃうんです。
BitBltで透過転送してたら重くて使い物にならなかった。
0293224=245
NGNGリソースにmanifestを含める場合、manifestのリソースIDを必ず1にしないと
いけなかったのですな。
VS.netだったからそのへんは適当にやってくれるもんだと思ってた・・・鬱
manifestを外部ファイルにしても反映されなかったんだけど、それはmanifest
のファイル名が間違っているという単純ミス。逝ってきます。
exe_no_namae.manifest じゃなくて exe_no_namae.exe.manifest なのね。
ってなわけで今はちゃんとXPのビジュアルスタイルでダイアログが表示されてまする。
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG0296289
NGNGWin2k では WM_ACTIVATEAPP でフックを呼ばないと、他のアプリでの入力後、
フックが切れることがある。が、Win9x でそれをやると100%クラッシュする!!
今回は OS の判定ルーチンを入れて対応しましたが・・・(Win9x では
WM_INITDIALOG でフックを呼ぶようにした)
このような経験された方いらっしゃいます?
0297名無し@沢村
NGNG私はここでコールバックタイマーを使用しろとか、複数トラックのデータをマージしてひとつのデータにまとめろとか、いろいろなアドバイスをいただきました。
でもはっきりいってそんな面倒なことはしたくなかったんです…。
はっきりいって手抜きに近い楽なやりかたで複数トラックをちゃんと演奏する方法を見つけたかったんです。
でもついにその方法が見つかったんです!!
その完璧なルーチンをここに乗せますから、皆様方も楽にmidiシーケンサーをつくるときの参考にしてください、皆々様方〜!
for(i=0;i<=i_Sum_Track[i_longest_Track];i++)
{for(l=0;l<16;l++)
{t[l]=0;
if(CodeCount[l]!=0)
{for(jj[l]=0;jj[l]<Onpu_Index[l];jj[l]++)
{kk[l]=jj[l]*8;
if(i==t[l] )
{
_Multi_Time[l]= timeGetTime();
midiOutShortMsg(hMidiOut, 0xC0+l+ ((i_gattuki[l]) * 0x100));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((7) * 0x100)+((possrider[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((8) * 0x100)+((possrider_b[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((10) * 0x100)+((possrider_s[l]) * 0x10000));
midiOutShortMsg(hMidiOut, (DataCode[l][kk[l]]) + (DataCode[l][kk[l]+1] * 0x100)+(DataCode[l][kk[l]+2] * 0x10000)); // Note On}
t[l]+=DataCode[l][kk[l]+3];
if(i==t[l] ) { while (Play_Tempo(DataCode[l][kk[l]+3])>=timeGetTime()-_Multi_Time[l]);
midiOutShortMsg(hMidiOut,(DataCode[l][kk[l]+4])+ (DataCode[l][kk[l]+5] * 0x100)+(DataCode[l][kk[l]+6] * 0x10000)); // Note Off } }} }}
0298デフォルトの名無しさん
NGNGvisual stdio .NET買ったんですけど
付属のヘルプにすべてのAPIの日本語の解説はあるのですか?
0299デフォルトの名無しさん
NGNG全てはない。
重要と思われるウィンドウメッセージの説明も英語だから注意しれ(w
というか、その為のこのスレか?
0301デフォルトの名無しさん
NGNGmicrosoftのサイトだとは思うんですが、なかなか見つかりません。
0304デフォルトの名無しさん
NGNG限定する事自体は WM_GETMINMAXINFO ですぐにできたんですが、
ウィンドウの角にマウスカーソルを持っていった時にマウスカーソルが
斜め矢印になってしまうのを抑制する事はできないんでしょうか?
0305304
NGNGごめん。自己解決。 WM_NCHITTEST でした。
0306デフォルトの名無しさん
NGNGずっとマウスを押してもスクロールバーが一回しか動きません。
ダイアログで同じことをするとちゃんとずっと動くんですが、、、
ウインドウを作るときになんか追加の設定とかが必要なのでしょうか?
0307デフォルトの名無しさん
NGNGコードを晒せ。
0308デフォルトの名無しさん
NGNGSHGetDesktopFolder()でデスクトップフォルダ(IShellFolder)を取得し、
ParseDisplayNameメソッドでpwszDisplayNameにPathではなくURLを指定しても
ITEMIDLISTが作成可能です。こいつのAttributeを調べてみると、
SFGAO_BROWSABLE が立っています。説明をみると、Folderではないが、
CreateViewObjectメソッドのみ実装されたIShellFolderインターフェース
が取得可能ということ。そこで、こいつの親FolderであるIEフォルダ
(IShellFolder)を作成後、BindToObjectメソッドを使い、問題の
IShellFolderを取得しました。さらにCreateViewObjectメソッドで
オブジェクト(IShellView)も作成することができました。
が、このオブジェクトの正体は何なんでしょうか?
Folderでないためか、CreateViewWindowメソッドは失敗してしまいます。
別のView関連のインターフェースが実装されているのでしょうか?
作成できるということは何らかの使い道があると思うんですが、
MSDNを調べてみてもわかりません。よろしくお願いします。
0309名無し@沢村
NGNGぶぁっはははははーーーっ!!
スクロールバーもまともにつけられない奴がこの世にいたのか!?
ぶぁっはははははーーーっ!!
ぶぁっはははははーーーっ!!
0310デフォルトの名無しさん
NGNGIEコンポじゃないの?
0311でむぱ
NGNGsprintf,memcpyなどは必ずwsprintf,MoveMemoryにするよう
自らはもちろん、周りの連中にも布教しており、Cランタイム関数撲滅に精を注いでおります。
が、悔しいことにmemcmpとatoiだけ同等のAPIが見つからず、泣く泣くCランタイム関数を使わざるを得ません。
こんな私めにWin32APIでこれらと同等の関数があれば、ぜひぜひ教えてくださいまし..
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGmemcmp() -> CompareMemory()
atoi() -> AsciiToInteger()
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGタイトルの記事見るまでマジで意味分からなかった。
0317デフォルトの名無しさん
NGNGCランタイム撲滅には関係ないと思うんだけど
0318デフォルトの名無しさん
NGNGwsprintfは、"The maximum size of the buffer is 1024 bytes. "
な制限があって、昔はまった、、、
今はsnprintf使てます
0319デフォルトの名無しさん
NGNGttp://www.xinada.ne.jp/~handa/tech/#m07
0320デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/columns/secure/secure10102002.asp
単なるインライン関数なんだから .NET Server でしか
使えないわけないんだがMSDNライブラリのRequirementsは
いったいなんなんだ?
0321デフォルトの名無しさん
NGNG0322でむぱ=311
NGNG>>314,315,317 VBのAPIビューアからだとKernel32.dll の各エクスポート関数
(Rtlなになに)を呼んでいるのに、VC++はなぜにmemmove,...にしてしまうんだろ!?
悔しぃ…。
ちなみに、#defineでRtlEqualMemory !memcmp(s,t,l) なんてのもあるんですね。
(WINBASE.H,WINNT.H)
>>318 私もはまりますた。が、懲りずにlstrcatで合成してwsprintfを使っています。
確か書式の指定方法もsprintfと微妙に違うんですよね...
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGmalloc は C 標準関数
大違い
0325デフォルトの名無しさん
NGNGHeapAlloc(GetProcessHeap()) とほぼ同じだが、free() は HeapFree() と違って
ヒープにメモリ領域を返さず、次に呼ばれる malloc() のために取っておく。
GlobalAlloc() はグローバルヒープ (システムヒープ) からメモリを割り当てる。
クリップボードのデータ等、共有の目的で使用する。
共有メモリのためアドレスが定まっておらず、その領域を使うには GlobalLock() で
固定する必要があるが、固定したままだと他のプロセスから使用できない。
Windows 9x では 4 MB 未満のメモリブロックを想定して設計されているので、
それ以上は代わりに VirtualAlloc() を使えとある。
0326デフォルトの名無しさん
NGNGこれってGlobalAlloc、LocalAlloc、HeapAlloc(GetProcessHeap)は全部同じってことじゃないの?
0327デフォルトの名無しさん
NGNG(Win32 では) GlobalAlloc() と LocalAlloc() は全く一緒。
しかし GlobalAlloc() と HeapAlloc(GetProcessHeap) は、HGLOBAL を得る事が
できるかどうかという点で違う。
使い方というか用途もそれぞれ全く違う。
Microsoft が同じだと述べているのは、プロセス内において作業領域としてメモリを
確保した時の事について。
0328326
NGNG「malloc、GlobalAlloc、HeapAlloc(GetProcessAlloc)は確保される場所は同じなんだろ」
ということなんだが…
0329デフォルトの名無しさん
NGNGVirtualAllocから取ってきて、独自分配しても合法
0330デフォルトの名無しさん
NGNG載ってますが、と返してあげるけど。
で、同じだから何だって?
326 の URL にはそんな事全く書いてないし、仮にそうだとしてもそれを知ってて
何か役に立つの?
想像だけど、GlobalAlloc() はグローバルヒープをプロセス空間にマッピング
するためにプロセスヒープを割り当ててるだけで、HeapAlloc(GetProcessAlloc)
と同じように使ってくださいという趣旨ではないんじゃないの?
malloc() は 325 の通りだから HeapAlloc(GetProcessAlloc) よりも速い事も
あれば無駄なオーバーヘッドな事もある。
(重箱の隅をつつけば、326 は malloc() について何も訴えていない)
0331デフォルトの名無しさん
NGNG> 「malloc、GlobalAlloc、HeapAlloc(GetProcessAlloc)は確保される場所は同じなんだろ」
そりゃ x86 プロテクトモードだと、メモリ空間は 32bit フラットだからな。
ただ、ユーザが 32bit フラットなメモリ空間に直にアクセスするのは
1. プログラム書くのが大変
2. OS がリソース配分できなくなる
という問題があるので、まっとーな OS では途中に何階層か用意して、適宜メモリを
切り出して割り当てるようになってる。GlobalAlloc や malloc は、その「階層」の厚み
や中身が違う。
混ぜると core 吐きます。
0332デフォルトの名無しさん
NGNGなるべく使うなといいつつHGLOBALを要求するAPI
(クリップボード関係とか)がある現状をどうにかしてくれ>MS
0333326
NGNGヒープにシステムヒープとかプロセスヒープとかいう違いはないと思ってた。
んで、使われ方は違うがGlobalAllocもHeapAllocも同じヒープ上に確保されると思ってた。
調べてみたが
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_heapmm.asp
にあるように、ヒープには最低1個のデフォルトヒープと呼ばれるヒープが存在しており、
GlobalAllocとHeapAlloc(GetProcessHeap)は両方ともデフォルトヒープ上に確保される。
ちなみに328のmallocはLocalAllocの間違いっす。
0334デフォルトの名無しさん
NGNG独自のヒープでメモリを管理して漏れを防いでもいいかも。
0335デフォルトの名無しさん
NGNGHGROBAL は、クリップボードにデータ渡すのに丁度いいからじゃないか?
API 名がいまいちそぐわないのは気になるけど。
>>333
だからさ、レイヤーというものを理解してくれよ。
http://msdn.microsoft.com/library/en-us/dngenlib/html/heapmm_1.gif
この図を見て、「Local、Global Memory API」 の中で何か特別な事をやっている
とは思わないのか?
>>330-331 に書いてある事をちゃんと理解したか?
>>334
>>329
0336デフォルトの名無しさん
NGNGなるほど、まとめて解放してくれるんですか。便利かもしれませんね。
ふと思ったのですが、malloc/free/new/deleteが実際に使うヒープは
同じでないとまずいですよね。VC同士ならイイんでしょうけど...
0337デフォルトの名無しさん
NGNGマズい可能性がある。
理由はそれだけではないが、ライブラリが確保したリソースはそのライブラリに
解放させるのが定石。
0338デフォルトの名無しさん
NGNGGlobal〜が廃止されてるCEではさりげなくSetClipboardDataの
引数なんかもHLOCALに変更されてるんだよな。
ま、Win32sを除けばHLOCAL==HGLOBALなわけだが
0339でむぱ
NGNG>>334
new して free(),malloc()して delete してみればいいんじゃないの?
確かしいたけアボーンされたと思うけど。
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG世の中、そういうタチの良い malloc/free ばかりでもなく。無条件で、与えられた
アドレスは「malloc によって割り当てられたはず、したがって直前に管理データ
があるはず」とか信じてる free() も存在する。
(管理データ壊して遠からず core を吐くけど、いつ誰がどこで管理データを
壊したのかは分からない_
0342デフォルトの名無しさん
NGNGvcもそうだったと思う
0343デフォルトの名無しさん
NGNGその終了を確実に待つのは、
WaitForSingleObject(pf.hProcess, INFINITE);
ではだめなんですが、どーしたらいいですか?
CreateProcessの第2引数に、"cmd.exe /c xxx.exe"
としています。
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNG何の効果があるんだ?
0347デフォルトの名無しさん
NGNG0348真面目に質問
NGNGネットワークプログラミングの勉強をしている初心者なのですが、今、VisualC++6を使っていますが。
以下のとおり入力したらエラーがでました。
↓
#include <winsock2.h>
.
.
.
WSADATA wsaData;
WSAStartup(2,&wsaData);
(エラー)
リンク中...
Network.obj : error LNK2001: 外部シンボル "__imp__WSACleanup@0" は未解決です
Network.obj : error LNK2001: 外部シンボル "__imp__WSAStartup@8" は未解決です
Debug/Network.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー
Network.exe - エラー 3、警告 0
なぜ、エラーが出るのでしょうか???教えていただけませんか?
すいません、初歩的な質問で・・・。
0349デフォルトの名無しさん
NGNGwsock32.libをリンクしてないんじゃない?
0350真面目に質問
NGNGws2_32.lib をインポートすると言うことでしょうか?
インポートはどうすればいいのですか?
0351デフォルトの名無しさん
NGNGそれくらい自分で調べろよ。
プログラマとしての適性が無いばかりか、人間としての最低限の能力だろ。
0352真面目に質問
NGNGws2_32.lib をインポートすると言うことでしょうか?
インポートはどうすればいいのですか?
0353真面目に質問
NGNGすいませんでした。
解決しました。
プロジェクト→設定→リンクタブ内で、ws2_32.libを追加しました。
まことにすいませんでした。失礼な質問をして・・・。
0354デフォルトの名無しさん
NGNGそれでも、けっかは同じでした。
コンソールアプリは、終了をまってはくれません。
0355デフォルトの名無しさん
NGNG0356sage
NGNGこれはそういうものなのでしょうか?
特に拡大Bltするとページ違反が何百Kにもなるので不安です。
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGちゃんと待つけど。お前のプログラムがへぼいんだろ
0359デフォルトの名無しさん
NGNG何のことを指しているんだ?
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNGちなみにGetDeviceCapsを使うわけだが
0363デフォルトの名無しさん
NGNGこれでもタイトルバーは付いちゃいますよね。
hWnd = CreateWindow(szWindowClass, szTitle, NULL, // ←スタイルにNULL指定
CW_USEDEFAULT, CW_USEDEFAULT, 256, 256, NULL, NULL, hInstance, NULL);
0364bloom
NGNGhttp://www.agemasukudasai.com/bloom/
0365デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG思うのだがどうよ?
0368デフォルトの名無しさん
NGNGコンソールアプリの終了を待ちたい、ということだろうが、ちゃんとできてるぞ。
ちなみに、cmd.exeを通して呼ぶのではないが、その必要性は感じない。
コンソール「アプリ」なんだからな。
とりあえず、コードを晒せや。
CreateProcessとWaitForSingleObjectの引数が重要だ。
0369デフォルトの名無しさん
NGNGGDI? デバドラでは内科医
0370デフォルトの名無しさん
NGNGデバイスドライバがエミュレートするならば、デバイス未対応とは言わない。
GetDeviceCaps() に応答するのはハードウェアではなくデバイスドライバ。
つーか、367 はユーザープログラムにいちいち GetDeviceCaps() させるような
作りは間違っているという話じゃないのか?
0371デフォルトの名無しさん
NGNG未対応つーともっと凶悪なの見たことあるぞ
RC_STRETCHBLTが真になるのにStretchBltがずっこけるプリンタとか
0372age
NGNG0373デフォルトの名無しさん
NGNG0374356
NGNGBeginPaint()で取ったHDCにもRC_STRETCHBLTが
効いてないようでした。StretchDIBits()もダメ。
BitBlt()はOKですが・・・。
結局DirectDrawのBlt()で拡大したら、ページ違反が
出なかったのでこれでいこうかと思います。
0375
NGNG一度に描画するピクセル数を減らすとかすればよいのかな。
0376デフォルトの名無しさん
NGNGでした。教えて頂けそうな所を探していた所、専門的なこのスレッドを
見つけましたので、ここで質問させていただきます。
C言語でコンソールにsetpixel関数での描画の仕方がわかりません。
別にウインドウを開いてやるのは、やり方だけはわかるのですが
コンソールのほうに応用はできません。下に書いた感じだと思うのですが。
お教えお願いします。
#include <windows.h>
int main(void)
{
HWND hWnd;
HDC hDC;
hWnd=?
hDC=GetDC(hWnd);//描画準備
SetPixel(hDC,100,100,RGB(255,255,255));//描画
ReleaseDC(hWnd,hDC);//描画終了
return 0;
}
0377デフォルトの名無しさん
NGNGFindWindowはエロいからちょっとおすすめできない
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNGのセグメントからいじれ
0380デフォルトの名無しさん
NGNGスレ違い
しかもいまどきそれで絵が書ける機種(PC-9800シリーズ
なわけだが)がどれだけあるんだ?
0381デフォルトの名無しさん
NGNG哀れな376をからかうための。
だいたい>>376よ、
お前はWindowsプログラミングの基礎がわかってないぞ。
出直してこいや。
0382デフォルトの名無しさん
NGNGイタタ
0383デフォルトの名無しさん
NGNGタブが2つ以上じゃなくて、タブコントロール自体を2個以上配置したいのですが。
やはり、タブコントロールごとに子ウインドウを作って、その上にタブコントロールを
置くしかないんでしょうか?
0384デフォルトの名無しさん
NGNGすきなだけ配置すればよいと思うのだが出来なかったか?
0385デフォルトの名無しさん
NGNGタブが選択されたときの全てのWM_NOTIFYが全部同じ親ウィンドウに行ってしまうので
判別ができないんですよ。
0386デフォルトの名無しさん
NGNGはどうなった。
0387デフォルトの名無しさん
NGNGDelphi使えばこんなくだらないことではまらなくてすみますよ。
0388デフォルトの名無しさん
NGNGスレ違いは芯でくれ
0389デフォルトの名無しさん
NGNGこれ見ても意味分からなかったらDelphi/VBでも使っとけ。
WM_NOTIFY:
{
NMHDR* nmhdr=(NMHDR*)lParam;
switch (nmhdr->idFrom) {
case IDC_TABCTRL1:break;
case IDC_TABCTRL2:break;
}
}
0390デフォルトの名無しさん
NGNGWM_SIZEでウインドウAのサイズを変えたときに子ウインドウの位置・サイズもMoveWindowで
かえてるんだけど、ドラッグしてサイズ変更してるときとかはウインドウがちらついてしょうがない。
MFCで作られたやつはサイズ変更してもほとんどちらつきは無いけど、こういうのってどうやって
SDKレベルで実装すればいいんですか?
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNGサンクス。試してみます。
0394デフォルトの名無しさん
NGNG通常のソフトの様に表示させようと思って、
色々試したのですが、SetWindowLong SetWindowPos等を
使ってみたりしても、変更できず、色々探したのですが、
あまり有益な情報が出てこなかったので、どなたか、
何かヒントでもあれば、教えて下さい。
0395デフォルトの名無しさん
NGNGデバイスリセットしないと無理だよ?
第一ソフト側で切り替えられないなら
フルスクリーン依存の処理ばっかりだろうし。
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGLPSTR lpsCmdLine, int nCmdShow)
{
MSG msg;
if (!hPrevInstance) {
if (!InitApp(hInstance))
return FALSE;
}
if (!InitInstance(hInstance, nCmdShow)) {
return FALSE;
}
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
上記のプログラムをビルドすると
「error C2275: 'MSG' : typedef 識別子に、クラス メンバ アクセス演算子 (->) を使用しました。」
となってしまうのですが、なぜでしょうか?
ファイル名を「prog.cpp」にするとビルド出来るのですが「prog.c」にするとエラーになってしまうのですが。
0398デフォルトの名無しさん
NGNGどのAPIを使えばいいのでしょうか?
0399デフォルトの名無しさん
NGNG行番号見てるか?
0400デフォルトの名無しさん
NGNGどのようなAPIを使えばいいのでしょうか?
0401デフォルトの名無しさん
NGNGAppBarでぐぐる
>>400
WinSock
0403デフォルトの名無しさん
NGNG<!--[if gte IE 5 ]>
<link rel="stylesheet" type="text/css" href="style.css">
<![endif]-->
の IEのバージョンを詐称するやり方知りませんか?
IMarkupTextFrags や IMarkupPointer あたりを使うのかと思いきや、
どっからこのInterfaceを取得してよいのかわからん・・・
0404デフォルトの名無しさん
NGNG「Windows ソケット通信」でボロボロ出てきたけど?
0405デフォルトの名無しさん
NGNGほー、「Windows ソケット通信」でAppBarについて出てくるのか。
0406404
NGNG( ´_ゝ`) すまなかった
0407デフォルトの名無しさん
NGNGVMWare って DirectX 動いたっけ?
0408デフォルトの名無しさん
NGNGこちらをどーぞ。
http://www.networld.co.jp/products/vmware/faq/ws_video-sound.htm
あぁVMwareほしい・・・。高い・・・。
0409デフォルトの名無しさん
NGNG何が原因かwかったら教えていただきたいのですが・・
bool __fastcall TWinSock::Open( void )
{
WORD vr = MAKEWORD(1, 1);
WSADATA wd;
// 初期化
if( ::WSAStartup( vr, &wd ) ) return false;
// ソケット作成
if( (SocketHandle = ::socket( PF_INET, SOCK_STREAM, 0 )) == INVALID_SOCKET ){
::WSACleanup( );
return false;
}
// 接続
struct sockaddr_in sa;
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr("192.168.1.22");
sa.sin_port = htons(1);
::ZeroMemory( sa.sin_zero, sizeof( sa.sin_zero ) );
if( ::connect( SocketHandle, (struct sockaddr *)&sa, sizeof( sa ) ) == SOCKET_ERROR ){
Close( );
return false;
}
return true;
}
0410デフォルトの名無しさん
NGNGつか、ちゃんと相手はいるのか?
0411デフォルトの名無しさん
NGNGどんなエラーか書かんかい。
0414デフォルトの名無しさん
NGNGっちゅーても、ただの使用率じゃなく、指定した優先順位以上のプロセスの使用率。
たとえば、distributed.net に参加してたりすると常に100%近いですが、タスクマネージャで見ると基本優先度は「低」ですよね。これを引いた値を知りたいんです。
通常のプロセスの動作に影響を与えるCPU負荷を取得する方法を探してます。
0415デフォルトの名無しさん
NGNG(゚Д゚)ハァ? 何を引くの?
優先度はタスクスケジュールのパラメータで
CPU使用率とは直接関係ないと思うのだが?
0416414
NGNG全タスクの内、指定した基本優先度以上のタスクのCPU使用率を知りたいんです。(最初からそう書け?)
ソースのイメージでは以下のような感じ。
CPU使用率 = 0;
for(i = 0; i < タスク数; i++){
if(タスク[i].基本優先度 >= 通常){
CPU使用率 += タスク[i];
}
}
0417デフォルトの名無しさん
NGNG移動って、同一ドライブなら(コピーが発生せずに)一瞬で終わって
しまいますが、どういう仕組みなんでしょうか?
あれと同じ事をプログラムから行いたいんですが・・。
0418デフォルトの名無しさん
NGNGMoveFile()
0419417
NGNGやってみます。
0420デフォルトの名無しさん
NGNG192.168.1.22の1番のポートにつないでるけど、
ちゃんとそっちでaccept呼んでる?
0421デフォルトの名無しさん
NGNGノートンを窓から投げ捨てろに3port
0422デフォルトの名無しさん
NGNGSetWindowRgn(handle, HRGN, 1);
この HRGN はすぐに DeleteObject してしまっても良いのでしょうか?
MSDN には
The operating system does not make a copy of the region.
Thus, you should not make any further function calls with this region handle. In particular, do not close this region handle.
とありますが、ネットでサンプルを検索してみると削除してしまっている人が結構いますので・・・
英語に自信がないのでもしかしたら解釈が間違っているのかと・・・
0423デフォルトの名無しさん
NGNG日本語MSDNより(SetWindowRgn)
SetWindowRgn 関数が成功すると、オペレーティングシステムは、
パラメータ hRgn で指定したリージョンを所有します。
リージョンのコピーは作りません。
したがって、以後、このハンドルを使用したり解放したりしないようにしてください。
ということで俺は律儀に保有してるよ。
0424422
NGNG削除してもちゃんと動いているように見えるので調べてみて混乱したわけですが
わたしも残す事にします
423さんありがとうございました
0425デフォルトの名無しさん
NGNGSetClipboardData( CF_TEXT, hmemText );
の hmemText は解放して良いのでしょうか?
MSDN には
"The application can read the data, but must not free the handle or leave it locked until the CloseClipboard function is called."
と書かれているので解放できそうなのですが
ネットでサンプルを探すとたいていは「解放してはダメ」と注意書きがしてあります。
これはいったいどういうことなのでしょうか?
0426デフォルトの名無しさん
NGNGほう、「開放できそう」、ね
0427デフォルトの名無しさん
NGNGとも書いてあるわけだが。
0428デフォルトの名無しさん
NGNGuntil the CloseClipboard function is called
0429デフォルトの名無しさん
NGNG英語見る限り別に解放しても問題ないじゃんか
CloseClipboard()呼んだ後なら...
0430デフォルトの名無しさん
NGNGアプリケーションが終了する時にメモリエラーが発生するに100モナー。
日本語版から:
SetClipboardData を呼び出した後で、システムは、hMem パラメータで指定されたオブジェクトを所有します。
アプリケーションはデータを読み取れますが、CloseClipboard 関数を呼び出すまでは、
そのハンドルを解放することや、ロックし続けることを避けなければなりません。
(CloseClipboard を呼び出した後も、アプリケーションはそのデータにアクセスできます。)
hMem パラメータがメモリオブジェクトを指している場合、そのオブジェクトは、
GMEM_MOVEABLE フラグを指定して GlobalAlloc 関数で割り当てたものでなければなりません。
0431デフォルトの名無しさん
NGNG解放(GlobalFree)って、すなわちクリップボードの破棄になる?
っていうかクリップボードを明示的に破棄したい場合ってどうするの?
0432430
NGNG0434デフォルトの名無しさん
NGNGクリップボードのデータは残るから、GlobalFree
してもいいんじゃないかな。
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGSetClipboardData の場合は問題ないんじゃない?
俺はエラー起こったことないけど…
0437デフォルトの名無しさん
NGNGttp://www.hidecnet.ne.jp/~sinzan/tips/win/win_tip04.htm
今の MSDN の記述からすれば解放はできそう。
0438デフォルトの名無しさん
NGNG・ストローク(一本の線)の数
・一本のストロークに含まれる座標点(x,y座標)
・一本のストロークに含まれる座標点の数
を変数に保存しておきたいのですが、
typedef struct{
int PCount;//ストロークの座標点の個数
POINT SPoint[1000]//ストロークの座標点;//1000個決め打ち
} SPOINT;
typedef struct{
int SCount;//ストロークの数
SPOINT Stroke[1000];//同様に1000個決め打ち・・・
} STROKE,*PSTROKE;
STROKE a;
今はこんな感じの構造体作ってやってますが、もっと良い方法はないものかと思いまして。
特に構造体の確保やストロークの座標点などは動的にメモリに確保する方が良さそうですが。
Win32SDK+VisulaCで開発しています。
0439デフォルトの名無しさん
NGNGtypedef struct _STROKEPOINT{
list<POINT> list_point//ストロークの座標点の履歴
} STROKEPOINT;
typedef struct _STROKE{
list<STROKEPOINT> list_strokePoint;//STROKEPOINTの履歴
} STROKE,*PSTROKE;
0440デフォルトの名無しさん
NGNGstd::vector/list
0441デフォルトの名無しさん
NGNG一応突っ込んどく。
びじゅらC
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNGtypedef struct{
int PCount;//ストロークの座標点の個数
POINT* SPoint;//ストロークの座標点;//1000個決め打ち
} SPOINT;
typedef struct{
int SCount;//ストロークの数
SPOINT* Stroke;//同様に1000個決め打ち・・・
} STROKE,*PSTROKE;
にしてmallocとかで確保すりゃ良いんじゃないの?
そもそもなんで固定長にしたんだ?
ただ、>>439みたくリスト構造にして管理する方がベターかもな。
0444デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNGまあ、相手はマウスだからな(w
メモリコピーのコストもそれ程気にならないだろう。
0447デフォルトの名無しさん
NGNGいずれにせよ、コンテナが使えるような状況で自分でリスト構造を書こうとするのは
漏れはイヤだったらイヤだ。
0448名無し@沢村
NGNGそれはmidiファイルの読み込みだが、自分で保存したmidiファイルは難なく読み込めるわけよ。
だが、他のmidiシーケンサーで作ったmidiファイルは、ちゃんと読み込めるものと、読み込んで鳴らすとチンドン屋みたいな音になってしまうものとが出てくるわけよ。
ま、ほとんどのmidiファイルはチンドン屋みたいになってしまって、ちゃんと読み込めるものはほんの少しだわな…。
皆々様方〜、私はこの原因を分析した結果原因らしきものを突き止めたわけよ。
それはノートノンやオフのステータスバイトってあるだろ?90や80よ。
それを省略して本来90407F7Fみたいにするところを407F7Fと省略するだろ?
で続けて書くと90407F7F407F7Fになるわな…。
それでデルタタイムというのもあるだろ?
デルタタイムは1バイトから4バイトまでの可変長になっていて、1バイトだったら、例えば90407F7Fになるが、もし4バイト
だったら、例えば90407F7F407F7Fになるだろ?
そうすると90407F7Fに続く407F7Fがステータスバイトが省略されてのノートオンのメッセージなのか、デルタタイムなのか区別がつかんわけよ。
どちらも7F以下で同じだしな…。
皆々様方〜、90407F7Fに続く407F7Fがステータスバイトが省略されてのノートオンのメッセージなのか、デルタタイムなのか区別する方法を教えてくださらんか〜皆々様方〜♪
ぜひお願いします♪
私はいま最後の壁にぶち当たっているのですよ!!!
0449デフォルトの名無しさん
NGNGノイズ多過ぎ
0450デフォルトの名無しさん
NGNGNT系だと無害そうに見えるが9xで破局する
0451デフォルトの名無しさん
NGNGAPIと関係ない。
0452デフォルトの名無しさん
NGNGお前マジでうざいよ
寒いんだよ。
0453デフォルトの名無しさん
NGNGスレ違いだとは思うけど・・・それと、その口調やめれ。んで、だな。
デルタタイムはすべてのメッセージの前に付く。
デルタタイムの後に、ランニングステータスバイトが、あるか、ない。
その後に、ノートの音階とかベロシティが来る。
その後は、またデルタタイムが来て、その後にランニングステータスバイトがあるかもしれないしないかもしれなくて、その後に音階とかベロシティが来る。
んで、またデルタタイムが来て、・・・って感じ。デルタタイムはすべてのメッセージの前に必ずある。わかった?
0454438
NGNG私はC++は使ったことがなかったのでそのような方法は気が付きませんでした。
もっと勉強しなければ・・・。
0455デフォルトの名無しさん
NGNGまずは自力でリスト作って理解したほうがいいと思うのだが。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG禿同
表面だけ学んでも、ねぇ。
0458438
NGNG0459デフォルトの名無しさん
NGNGメニューが出ていた場合に、その矩形領域を取得するにはどうしたら良いのでしょう?
クライアント領域に表示している画面イメージを取得しているのですが、他のアプリ
のウィンドウがその上にある場合には、その部分のイメージを取得したくないので
クライアント領域をクリップして、子ウィンドウのクリッピング領域をCombinRgnでOR
をとった上でイメージを取得しているのですが、
メニューに隠れた領域が、隠れた領域が、真っ黒になってしまいます。
トップレベルのウィンドウの子ウィンドウのクリップ領域もORをとってみたのですが、
症状は変わりません。そもそも、メニューからウィンドウハンドルが取れるのか
どうかも知らないヘタレです。
出来れば、くオーナードロウなどには手を出したり、メニューを出す部分に手を加えたくありません。
よろすくおながいすます。
0460デフォルトの名無しさん
NGNG隠れた領域は実際に何も描かれてないのだから無理。
0461デフォルトの名無しさん
NGNGメニューに関しては、メニューに隠れた部分が真っ黒になるのではなく、
メニューのイメージを含んで取得したいのです。
0462デフォルトの名無しさん
NGNGポップアップメニューのウィンドウクラスは "#32768" なので
HWND hwndMenu = FindWindow( "#32768", NULL );
とやればメニューのウィンドウハンドルは取れるかも。
ただ、普通に
> クライアント領域に表示している画面イメージを取得
したのなら
> メニューに隠れた領域が、隠れた領域が、真っ黒
にはならずにメニューが取得されるはず。
具体的に何がやりたくて、どう実装してみたのかが知りたい。
0463デフォルトの名無しさん
NGNGHHOOK hHookMessage = SetWindowsHookEx(WH_CALLWNDPROC, (HOOKPROC)CallWndProc, DLLLocal::hInstance, NULL);
これで、MouseProc にはちゃんと制御が行って、CallWndProc には制御が全く来ないという
状況なのですが、原因わかる人いますか?
ちなみに、SetWindowsHookEx() そのものは両方とも成功しているっぽいです。
0464ヘタレ459
NGNGありが�d。
昨日帰り道で同じ事を思いついて、今朝着てやって見たところ、思ったとおりに出来ました。
やりたいことは、あるウィンドウのクライアント領域のイメージを取りたい。
ただし、他のアプリケーションのウィンドウと重なっている部分は除く。
ただし、自分のメニューで隠れている部分は、メニューのイメージを表示する。
できあがったのは、こんな↓感じです。なにかおかしな点、改善点があったら何でもWelcome。
(つづく)
0465ヘタレ459
NGNG{
HRGNclipRgn = (HRGN)lParam;
HRGNrgn = ::CreateRectRgn(0, 0, 0, 0);
HDCDC = ::GetWindowDC(hWnd);
::GetRandomRgn(DC, rgn, SYSRGN);
::CombineRgn(clipRgn, clipRgn, rgn, RGN_OR);
(void)::DeleteDC(DC);
(void)::DeleteObject(rgn);
return TRUE;
}
...
clipRgn = ::CreateRectRgn(0, 0, 0, 0);
::GetRandomRgn(DC, clipRgn, SYSRGN);
::EnumChildWindows(m_hWnd, EnumChildWindowsProc, (LPARAM)clipRgn);
hWndMenu = ::FindWindow(_T("#32768"), NULL);
if (menuWnd != NULL) {
::GetWindowThreadProcessId(menuWnd, &pid);
if (pid == GetCurrentProcessId()) {
HDC DC = ::GetWindowDC(menuWnd);
HRGN rgn = ::CreateRectRgn(0, 0, 0, 0);
::GetRandomRgn(DC, rgn, SYSRGN);
::CombineRgn(clipRgn, clipRgn, rgn, RGN_OR);
(void)::DeleteDC(DC);
(void)::DeleteObject(rgn);
}
}
::GetDCOrgEx(DC, &org);
(void)::OffsetRgn(clipRgn, -org.x, -org.y);
...
0466デフォルトの名無しさん
NGNGCallNextHookEx()してないとか。
0467463
NGNGレスありがと。
でも、CallWndProc が呼ばれてないので CallNextHookEx() しようがないんですが・・・。
それとも、別の常駐プロセスがポカしてる可能性もあるって事ですか?
他にフックしてそうなプロセスがあるわけでもないのですが・・・。
ちなみに、WH_CALLWNDPROC の代わりに WH_CALLWNDPROCRET や WH_GETMESSAGE
を指定しても同様でした。
0468デフォルトの名無しさん
NGNGhttp://
telnet://
ftp://
などとやった場合、そのプロトコルに応じた処理を行うけれど、
自分でそれを実装する場合にはどうすればいいの?
例えば、
xyz://
とやりたいんだけれど
0469デフォルトの名無しさん
NGNGのマネをすりゃいいんじゃないの?
よく知らないけど。
0470デフォルトの名無しさん
NGNG早速のレスthx!
ちょっと見てみたけれど、例えばftpみたいに結果を改めてブラウザに表示するには
どうすればいいんだろう?
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGありがとう。調べてみる。
0473デフォルトの名無しさん
NGNGちなみに、今の私の現状は、EDITで作って、CTL_COLOREDITメッセージで、文字の背景を透過にしてから、画像のブラシを返したところ、画像が更新されず、昔書いた文字が消えなかった。
行き詰ったので、RICHEDITに乗り換えてみたところ、文字の背景の透過自体を受け付けてくれない気がする。さらに、画像のブラシを返すような関数が今のところ見つからないという状況です。
0474デフォルトの名無しさん
NGNG自作関数を呼ぶようにすることは可能ですか?
0475デフォルトの名無しさん
NGNG可能。
0476デフォルトの名無しさん
NGNGMouseProcで。なに寝ぼけてるんだ?
0477デフォルトの名無しさん
NGNGその目的に近い動作をしているアプリをSpy++
0478デフォルトの名無しさん
NGNGCreateBrushIndirectとかで作ったブラシを
WM_CTLCOLOREDITの戻り値として使いたいってこと?
0480デフォルトの名無しさん
NGNG0483名無し@沢村
NGNG//ネットワークに流れるデータを受信する
recive(data);
//データがATMのときは
if(data==ATM)
//1億円を自分の口座に振り替える。
sendmoney(100000000)from(anybank)to(mybank);
0484473
NGNG説明が悪かったですね。WM_CTLCOLOREDITで、返り値にブラシは返せましたし、画像は表示されました。
文字の背景を透過させることで、画像の上に文字も載せられました。
でも、一度表示された文字が消えないという問題が出ました。
例えば「nnnn」という文字書いて、ウインドウをスクロールさせると、
nnnn
nnnn
nnnn
nnnn
という風にディスプレイには表示されてしまうのです。
とはいえ、文字データ自体が増えている訳ではないので、画面の更新さえすれば何とかなると思ったのです。
しかし、WM_PAINTで画面全体をBITMAP画像で更新するという方法も試したのですが、昔に書いた文字が消えてしまうという問題が出てきました。
昔書いた文字データを、記憶はしているようなのですが、古いデータはWM_PAINTでの画面の更新には反応しないという仕様のようです。
RICHEDITも今ひとつ見通しが立ちません。
もしかすると、全て自作の関数で作るべきなのかもしれないと考えているところなのですが、
どの様な方法で実現できるのか、アドヴァイスをいただけませんでしょうか?
0485デフォルトの名無しさん
NGNG0486484
NGNGそれも一度試したのですが、結局WM_PAINTが呼ばれるだけですよね。
たぶん、EDITの文字の更新はWM_PAINTを通してないと思うんです。
昔書いた文字が何故か更新されないという問題が結局残るんですが。
0487478
NGNG自分もEDITをサブクラスして、
入力補完もどきを作ってみた事があるが、
どうやらGetDCして書き換えてるみたい。
>>文字の背景を透過させることで、画像の上に文字も載せられました。
SetBkMode使ったの?
だったら、EDITクラスの関知しないところだから、
自前で更新してやるしかない。
嫌な方法だけど、RedrawWindowとかMoveWindowは試した?
0488486
NGNG今夜にでもやってみます。
でも実はEDITクラスでは多種の文字の色とかを混在できないっぽいので、
最近はRICHEDITに走ろうとしてるんです。
でも、RICHEDITにはSetBkModeが通用しない様なんですが、無理なんでしょうか?
それとも、通知メッセージのマスクがかかっているって、「猫でもわかる・・・」にあったんですが、
それに引っ掛かっているんでしょうか?
0489486
NGNGちなみに、ソースと実行ファイル(色々試した跡があって、ソースは見にくいです。)↓
http://longhair-k.hp.infoseek.co.jp/data_html/text/Program/KoumeEditer/KE_001.exe
まだスクロールには弱い。
スクロールでの描写はまだやった事ないので調べてみます。
0490478
NGNG過去自分もEDITクラスで色々やったが、意味不明な挙動が多々あった。
悪い事は言わないからやめとけ。
自前でクラス作った方が話が早い。
ただし、バッファ管理、描画処理等プログラミングの醍醐味満載だけどな。
0491デフォルトの名無しさん
NGNG外部プロセスからのが捕捉できないんだけど・・・。
0492478
NGNG0493491
NGNGそれでも結局 Get/SetWindowText() と一緒という事でつか?
0494478
NGNGSpy++で呼ばれるウィンドウのメッセージ見てみて。
まさかメッセージループで捕まえようとはしてないよね?
0495478
NGNGΣ(゚д゚lll)ガーン
そーしてまつた・・・。
どうするの? フック?
MSDN には何も書いてないみたいだけど・・・。
Spy++ で見ると、「自分の知らないところ」 が応答しているように見えまつ。
0496478
NGNG指定されたウィンドウが、呼び出し側スレッドが作成したものであった場合、
そのウィンドウのウィンドウプロシージャがサブルーチンとして即座に呼び出されます。
指定されたウィンドウが、他のスレッドが作成したものであった場合、
システムはそのスレッドへの切り替えを行い、
次に適切なウィンドウプロシージャを呼び出します。
複数のスレッド間で送信されたメッセージが処理されるのは、
受信側スレッドがメッセージ取得コードを実行したときだけです。
送信側スレッドは、受信側スレッドがメッセージの処理を終えるまで、
ブロックされます(待機状態になります)。
だから、自前のクラスでなかったらサブクラス化しれ。
0497491
NGNG>>496
ごめんなさい、メッセージループとウィンドウプロシージャを混同してました。
自分で RegisterClassEx() したウィンドウなんですけど、ウィンドウプロシージャに
他プロセスからのメッセージが飛んでこないです。
(自プロセスからのメッセージは捕まえられまつ)
なのに、他プロセスから WM_SETTEXT すると Spy++ で見れるウィンドウテキストが
変化するので、「自分の知らないところが応答しているように見える」 状態なんです
けど・・・。
0498478
NGNG(知ってるとは思うけど・・・
ウィンドウリストの該当ウィンドウ上で右クリック->メッセージ)
0499デフォルトの名無しさん
NGNG何か、OS 再起動したらちゃんと動いてくれるようになったよ・・・。
振り回してごめんなさい。
しかし、再起動で直るって事は、どっかメモリ壊してるんだろうか・・・、、
Spy++ のメッセージウィンドウでもちゃんと WM_GET/SETTEXT の S と R が
確認できますた。
でも、外プロセスからでもテキストの取得をちゃんとできるのに、Spy++ に表示
されてるウィンドウテキストが "" のままだけど、これはいいのかなあ?
0500478
NGNG0501491
NGNG長々とありがとございますた。
0502デフォルトの名無しさん
NGNG仮想スクリーン全体ではなく実際に表示されるピクセル数を
取得できる API はありませんか?
例えば、1024x768 の LCD で 1280x1024 の仮想スクリーンを使っている
場合、1280x1024 ではなく、1024x768 を取得したいのです。
GetDeviceCaps ではできないようなので困ってます。
0503デフォルトの名無しさん
NGNGあたりで取れないのかなーなんて見ていたら
GetSystemMetrics( SM_SLOWMACHINE )
なんてのを見つけました。これが TRUEとなるマシンってどんなんですか?
くだらない質問なんですけど。
0504デフォルトの名無しさん
NGNG漏れは
GetSystemMetrics(SM_CXSCREEN)
GetSystemMetrics(SM_CYSCREEN)
を使ってるよ。
0505デフォルトの名無しさん
NGNGThe return values (bit flags) are:
0x0001 - CPU is a 386
0x0002 - low memory machine (less than 5 megabytes)
The following is notable for video:
0x0004 - slow (nonaccerated) display card
0506デフォルトの名無しさん
NGNG486 マシンでも、それが TRUE になったのを見た事が無い。
0507デフォルトの名無しさん
NGNGそりゃそうだ
灯台元、、、
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG・
どのれす?
0510コロ助
NGNGサーバーにHTTP接続を試みているのですが、うまく接続できません。
ソース
sock[n]=socket(AF_INET,SOCK_STREAM,0);
if(WSAAsyncSelect(sock[n],hW,SM_ASYNC,FD_CONNECT|FD_CLOSE|FD_READ|FD_WRITE))
lpServEnt = getservbyname("http", "tcp");
if(lpServEnt==NULL)
{
ser.sin_port=htons(80);
}
else
{
ser.sin_port=lpServEnt->s_port;
}
lpHostEntry=(LPHOSTENT)bufHostEnt;
ser.sin_family=AF_INET;
ser.sin_addr=*((LPIN_ADDR)*lpHostEntry->h_addr_list);
if(SOCKET_ERROR!=connect(sock[n],(LPSOCKADDR)&ser,sizeof(SOCKADDR_IN)))
HTTPだと駄目なのですが、SMTPやFTPならうまく接続できて、データも転送できます。
なぜ、HTTPだけ接続できないのでしょうか?
0511コロ助
NGNGあと、
if(WSAAsyncSelect(sock[n],hW,SM_ASYNC,FD_CONNECT|FD_CLOSE|FD_READ|FD_WRITE))
の部分は、訂正して、
WSAAsyncSelect(sock[n],hW,SM_ASYNC,FD_CONNECT|FD_CLOSE|FD_READ|FD_WRITE);
ifは無しということで・・・・。
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG>>コロ助
0514デフォルトの名無しさん
NGNGser.sin_zeroをゼロで初期化してやればいいんじゃない?
0515デフォルトの名無しさん
NGNGデフォルトの背景ではなく、過去に選択された回数によって、
背景の色を変えたいのですが、いくつか問題があります。
オーナードローで書くとなると、文字まで全部自分で書かないといけないので大変すぎます。
また、項目によって、色を変えるための情報をどこに入れたら良いのかもわかりません。
ListView_SetItemStateで設定できるのも少ないです。
グローバルにしてしまうと、更新タイミングで値が狂うのでだめです。
どうしたらいいでしょうか。
0516デフォルトの名無しさん
NGNG0517名無し@沢村
NGNGそれは画面のちらつきについてだが、私は最初WM_PAINTメッセージの中でペイントしてInvalidateRectで再描画するという方式だったのよ。
でもこれだとどうしても画面がちらついてしまうので、WEBで検索してダブルバッファ方式を採用したのよ。
この検索したページのダブルバッファ方式というのは裏画面にCreateCompatibleBitmapでビットマップをつくっておいて、
描画はすべて裏画面におこない再描画するときは裏画面のビットマップを表画面に転送するというものなのよ。
これでとりあえずは全然ちらつかなくなったのよ。
でもこれだと多分モニターかグラフィックボードの性能が悪いためだと思うけど、10秒くらい放っとくと突然画面にちゃんと色が出なくなってしまうのよ。
でも他のソフトなんか画面はちらつかないし、何時間やっても画面の色が出なくなることはないので、もっとうまいちらつき防止策をやっているはずなのよ。
まあ、WM_PAINTメッセージの中でペイントしてInvalidateRectで再描画しても10秒とまではいかないが、5分ほどで画面の色が出なくなってはいたわな…。
おそらくBITBLTを多用したためだという節が臭いわな…。
皆々様方〜、性能がボロっちいモニターやグラフィックカードでも他のソフトみたいに画面の色が出なくなったりしないいい方法を教えてくださらんか〜、皆々様方〜、お願いします〜♪
0518デフォルトの名無しさん
NGNGcompatibleDC
0519デフォルトの名無しさん
NGNGセーフモードで動かしてみるべし。それでだめなら性能がボロだからではなく、あんたのプログラムがおかしい。(たぶんリソースの解放漏れ)
0520名無し@沢村
NGNG皆々様方〜、その原因というのはブラシとペンを多用しすぎていたためじゃ〜!
試しにブラシとペンをうんと減らしてみたら突然色が出なくなることはなくなった…。
ただ、あまり減らしすぎたんで、今度は画面のみてくれがしょぼくなってしまった…。
なんとかしょぼさを最低限に食い止めるためには、どうしてもあとひとつペンヲ増やす必要があるのだが、増やして大丈夫だろうか?
また突然色が出なくなったりしないだろうか?
皆々様方〜、ブラシとペンはいつくまでつくっても画面がおかしくならないか、教えてくだされ〜、皆々様方〜♪
0521デフォルトの名無しさん
NGNGちゃんと使ったら解放してるか?GDIオブジェクト。
0522デフォルトの名無しさん
NGNGリソースメータ起動させて、様子見ながらやれよ。
0523名無し@沢村
NGNGブラシ2、ペン4に増やしてみたところ、長持ちはするが、やはり5分くらい再描画を繰り返すと、
突然画面に色が出なくなってしまうのよ。
どうもブラシ2、ペン3というのが、画面の色が出なくならないリミットらしいが、これだとあまりにしょぼすぎて完成作品がイヤになるわけよ。
どうしてもブラシ2、ペン4に増やしたいんだがなあ…。何かいい方法ない?
ところでリソースメータって何?フリーでありますか?それはどこからダウンロードできるのですか?
0524デフォルトの名無しさん
NGNG>>521を無視した理由は?
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG?
0527名無し@沢村
NGNGGDIオブジェクトというのは知らんが、GetDCで得たDCはReleaseDCしてるし、
BeginPaintで得たDCはEndPaintしてる。
裏画面用のmemDCは複数の関数で使うからグローバルにして、WM_DESTROYメッセージの中でDeleteDCしてる。
ペンとブラシのハンドルもDeleteObjectしてる。
これですべてだが、あと何かぬかりない?
また
0528デフォルトの名無しさん
NGNG忘れているに400デュカーティ
0529名無し@沢村
NGNGというのもリソースメータがアクセサリーの中に入っていたのを偶然発見しさっそく起動させて監視してみたところ、システムリソースとGDIリソースというのが見る見る少なくなっていくのがわかったからよ。
というのも私はファイルのデータの数だけforループさせてその分だけBITBLTで描画しているため何千回、何万回とBITBLTを使って広大な領域に描画していることになるわけよ。
何か常識で考えても何千回、何万回とBITBLTを使ったら画面がおかしくなりそうな気がしてきたわけだが、何千回、何万回もBITBLTを使って広大な領域に描画したら画面がおかしくなりますか?
教えてくだされ〜、皆々様方〜♪
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNG普通だと思うんだが、いかんせん書き方がウザイな。
>>529
テストするだけのプログラムを作って挙動を確かめては?
0532デフォルトの名無しさん
NGNG>DeleteObjectのまえにSelectObjectで指定をはずすのを
>忘れている
0533デフォルトの名無しさん
NGNGDeleteObject()に渡すハンドルの値と、その返り値を見てみろ。
0534名無し@沢村
NGNGSelectObjectで指定をはずすとはどういうことですか?
それはどうやるのですか?
0535デフォルトの名無しさん
NGNGSelectObjectの返り値は何のためにあると思ってんだ…
0536デフォルトの名無しさん
NGNGSelectObject(hdc, (HGDIOBJ)rand());
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNG1度目をクリックしてから2度目をクリックするまでに
ダブルクリックとみなされるポインタ移動量の許容範囲を知りたいのですが、
調べることのできる関数ってないですか?
0539デフォルトの名無しさん
NGNGGetSystemMetrics()
0540デフォルトの名無しさん
NGNGペンもブラシも、デバイスコンテキストに選択したままだと削除できんから。「最初に選択されていたペン」「最初に選択されていたブラシ」を選択し直せば、選択解除される。>>535も参照
0541デフォルトの名無しさん
NGNGどこでダウンロードできますか?
教えてください
0542デフォルトの名無しさん
NGNG0543538
NGNGありがとう!
わかりました!
0544デフォルトの名無しさん
NGNGMXにwindowsっていうのがあるからそれ落とせ
0545デフォルトの名無しさん
NGNG各アイテムの文字列を取得しようとしたところうまくいきませんでした。
通常のアプリケーションにあるドロップダウンの場合には、正しく
取得できるのですが、IEのドロップダウンだと文字化けしたような
ものが返ってきます。
以下のようにSendMessage()で取得しようとしています。
SendMessage hWnd, CB_GETLBTEXT, idx, str
hWndはドロップダウンのハンドル、idxは取得したいアイテムの
インデックスを指定しています。
ドロップダウンは以下のような<SELECT>タグでできるやつのことです。
<select>
<option>abc</option>
<option>def</option>
<option>ghi</option>
</select>
IE上のドロップダウンの文字列を取得する方法をご存知の方、よろしく
お願いします。
0546デフォルトの名無しさん
NGNGhWndはどこから湧いてきたんだ?
0547545
NGNGクラス名はInternet Explorer_TridentCmboBxというものみたいです。
よろしくお願いします。
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGありがとうございました
ところで、Win32APIは何をするソフトなのでしょうか?
お願いします
0550デフォルトの名無しさん
NGNGHTML取得してあるんだったらHTMLから取得したほうが早くないかね。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG544を本気にしちゃダメ。
というか、Win32APIはソフトの名前じゃないよ。
http://www.wdic.org/?word=Win32API+%3ATECH
0553デフォルトの名無しさん
NGNGあるということがわかりました。
戻り値は BOOL ということまでわかったのですが、引数がわかりません。
どなたか教えて下さい。おながいします。
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNGおいおい。失礼なこと言うな。
あちらではバカは崇拝の対象なんだから。
郷に入られてもあちらの郷を知る努力くらいしてやれ。
0560デフォルトの名無しさん
NGNG0561名無し@沢村
NGNGすまんス。
「ペンもブラシも、デバイスコンテキストに選択したままだと削除できんから。「最初に選択されていたペン」「最初に選択されていたブラシ」を選択し直せば」の意味がわからんス。
ちなみに、私がやってみたのは、
ペン、ブラシの作成は、
void CreatePen_Brush()//ペンとブラシを作成
{
hBrush=CreateSolidBrush(RGB(255,255,255));
hBrush2=CreateSolidBrush(RGB(192,192,192));
hPen=CreatePen(PS_SOLID,1,RGB(192,192,192));
hPen2=CreatePen(PS_SOLID,1,RGB(0,192,0));
hPen3=CreatePen(PS_SOLID,1,RGB(255,0,0));
hPen4=CreatePen(PS_SOLID,1,RGB(0,0,0));
}
の中で行ない、
描画でSelectObject(hMemDC,hPen2);みたくデバイスコンテキストにhMemDCを選択してるから、
削除は、
void DeletePen_Brush()//ペンとブラシを削除
{
if(hBrush)DeleteObject(SelectObject(hMemDC,hBrush));//ブラシ削除
if(hBrush2)DeleteObject(SelectObject(hMemDC,hBrush2));//ブラシ削除
if(hPen)DeleteObject(SelectObject(hMemDC,hPen));//ペン1削除
if(hPen2)DeleteObject(SelectObject(hMemDC,hPen2));//ペン2削除
if(hPen3)DeleteObject(SelectObject(hMemDC,hPen3));//ペン3削除
if(hPen4)DeleteObject(SelectObject(hMemDC,hPen4));//ペン3削除
}
でいいのですか?
0562デフォルトの名無しさん
NGNG0563名無し@沢村
NGNG0564名無し@沢村
NGNGでもリソースの減り方が気になるっス…。
0565デフォルトの名無しさん
NGNGさて、結局どのGDIリソースが解放されてないのか追ってみよう!俺は嫌だ。
0566名無し@沢村
NGNGどのGDIリソースが解放されてないのかはリソースメーターではわからないのですか?
リソースメーターに減っているリソースを特定するオプションはついていないのですか?
またフリーソフトでどのGDIリソースが解放されてないのか調べることができるのはありますか?
0567デフォルトの名無しさん
NGNGお前の挙げたコードの時点で明らかにおかしいんだから初心者本なりリファレンスなり見て書き直せ。
0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG:
SelectObject(hMemDC,hOldPen);
DeleteDC(hMemDC);
リファレンス嫁
0570名無し@沢村
NGNGhOldPenは削除しなくてもいいのですか?
0571デフォルトの名無しさん
NGNGするに決まっている
0572名無し@沢村
NGNGhOldPen=SelectObject(hMemDC,hPen);
hOldPen=SelectObject(hMemDC,hPen2);
hOldPen=SelectObject(hMemDC,hPen3); :
SelectObject(hMemDC,hOldPen);
DeleteDC(hMemDC);
ですか?
それとも、
hOldPen=SelectObject(hMemDC,hPen);
hOldPen2=SelectObject(hMemDC,hPen2);
hOldPen3=SelectObject(hMemDC,hPen3); :
SelectObject(hMemDC,hOldPen);
SelectObject(hMemDC,hOldPen2);
SelectObject(hMemDC,hOldPen3);
DeleteDC(hMemDC);
ですか?
0573デフォルトの名無しさん
NGNG0574名無し@沢村
NGNGSelectObject(hMemDC,hOldPen);
DeleteDC(hMemDC);
DeleteObjectC(hOldPen);
ですか?
それとも、
SelectObject(hMemDC,hOldPen);
DeleteObjectC(hOldPen);
DeleteDC(hMemDC);
ですか?
0575デフォルトの名無しさん
NGNGつぅかペン切り替えになぜDCを破棄する。
0576名無し@沢村
NGNGhOldPen=SelectObject(hMemDC,hPen);
hOldPen2=SelectObject(hMemDC,hPen2);
hOldPen3=SelectObject(hMemDC,hPen3); :
SelectObject(hMemDC,hOldPen);
DeleteObjectC(hOldPen);
SelectObject(hMemDC,hOldPen2);
DeleteObjectC(hOldPen2);
SelectObject(hMemDC,hOldPen3);
DeleteObjectC(hOldPen3);
DeleteDC(hMemDC);
だね〜。違う?
0577デフォルトの名無しさん
NGNGhOldPen=SelectObject(hMemDC,hPen);
hOldPen2=SelectObject(hMemDC,hPen2);
hOldPen3=SelectObject(hMemDC,hPen3);
わかってない。
0578デフォルトの名無しさん
NGNGCreatePen→CreateDCならDeleteDC→DeletePen
作成した順とは逆に開放するのが望ましい
…
0579デフォルトの名無しさん
NGNGPen切り替えすぎだろう…
Pen3しか生きてない
0580デフォルトの名無しさん
NGNG0581名無し@沢村
NGNGhPenやhPen2やhPen3は描画関数の中で破棄する。
DCは描画関数の中で破棄すると再描画されなくなるので(というのは複数の関数で使うためグローバルにして関数の外でGETしているため)
最後にWM_DESTROYメッセージの中で破棄している。
その際、最初に選択されていたDCに戻すためhOldPenというのをわざとつくって、SelectObject(hMemDC,hOldPen3);でDCを最初に戻したあと、DeleteDC(hMemDC);
でDCを破棄する…と、まあこんな感じでいいのですか?
0582デフォルトの名無しさん
NGNG-----------------------------------------------
CR
0583デフォルトの名無しさん
NGNG取得するAPIはありますか?
0584デフォルトの名無しさん
NGNGいっぺんCreateXXX,SelectObject,DeleteObjectが何をしているのかを
図解説明してみてはどうだ,自分に対してでいいから
脳内で説明ついてないと>>576のような変なコードを書くことになる
面倒だろうがちゃんと紙に書いてみろ,断片的なアドバイスより為になるぞ
0585デフォルトの名無しさん
NGNG>main(argv,argc)
おかしいぞ。後、winmain()の引数に入ってる。
0586デフォルトの名無しさん
NGNGmain(argc,argv)な
GetModuleFileName
0587デフォルトの名無しさん
NGNGダ・カーポでつか?
直流電源でつか?
0588名無し@沢村
NGNGwinmain()の引数のLPSTR lpszCmdLineというのが、main(argv,argc)のargv[0]と同じ文字列(exeのフルパス)を
取得するAPですよ。まかせなさーいって!!
0589デフォルトの名無しさん
NGNG何を煽ってるか知らんがdevice context WindowsAPI使いなら常識かと。
0590デフォルトの名無しさん
NGNG紀元後の事だって
0591デフォルトの名無しさん
NGNG引数をAPIとか言うなってw
0592デフォルトの名無しさん
NGNG騙されるな。
AP と言っている。
0593デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0594デフォルトの名無しさん
NGNG・・・アプリケーション?
どうでもいいが質問者はMFC使ってるに3hThread
0595デフォルトの名無しさん
NGNG---
argv[0] != LPSTR lpszCmdLine
0596名無し@沢村
NGNGわかってないよ。そもそも俺はプログラマーではないからな。それはおろか学校でも習ってないし、情報処理技術者の資格すら持たんよ。
完全なド素人だよ。本ちょっと読んで覚えかじっただけ!!知らなくて当たり前だろ!!
だからもっと親切に教えてくれよな?
まあそんな俺でも昔某社のプログラムコンテストで1位になったことがあるんだよ。すごいだろ?
0597デフォルトの名無しさん
NGNGふと思ったけどじゃあコマンドラインオプションって自分で切り出さないといけないわけ?
0598デフォルトの名無しさん
NGNGどうしてそう思ったのか訊きたいけど
0599デフォルトの名無しさん
NGNGでもAPってなんの意味だ?
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGその通り。
ただし、NT には CommandLineToArgvW() がある。
0603デフォルトの名無しさん
NGNG他は知らないけど俺は切り出してargv[]につめこんで
アダプタ通してアクセスしてる
0604デフォルトの名無しさん
NGNG勉強になりました。
0605デフォルトの名無しさん
NGNGどもども。一手間多いですなw
0606デフォルトの名無しさん
NGNG> まあそんな俺でも昔某社のプログラムコンテストで1位になったことがあるんだよ。すごいだろ?
あほらし。
0607名無し@沢村
NGNGまあ昔ちょっとプログラマーやってたことはあるよ。
経営者が20代の何も知らんやつで社員数4〜5名のちいさな会社でコンピュータのこと何も知らんやつばかりだったから昔某社のプログラムコンテストで1位になったこと言うと、間違ってプログラマーで採用してくれたんだ。
その会社はすぐつぶれたけどね。
はっきり言って俺はプログラムの完全なド素人だね!!
0608デフォルトの名無しさん
NGNG知らない事が当たり前かどうかは知らないが、知らない事があったら勉強しようとするのが
当たり前。
0609デフォルトの名無しさん
NGNGいばるな。
0610デフォルトの名無しさん
NGNG馬鹿の国から馬鹿を宣伝しに来たような見事な馬鹿とはお前の事か?
0611デフォルトの名無しさん
NGNGバカは崇拝の対象だ。
0612名無し@沢村
NGNG知らない事があったら2chで聞いて勉強するの。
それも立派な方法。
0613デフォルトの名無しさん
NGNGなぜ2ch?
周りにはいないのかい?
0614デフォルトの名無しさん
NGNGとりわけ、そのように人の労力にあて込んで自助努力をしない人の場合では。
0615デフォルトの名無しさん
NGNGまたお前かw
0616名無し@沢村
NGNGプログラマーと知り合うチャンスはなかったよ。
プログラマーに誰一人知り合いはいねーよ。
0617デフォルトの名無しさん
NGNGオマエモナー
0618名無し@沢村
NGNG俺は結構努力をするほうだぜ。
そのような努力があったから、昔某社のプログラムコンテストで優勝できたのよ。
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG何を作ったのか知りたい・・・
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG教えて君が立派と言っているおまえが努力家なわけねぇだろ
あの程度の質問なら普通、猫でもROMってくるもんだぜ
0623デフォルトの名無しさん
NGNG話はそれからだ。
0624デフォルトの名無しさん
NGNG意味がちょっとおかしいと思うんですけど
0625デフォルトの名無しさん
NGNG沢村の気持ちも考えろよ!!
沢村はな!!
沢村は・・・
・・・すまん、漏れもよくわからん
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNGwww.nintendo.co.jp/n01/n64/software/nus_p_nalj/smash/Pokemon.html
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGそうだ。ダウソしたポケモンII。プレイしかけだったんだ。思い出した。ありがとう。
(でも、昔のSAGA3の様な新鮮さが無いのはなぜだろう・・・。)○。
0630デフォルトの名無しさん
NGNGイ、イャアァァァァァァァ・・・
0631584
NGNGそれは漏れも同じだ
Win32は社会人になってから同僚と一緒に憶えたし
情報処理技術者の資格取るときに勉強したこともWin32とは全然関係なかった
本を読みかじって覚えたのも同じさ
漏れなりに親切に教えたつもりだが?
ちゃんと紙に書けと言っただろ
それは漏れ自身がWin32を覚えるときの鍵になったことだからだ
大学ノート数冊使い切るくらい書きまくれ
腕利きのプロも元はど素人
断片的な質問よりどうやって這い上がったか訊いてみろ
0632デフォルトの名無しさん
NGNG変な誘導は止めてくれ
むしろ板の平和の為に、去ってくれるように仕向けていただけると
0633デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNGだってスレ違いだろ
0637デフォルトの名無しさん
NGNG沢村が聞き込みを始める恐れあり
>>636
沢村が聞き込みを始める恐れあり
ここはWin32API 質問箱
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG一人の教えて君にスレ占領されるのはいかがなものか
>>551
カスタムドローしる
0642デフォルトの名無しさん
NGNGつーか沢村はネタだろ・・・
0643デフォルトの名無しさん
NGNGこれまでもこのスレや他のスレで散々奴の醜態を見てきただろうに。
ここまでくると教えてやろうと思ってる奴も相当痛い。無駄な努力はよせ。
0644デフォルトの名無しさん
NGNG0645戸塚ヨット
NGNGみなさんはwin32でくむとき本か何かをそばに置いてくむんですか?
それともあの膨大な量の関数やら構造体やらすべて覚えていらっしゃるのですか?
0646デフォルトの名無しさん
NGNGWin32自体については本ではなくMSDNライブラリ(VCヘルプ)で見てる
机の上の紙類は,作ろうとしてるアプリの内容に関わる資料だ
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG環境
0649デフォルトの名無しさん
NGNGぬるぽ
0650デフォルトの名無しさん
NGNGWindowsプログラム初心者のときはペゾルト本見てた
0651デフォルトの名無しさん
NGNGMSDN
0652デフォルトの名無しさん
NGNG間違ってもBBSなんかで質問はしない
0653デフォルトの名無しさん
NGNGそうだな
たまに珍しい話を見かけて
それについてMSDNを調べることはあるが
0654デフォルトの名無しさん
NGNGWM_INITDIALOG 時に、ダイアログ上にある Edit にテキストをセットすると、
全て選択された状態で表示されるんですが
選択範囲を解除するには、どのタイミングで EM_SETSEL を
送ればいいんでしょうか?
WM_INITDIALOG で送ると上手くいかないっぽいです。
0655デフォルトの名無しさん
NGNGSetWidowLong()でスタイル変更した後、SetWindowPos() で
SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED
を指定してるのですが、再描画されません。
(その後、ウィンドウをつまんで移動させたりすると再描画されます)
下がその部分のコードなのですが、なにか足りないものがあるのでしょうか?
SetWindowLong( GetDlgItem(hDlg, IDC_UNLOADHOOK), GWL_STYLE, nLastLong | WS_DISABLED ) ;
SetWindowPos( hDlg, NULL, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED );
0656654
NGNG0を返さないといけなかったようでつ。
0657デフォルトの名無しさん
NGNG再描画の処理が足りません…
0658名無し@沢村
NGNGそれはトラックバーだが、現在3つのトラックバーとその他いろいろなコントロールをつけているのよ。
で、その3つのトラックバーのうちの一つだが、ウインドウを最小かしてもとにもどしたり、ファイルを開くダイアログを開いてその中のフォルダを開いたりすると消えるのよ。
もろもろのコントロールの中で、その3つのトラックバーのうちの一つだけが消えるのよ。
ためしに3つのトラックバーの順序を入れ替えてみたら消える位置に入れ替えたトラックバーがやはり消えた…。
最初FillRectで画面全体を塗りつぶしていたので再描画のとき下に隠れて描画されていないのかと思ったが、
手さぐりでいくらクリックしても反応ないのでどうもトラックバー自体がなくなってるみたいです…。
皆々様方〜、どうすればこれが直るのですか?教えてくだされ〜皆々様方〜♪
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGありがとやした。
ところで、TreeView の各アイテム毎に指定する必要がない場合でも
個々にカスタムドローしないといけないもんなんでしょか。
なんか方法がありそうな気はするんですがわからんちんです。
0662デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1039859691/
から移動してきました。
Windows2000でファイルシステムがNTFSの場合、
txtやExcel、JPG等のファイルのプロパティ⇒「概要」で
作成者や、タイトル、コメント等を入力できるんですが、
その入力した内容を得るには
なんていうAPI関数使えばいいですか?
日付、ファイルサイズの取得はできたですがそれ以降わかりません
ExtendedProperty
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shellfolderitem/extendedproperty.asp
を使えばできそうな気がするんですが、いまいちわかりません
よろしくお願いします
0663デフォルトの名無しさん
NGNGC++で作成したアプリケーションについてですが
Spy++とかで確認することができる
クラス名があるじゃないですか。
あれはバイナリ(exe)にはどんな風にして格納されてるんでしょうか?
やりたいことはメインウィンドウのクラス名を
バイナリエディタで書き換えたいのです。
よろしくおながいします(´・ω・`)
0664五右衛門
NGNGその返答次第では斬る。
0665デフォルトの名無しさん
NGNGSETFONTじゃ変わらなかったっけ?
0666デフォルトの名無しさん
NGNGトリップも付けてないし途中で出現した奴は騙り荒らしだろ
0667デフォルトの名無しさん
NGNG単なる静的文字列として格納されているかもしれないし
リソースとして格納されているかもしれないし
それはアプリの実装次第。
0668デフォルトの名無しさん
NGNGんなもん書き換えてどーすんだ?
0669名無し@沢村
NGNGリソース問題はまだ解決しとらんよ。
長時間使ってみることがないので、いまのところ問題は生じとらんので、とりあえずほっといて、次をやってるところ…。
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG0672次元
NGNGそりゃぁ、五右衛門も我慢ならねぇわな。
おいルパン。次行こうぜ。
0673デフォルトの名無しさん
NGNGえっとですね、そのアプリは多重起動を防止しているんですが、
おそらく、ウィンドウクラス名でチェックしてるんではないかなと思って
それを解除したかったのです。
ちなみにタイトルのキャプションは見てないようでした。
よろしくお願いします。
0674デフォルトの名無しさん
NGNGアプリの実装しだいというのはどういうことでしょうか?
ちなみに静的文字列ではないようでした。
バイナリエディタで検索してみたのですが、見つからなかったので・・・。
0675デフォルトの名無しさん
NGNGMutex とかは?
>>674
本当?
それが UNICODE アプリだったりした場合は UNICODE で格納されているけど。
0676デフォルトの名無しさん
NGNG普通はミューテックスを使うと思う
圧縮されいることもあったりする
0677デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.asp
のサンプルコード1
0678デフォルトの名無しさん
NGNGStirlingのコードセットをUnicodeにかえて
検索してみましたが発見できませんでした・・。
>>675,>>676
・Mutexについて
もしMutexを使用していた場合、
対象バイナリを変更することによって
多重起動を可能にすることは可能なのでしょうか?
以前・・・かなり昔ですが・・・多重起動が禁止されている
ソフトを多重起動可能にする(100%ではない)
ユーティリティがあったのですが
どうやってやっていたのか不思議です。。。
バイナリが2バイトだけ直接書き換えられていました。
検索してももう見つからなかったです。
0679デフォルトの名無しさん
NGNG条件分岐を潰すだけだろ。
0680デフォルトの名無しさん
NGNGでも、プログラム勝手に変えちゃダメだぜ。カタギの人なら。
0681デフォルトの名無しさん
NGNGプログラムの著作物に関しては
電子計算機においてより効果的に利用し得るようにするために
必要な改変は認められるって例外規定があったような
0682名無し@沢村
NGNGDeleteObject(hPen);
のかわりに、
Zeromemory(hPen,sizeof(hPen));
っのは使えるの?なんかこっちのほうがちゃんと開放されそうな印象だが…。
0683デフォルトの名無しさん
NGNGHBITMAPやHFONTも4バイトで済むとお思いか?
0684デフォルトの名無しさん
NGNGCを一から勉強することをオススメする。
ちなみにあなたの言っていることは、
「char *x=malloc(128);と確保したメモリを、
free(x);のかわりにx=0;にした方がいいのでは?」
という質問とあまり変わらなかったりする。
0685精神科医
NGNGDeleteが付けばメモリクリアする物だと思ってるのですか?
先生の薬をちゃんと飲みましたか?
0686デフォルトの名無しさん
NGNGそのユーティリティは対象アプリのパスを渡すだけで
バイナリを自動的に修正していました。
外部から条件分岐の場所を判別することって
できるものなのでしょうか?
>>680
Mutexを識別する文字列はどのようにして
格納されているのでしょうか?
VC++でビルドされたものと限定しても構いません。
これがわかればそこを数バイト書き換えれば
うまくいきそうですね。
0687名無し@沢村
NGNGリソースを開放することと、メモリをクリアすることは違うのですか?
リソースって結局メモリのことだよね?
するとクリアと開放の違い…?
そもそも開放とは何なのですか?
0688デフォルトの名無しさん
NGNG根本的に判ってない。
>リソースって結局メモリのことだよね?
違う。「リソース=資源」。メモリに限らず、デバイスとかもリソース。
リソースの確保とは、「これから漏れが使うから、他のヤシに使わせないように汁!」で、
リソースの開放とは、「使い終わったから、他のヤシに使わせて良いよん」である。どうやって
確保するかは処理系によって変わる。
0689688
NGNG0690名無し@沢村
NGNG他のヤシとは他のソフトのこと?
hDC=GetDC(hwnd);
でデバイスhDCを確保した場合、その前にhDCを使っているソフトがあるということ?
hDCをhxxxxyyyyDCと恐らく誰も使わない名前にした場合も、他にもhxxxxyyyyDCを使っているソフトがあるから、
他のヤシに使わせないように汁、だったり、他のヤシに使わせて良いよん、だったりするわけ?
0691名無し@沢村
NGNG最初リソースを確保したら、最初確保した分だけリソースが減ってあとは減らないはずなのに、
使っているうちどんどん減っていくのはどうして?
0692デフォルトの名無しさん
NGNG(゚Д゚) ハァ?
0693名無し@沢村
NGNGだからちゃんとリソースが開放されていないと、関数を呼び出した回数だけどんどんリソースを確保していくことになるから、リソースがどんどん減っていくんだ!!
だとすると…解決方法がわかったぞ!!
リソースをグローバルにして確保と開放を関数の外のプログラムの最初と最後の部分で1回だけやればいいんだ!!
そうするとちゃんと開放されなくてもリソースはどんどん減ることはない…と思うがどうですか?
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG問題に対する対処方法が間違っている
「こうじゃないかな」
という解決方法を思いついた時はまず自分で確かめろ
確かに答えを知っている人に答えを教えてもらった方が
楽だし速いかもしれないが、この方法では近いうちに壁にぶつかる
あと、ここは「Win32API 質問箱」であって「沢村質問箱」じゃない
0697デフォルトの名無しさん
NGNGCreateMutexかGetLastErrorをフックしたらいけるかな。
0698デフォルトの名無しさん
NGNG沢村君・・・
まさか、ずいぶん前に君がレスしたリソースの解放について、
まだ解決してなかったのかい?
0699698
NGNG>693へのレス
0700名無し@沢村
NGNGもう解決したよ。
リソースの開放の仕方はいまいちわからないが、プログラムの初めでリソースを1度だけ確保し、終わりに開放すれば、リソースがどんどん減ることはないということがわかったよ。
とりあえず、これで充分だよ♪
0701デフォルトの名無しさん
NGNGこれってどういう意味ですか?
何を調べてるのか教えてください。
0702デフォルトの名無しさん
NGNG0703デフォルトの名無しさん
NGNG0704名無し@沢村
NGNG君、y.dwFileAttributesが何なのかはよくわからないが、恐らく処理系で定義されているファイル属性についての構造体だろう。
またFILE_ATTRIBUTE_DIRECTORYというのは、言葉の意味から「ファイル属性はフォルダです」という直訳が出てくるよ、君!!
そうすると & は論理and演算子だから、「もしy.dwFileAttributesが「ファイル属性はフォルダです」ならば」という直訳が出てくるよ。
そうすると漠然とながら意味がわかるだろ?どうかね、君!?
0705名無し@沢村
NGNG君、お礼は!?君!?
いいかいくだいていうと、FILE_ATTRIBUTE_DIRECTORYは多分ファイル属性を表わす定数なんだよ。
何とか.hの中で
#define FILE_ATTRIBUTE_DIRECTORY 1
みたく定義されているはずなんだ。
また恐らく他にも、
FILE_ATTRIBUTE_xxxとか
FILE_ATTRIBUTE_yyyとか
FILE_ATTRIBUTE_のつく定数がたくさん定義されているはずなんだ。
そして、y.dwFileAttributesも多分ファイル属性についての構造体メンバで、
if(y.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
以前にy.dwFileAttributesにFILE_ATTRIBUTE_のいずれかが代入されているはずなんだよ。
だからif(y.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){ はどのFILE_ATTRIBUTE_が代入されているかを調べているのだと思うよ。
というよりFILE_ATTRIBUTE_DIRECTORYが代入されているかどうかを調べていると言ったほうがいいだろうね。
そして、y.dwFileAttributes かつ FILE_ATTRIBUTE_DIRECTORYが真ならば、
つまりy.dwFileAttributes が FILE_ATTRIBUTE_DIRECTORYかどうかを調べているというわけだよ。
これならば馬鹿でもわかるよね?
君、俺はプログラムのド素人なんだよ!!ビックリしたかい?
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNG沢村?w
NGワードにしたら気分爽快♪
0708デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNG安心しろ、俺もだ。
0711デフォルトの名無しさん
NGNGどうもありがとうございました。
とりあえず、y.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORYが真だと
ディレクトリだということですね。
なんとなく理解できました。そして、手元のソースも理解できました。
0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGリアルなら嫌われ者の癖についてきたがるやつは
殴りつけて追っ払えるのにネット上じゃそうもいかん
0715デフォルトの名無しさん
NGNGなんとなくかよ・・・
0716デフォルトの名無しさん
NGNGデフォルトの動作だとキー入力があると、そのキーと同じ頭文字のところに
フォーカスが移動してしまいます。これをやめさせたいのです。
よろしくおねがいします。
0717デフォルトの名無しさん
NGNGLVN_KEYDOWN
0718デフォルトの名無しさん
NGNGありがとうございます。
でも、それだと、キー入力に対する動作が追加できるだけで、
選択状態を変更されないようにはできないので、困っているんです。
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNGひょっとしてそのユーティリティはWindows3.1用では???
0721717
NGNG↓じゃだめ?
case WM_NOTIFY:
switch ( ((LPNMHDR)lp)->code )
{
case LVN_KEYDOWN:
return TRUE;
}
break;
0722デフォルトの名無しさん
NGNGhDCに対して、3種類のペン、A,B,Cで描画するのですが、この時
SelectObjectで受け取る、変更前のオブジェクトを
HPEN prev;
prev = (HPEN)SelectObject(hDC, A);
/*(描画)*/
SelectObject(hDC, prev);
prev = (HPEN)SelectObject(hDC, B);
/*(描画)*/
SelectObject(hDC, prev);
prev = (HPEN)SelectObject(hDC, C);
/*(描画)*/
SelectObject(hDC, prev);
のように、毎回新しいオブジェクトを使う前に元の状態に戻すべきですか?
それとも、
prev = (HPEN)SelectObject(hDC, A);
/*(描画)*/
SelectObject(hDC, B);
/*(描画)*/
SelectObject(hDC, C);
/*(描画)*/
SelectObject(hDC, prev);
のように、最終的に元のオブジェクトに戻っていればOK?
0723デフォルトの名無しさん
NGNG最終的に元に戻ってりゃOK。
関数内で描いてる場合、その関数を呼んだヤツにバレなきゃいいのさ…
0724デフォルトの名無しさん
NGNGどちらでもよし。
てか、上しかダメなら「Select」なんて単語つかわんだろ。
むしろ1関数でしか使わないなら元に戻さなくてもよかったり…
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNGおかげで通勤が楽になります。
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNGそういうものがあるって話は聞いたのですが
0729デフォルトの名無しさん
NGNG始めに断って置くが俺は解らない。
ところで、システム全体ってのはどういう意味なんだろう。
例えばネットワークカード2枚入っている場合はそれらの合計?
それともシステム内でパケットを飛ばしている場合はそれも含める?
0730728
NGNGNICの合計通信量ということです。ローカル内での通信は抜きで。
多分用意されているのはそういうAPIかと思います。
送受信量をリアルタイムに表示するプログラムを作りたいのです。
0731デフォルトの名無しさん
NGNGいろいろ調べてみたのですが分かりませんでした。教えてください…
例えば、Outlook Express(6.0) のメールのリストを見ると、選択した
アイテムでも「送信者」より左側の部分は反転表示になっていませんよね。
このように、レポート形式のリストビューを、サブアイテム単位で
反転(選択)状態にするにはどうすればいいのでしょうか?
0732デフォルトの名無しさん
NGNGWindowsのネットワークのプロパティを見れば出てくるから
方法はあると思うんだけれど…
ちょっと解らないです。面白そうだから調べてみようかな
>>731
俺はOutlook使ったことが無いのでわからないけれど、
直感的にカスタムコントロールを使ってる気がする。
spy++等でwindow classを調べてみるところから初めてみるといいかも。
0733デフォルトの名無しさん
NGNG随分時間がかかったけど、大体わかりました。NetBIOSを使えば出来そうです。
#SNMPから調べていたためにいらぬ時間を取ってしまった
サンプルコード書いてみましょうか?
0735デフォルトの名無しさん
NGNGサンプル書いたらsent/receive共に0になりますた(涙
netBios::ADAPTER_STATUSは使えない模様です。
もう少し調べてみよう…ぬか喜びさせてしまいスマソ
0736デフォルトの名無しさん
NGNGの
dwInOctets; // octets received
dwOutOctets; // octets sent
じゃねーのか?
0737デフォルトの名無しさん
NGNG>>736
MSが表示しているのは、そこではなくてunicast packetsの方みたいです。
dwInUcastPkts; // unicast packets received
dwOutUcastPkts; // unicast packets sent
サンプル書いたので、適当に整形して読んでみてください。
なおエラー処理は一切やっていません。あしからず
#include <stdio.h>
#include <winsock2.h>
#include <iprtrmib.h>
int main(void){
HINSTANCE hIpHelpApi=LoadLibrary("iphlpapi.dll");
typedef DWORD (CALLBACK* T_GETIFTABLE)(PMIB_IFTABLE, PULONG, BOOL);
T_GETIFTABLE pfGetIfTable=(T_GETIFTABLE)GetProcAddress(hIpHelpApi,"GetIfTable");
char *buffer=NULL;DWORD buf_size=0;(*pfGetIfTable)((PMIB_IFTABLE)buffer,&buf_size,true);
buffer = (char*)malloc(buf_size);memset(buffer,0,buf_size);
(*pfGetIfTable)((PMIB_IFTABLE)buffer,&buf_size,true);
MIB_IFTABLE* mit=(MIB_IFTABLE*)buffer;
for(int i=0;i< (int)mit->dwNumEntries;i++) {MIB_IFROW* mir=(mit->table)+i;
printf("interface %d:%s\n",i,mir->bDescr);
printf("sent:%d/recv:%d\n\n",mir->dwOutUcastPkts+mir->dwOutNUcastPkts,mir->dwInUcastPkts);
}free(buffer);FreeLibrary(hIpHelpApi);return 0;}
0738デフォルトの名無しさん
NGNGそこまで親切に書いていただけるとは・・・
2chでこんな優しくされたのは初めて(´д⊂)
まずはこのソースを解読せねば
本質的でない部分もわからとこけっこうありまして
大事な時間を割いて調べていただいて、本当にありがとうございました。
0739デフォルトの名無しさん
NGNGお返事、どうもありがとうございます。
早速クラスを調べてみたら、
"SysListView32"ではなくて
"ATL:SysListView32"になっていました。
これは、やはり"SysListView32"に少し手を加えた
カスタムコントロールと見るのが妥当でしょうか。
勉強してまた出直してきます…
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNGあのさ、頼むから検索してから聞けよ
http://www.google.com/search?hl=ja&lr=&q=CreateToolbarEx+256
0742名無し@沢村
NGNGprev = (HPEN)SelectObject(hDC, A);
/*(描画)*/
SelectObject(hDC, B);
/*(描画)*/
SelectObject(hDC, C);
/*(描画)*/
SelectObject(hDC, prev);
とした後、
DeleteObject(hDC);とするのね。
hDCに対して選択されているObjectを元に戻して削除するのね。
それはわかったぞ!!
わからないのは、PenをDeleteObjectするときは、何をどう元にもどせばいいのですか?
0743名無し@沢村
NGNGではペンを削除するときは、ペンに対して選択されている何を元にもどして削除するのかが、わからないわけ。
0744デフォルトの名無しさん
NGNGいや、 hDC は DeleteObject しないぞ。
0745デフォルトの名無しさん
NGNGセンスがない。諦めてDelphiでも使う方が絶対にいい
0746名無し@沢村
NGNGいや、だからキスプリ。
つまりhDCをDeleteDCするときは、hDCに対して選択されているペンを元にもどして削除する…と。
ではペンをDEleteObjectするときは、ペンに対して選択されている何を元にもどして削除するのかが、わからないわけ。
0747デフォルトの名無しさん
NGNG0748名無し@沢村
NGNGいや、だからそれは、hDCをDeleteDCするときは、hDCに対して選択されているペンをはずしたらDeleteDCでもOK…と。
あ、hDCでもDeleteObjectしてOKなの?
ただ、ペンをDEleteObjectするときは、何をどう選択はずして削除するの?
0749デフォルトの名無しさん
NGNGDeleteDCって滅多に使わんと思うが・・・まぁいい。
ペンがデバイスコンテキストから選択解除されてれば、いつでもそのペンを DeleteObject で削除できる。
0750名無し@沢村
NGNGペンがデバイスコンテキストから選択解除するということは、
ペンをSelectObjectで最初の選択に戻すことと同じなのですか、違うのですか?
また、そうすればペンを DeleteObjectできるのですか?
ではデバイスコンテキストを削除するときは、何をどう選択解除しなければならないのですか?
0751デフォルトの名無しさん
NGNG0752名無し@沢村
NGNG>ペンがデバイスコンテキストから選択解除されてれば、いつでもそのペンを DeleteObject で削除できる。
prev = (HPEN)SelectObject(hDC, A);
/*(描画)*/
SelectObject(hDC, B);
/*(描画)*/
SelectObject(hDC, C);
/*(描画)*/
SelectObject(hDC, prev);
上の例で削除できる「そのペン」とはどのペンのことですか?
prev?A?B?C?
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG最初のでもいいし、他のペンを選択しても元のペンは選択解除される。
そうすればペンを DeleteObject できるです。
デバイスコンテキストを本当に削除したいのですか?
それはあなたが CreateDC で作ったものでしょうね?
もしそうなら、ペンもブラシもフォントもビットマップも全部、SelectObject で最初の選択に戻してから、DeleteDC すれば良いと思います。
0755デフォルトの名無しさん
NGNG0756名無し@沢村
NGNGいや、CreateDCで作ったものではなく、GetDCでつくったもの。
CreateDCというのは知らんでした…。
>最初のでもいいし、他のペンを選択しても元のペンは選択解除される。
そうすればペンを DeleteObject できるです。
prev = (HPEN)SelectObject(hDC, A);
/*(描画)*/
SelectObject(hDC, B);
/*(描画)*/
SelectObject(hDC, C);
/*(描画)*/
SelectObject(hDC, prev);
の場合、次にDeleteObject(prev) してもいいし、DeleteObject(A) してもいいし、DeleteObject(B) してもいいということですか?
0757名無し@沢村
NGNGまた日を改めて質問しますのでその時はよろしくね♪
ま、プログラムの最初に一回だけペンなどのオブジェクトを作っとけば、リソースがどんどん減っていくことはないという必殺技があるから、とりあえずそれで間に合わせときます♪
0758デフォルトの名無しさん
NGNG0759名無し@沢村
NGNG基本的に本は読まないポリシーだが、
ちなみにそれはどこの出版社から出ているのですか?著者は誰ですか?いくらですか?
0760デフォルトの名無しさん
NGNGお前は、自分で調べることが出来ないのか?
本気で鬱陶しいと思っている。
0761デフォルトの名無しさん
NGNG> 基本的に本は読まないポリシーだが、
> ちなみにそれはどこの出版社から出ているのですか?著者は誰ですか?いくらですか?
プログラマに向いてない今すぐやめろ。
0762ルパン
NGNG沢村は人のレスもマトモに読〜んでないぞぉ。
SelectObjectすらまだ分かってないんだから、たまったもんじゃないぃ。
教え甲斐があるヤツぁいいが、コイツは教え甲斐が全くないんだよぉ。
なぁ?ふっじこちゃ〜ん。
0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNGerror C2061: 構文エラー : 識別子 'HRESULT' がシンタックスエラーを起こしました。
とエラーが出てしまうのですが、何が原因でしょうか?
0765デフォルトの名無しさん
NGNGソースあげて
0766766
NGNG1バイトずつ調べる以外に方法はないんですか?
普通の文字なら strstr() が使えるけど、バイナリのマッチは
一般的にはどうやっているのですか?
0767デフォルトの名無しさん
NGNG漏れは小さいデータしか扱ったことがないから、データを16進文字列
EA029EF5C0426FFF0A0B
のような文字列に変換して、15A16Cをstrstr関数で検索しているよ。
小さいならこれで逝ける。
0768766
NGNGでも僕はそれはバグがあると思いますよ。
00010000
に対して
001000の位置を strstr() で調べようとしたら。
でもその考え方は使えそうです。
コンマ区切りとかすれば問題は無いですね。
ありがとうございます。
他にもいい方法があったら教えてください。
0769デフォルトの名無しさん
NGNGWin32なら_lfindとかね。
リニアサーチが嫌ならば、BM法を使って調べると速くなる
0770766
NGNGヤバ!!!!!!
漏れの顔は青ざめた。今日寝れない。でもバグ発見ありがとう。
0771デフォルトの名無しさん
NGNG速めることは可能。
さらにデータ配列に一定の規律が守られていればさらに最適化も
可能。例えば、その並びは必ずあるアラインメントで並びが保証され
ているとか。
0772766
NGNGhttp://websearch.yahoo.co.jp/bin/query?p=_lfind+Win32+%a5%d0%a5%a4%a5%ca%a5%ea&hc=0&hs=0
見つかりませんでした。
BM法を検索してみます。
0773デフォルトの名無しさん
NGNG_lfind は VC についてくるライブラリの関数。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_crt__lfind.asp
で、その _lfind の様な関数の実装。
ttp://www.hidecnet.ne.jp/~sinzan/tips/c/c_tip23.htm
そしてBM法。
ttp://alfin.mine.utsunomiya-u.ac.jp/~niy/algo/b/bmMatch.html
0774766
NGNG_lfind は↓にもありました。
http://www.tru64unix.compaq.com/docs/i18n/japan/Single_UNIX_Documentation/NCH0944X.HTM
今からそれでやってみます。
0775デフォルトの名無しさん
NGNGディレクトリ以外を選択しているときにOKボタンが灰色になります。
ところが ulFlags に BIF_USENEWUI と BIF_RETURNONLYFSDIRS を指定するとディレクトリ以外を選択してもOKボタンが灰色になりません。
BIF_USENEWUI でもOKボタンを灰色にしたいのですがどうすればよいのでしょうか。
0776766
NGNGABと出力するつもりでソースを書いているのですが、最後の引数は
何を書けばいいんですか?
#include <windows.h>
#include <iostream.h>
#include <search.h>
main(){
BYTE a[7] = {0x10, 0x11, 0x12, 0x13, 0x65, 0x66, 0x0};
BYTE b[3] = {0x12, 0x13, 0x65};
unsigned int num = 7;
unsigned int wid = sizeof(BYTE);
char *p;
p = (char*)_lfind(b, a, &num, &wid, ?);
printf("%s", p);
}
0777722
NGNG回答ありがとうございました。後者の最後に元のハンドルに戻す方法で行こうと思います。
>>742氏の指摘しているDeleteObjectのタイミングですが、
私の(質問するきっかけとなった元の)ソースでは
AにSelectする前にA,B,CをまとめてCreatePenし、
最後のprevに戻す処理の後で3つまとめてDeleteObjectしています。
0778766
NGNG#include <windows.h>
#include <iostream.h>
#include <search.h>
#include <string.h>
#include <stdio.h>
int compare( const void *arg1, const void *arg2 );
main(){
BYTE a[7] = {0x10, 0x11, 0x12, 0x13, 0x65, 0x66, 0x0};
BYTE b[3] = {0x12, 0x13, 0x65};
unsigned int num = 7;
char *p;
p = (char*)_lfind(b, a, &num, sizeof(BYTE), compare);
printf("%s", p);
}
int compare(const void *arg1, const void *arg2 ){
return( _stricmp( * (char**)arg1, * (char**)arg2 ) );
}
_lfind と _stricmp か未定義だと言われてしまいました。
BM法に夢を託します。
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNGそれでいいと思われ。
使う前にCreateし、いざ使うときになったらSelectし、使い終わったらDelete。
Deleteは忘れちゃまずいから、まとめてするようにしてます。俺はね。
0781デフォルトの名無しさん
NGNG_lfind を使ってできないこともないだろう。
int compare(const void*p,const void*q)
{
const BYTE*a=(BYTE*)q;
const BYTE*b=(BYTE*)p;
return (a[0]!=b[0])&&(a[1]!=b[1])&&(a[2]!=b[2]);
}
int main(void)
{
BYTE a[]={'0','1','2','3','4','5','6','\0'};
BYTE b[]={'3','4','5'};
unsigned int num=sizeof(a)-sizeof(b);
printf("%s\n",_lfind(b,a,&num,1,compare));
return 0;
}
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNGで、1個目の車輪は何処に?
0784デフォルトの名無しさん
NGNG自分で同等品作るならSTL的に書くのがいいと思うが。
0785デフォルトの名無しさん
NGNGできました。感謝感激です。ありがとうございますた。
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGレジストリ
0788デフォルトの名無しさん
NGNGワードみたいに、反転表示になったらビットマップの部分が盛り上がるようにしたいのです。
http://www5b.biglobe.ne.jp/~kouta_y/news/newsc/c03.html
↑ここみたいに自分で描画するしか方法はないのでしょうか。
0789デフォルトの名無しさん
NGNGSpy++で調べてみればいいけど、自分で描画するのが普通だぞ
0790名無し@沢村
NGNGhttp://sports3.2ch.net/test/read.cgi/k1/1040558493/l50
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGそう言うのを「釣られる」という。
0794デフォルトの名無しさん
NGNG共有煽りハンドルになるに決まってるといってるだろ
0795名無し@沢村
NGNGせめてバーチャファイターのチェンリーなみのがサクサク動かないと…!
PCの3Dはダサいから今のところ手を出していない…。
0796デフォルトの名無しさん
NGNGはい次の方質問をどうぞ
0797初心者
NGNG最新のWinXPのIE6で、ウィンドウの上側にツールバーがありますよね。(メニューやボタンやアドレス入力欄など)
このツールバーの左側(XPだと縦の列で点が並んでいる)をドラッグすると、ツールバーを移動できますが、・・。
今VISUALC++6で開発をしていて、ウィンドウにツールバーをつけようとしていますが、表示されるツールバーが昔の98・MEのようなふるいツールバーになります。
最新のXPに対応したツールバーデザインを表示させるためには、どのように手を加えればいいのですか?
教えてください。
0798初心者
NGNGいわゆる、LUNAインターフェースですよね。
今HPを検索してますが・・・なかなか資料がでてこないです・・。
だれかおしえてください。
0799名無し@沢村
NGNGもうちょっとでクリスマス。。★彡
パートナーは見つかりました?(o^.^o)
http://petitmomo.com/mm/
ここがちょっぴりエッチ系の沢村が運営している出会いサイトです。
もしよかったら使ってみて、、、
ヨロシクです。
名無し@沢村(^o^)-☆
0800デフォルトの名無しさん
NGNGmanifestとかビジュアルスタイルでぐぐれ。
はい次の方
0801デフォルトの名無しさん
NGNGhttp://gyaraxy.s10.xrea.com/
0803デフォルトの名無しさん
NGNGしかも間違ってるし
0804デフォルトの名無しさん
NGNGReBar のことを言っているのか?
だったら、ReBar とか クールバー でググる。
ReBar が何かわかったら、
あとは vector で配布されている Win32API のサンプルでも見て勉強。
ReBar が実現できたら、manifest とか試してみれ。
0805デフォルトの名無しさん
NGNGこの前、人のソースをみたら、
HDC hdc = GetDC( hWnd );
HDC mdc = CreateCompatibleDC( hdc );
HBITMAP bmp = CreateCompatibleBitmap( hdc, x, y );
(中略)
DeleteObject( bmp );
DeleteDC( mdc );
DeleteDC( hdc );
とかやってあって驚いた
CreateDC, CreateCompatibleDC, GetDC, GetWindowDC, BeginPaint と、
DeleteDC, ReleaseDC, EndPaint の対応付けがわからないまま
プログラムやっているヤツラってけっこういるのな。
0806名無し@沢村
NGNG0807デフォルトの名無しさん
NGNGWindowsがお亡くなりにならないか?
漏れはなった(NT4.0)
0808デフォルトの名無しさん
NGNGまぁ、関数名を理解出来ていないって事だな
Get(取得)したからRelease(開放)してやる
Create(作る)したからDelete(削除)してやる
>>806
Object関数も理解出来ていな香具師には聞いてない
0809デフォルトの名無しさん
NGNGそれくらい分かってるなら、さっさとリソース問題を解決しろよ。
屁みたいなもんだろ。
0810デフォルトの名無しさん
NGNGはい次の方、質問をどうぞ
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG書いて欲しいな。
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNG皆々様方〜教えてくだされ〜♪
(書き込みの内容)
教えてくだされ〜♪
に置換してくれるとなおよい。
0815デフォルトの名無しさん
NGNG作るなよ?
0816デフォルトの名無しさん
NGNGビジー中のキー入力やマウスクリックは無視したいのですが、
どのようにすればよいのでしょうか?
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGビジー処理を別スレッドで処理すれば理想的ですよ。
0821デフォルトの名無しさん
NGNG巨大なファイル(数M〜数十Mまで、可能性としては数Gも扱いたい)の中の
非常に小さい一部分のみを変更・削除・追加する場合、
どのように処理をすればいいのか教えて貰えませんか?
0822デフォルトの名無しさん
NGNG追加削除は最後尾でないかぎり、全部をコピーしなおすしかない
0823デフォルトの名無しさん
NGNGDBの実装を参考に汁
0824デフォルトの名無しさん
NGNGそれで数Mのファイルをアクセスするのはきついです…
>>823
エディタみたいな物で、ファイル形式を変えるわけにはいきませんし、
今までの情報を残しておくことも基本的には出来ません
セクタチェインとかをいじる方法だと、ファイルシステム依存になるので、
なにかそういうAPIがあるとは思うのですが、なかなか見つからず…
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG1万円ギリギリマトリックスのWindows95 APIバイブル1/2/3本
持ってんの?
星の数ほどあるAPIを用途別に理解する為には買うべき?
0827デフォルトの名無しさん
NGNGあとはMSDN libの検索を使いこなせるようになれば
API一覧は要らないと思う
0828デフォルトの名無しさん
NGNG無い?確か大容量専門のAPIがあったと思ったが。
昔このスレで読んだような気がするぞ
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNG必要はないと思うが途中で強制終了されたりすると
確実にファイルが壊れる
0831デフォルトの名無しさん
NGNGファイルを書き込んでいる時に強制終了されても、
どちらにせよファイルは壊れるのでは?
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGただファイルの内容をメモリに展開したいだけなら、多少面倒でも
自分で制御する方がいいだろうね。
0834デフォルトの名無しさん
NGNGプ
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNGhttp://www.google.com/search?q=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB&ie=UTF-8&oe=UTF-8&hl=ja&lr=
237件
http://www.google.com/search?q=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%E3%83%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB&ie=UTF-8&oe=UTF-8&hl=ja&lr=
微妙だな。発音は「ト」で間違ってないと思うが
何がおかしい?
0837デフォルトの名無しさん
NGNG結果としてコピーの回数を減らせたりしないと
メリットないね
0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNGつーか、ファイル扱うときには、どんなに小さな変更であれ、
一時ファイルを作ってそこへ書き込み、すべて正常に終了したら、
ファイルを置き換えるのが常識だと思うのですが。
0840デフォルトの名無しさん
NGNGで、ハードリンクがいつのまにかバックアップのほうを指していて
鬱になると。
Winにも標準でファイルへのシンボリックリンクがほしい。
0841デフォルトの名無しさん
NGNG>Winにも標準でファイルへのシンボリックリンクがほしい。
IShellLinkとIPersistFileでできるだろ
0842デフォルトの名無しさん
NGNGエンハンス ド とかあったからなー
ちょっと違和感持っても迂闊にプとか言えないよな
0843デフォルトの名無しさん
NGNGメジャーな解説書やサイトでは大体「マップト」だと思うが。
0844デフォルトの名無しさん
NGNGプ
0845デフォルトの名無しさん
NGNGうるこい
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNGNTFS限定でなら Sparse File で検索しれ。
0850デフォルトの名無しさん
NGNG0851単位すらまともに書けない奴に粘着するお化け ◆efCnjqFIg6
NGNG0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG239 名前:デフォルトの名無しさん 投稿日:2002/12/25(水) 18:50
お馬鹿さんは日本語も理解できないんだね。哀れ。
0854デフォルトの名無しさん
NGNG2ちゃんの馬鹿が電波飛ばしたのさ〜
0855デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
> お馬鹿さんは日本語も理解できないんだね。哀れ。
「名前」 欄は名前を書くところだと理解できない香具師が居るんだね。遭われ。
0856デフォルトの名無しさん
NGNGMS系の開発に限っては「メモリマップト」と言うべきだと思われ。
英語の発音だと無声音化するし、だいたいカタカナでは書けないし。
0857デフォルトの名無しさん
NGNGその先は、
だけどちょっとだけどちょっと僕だって怖いさ。
だっけか?(w
0858デフォルトの名無しさん
NGNGうわっ
粘着晒しあげっ
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGうぜぇよ。粘着君(藁
0862デフォルトの名無しさん
NGNG空気読めよ。ばればれだっつーのwww
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNGあんたが煽ってるんじゃん。
止まってたのに。
0865デフォルトの名無しさん
NGNGそれはいわゆる「オマエガナー」
0866デフォルトの名無しさん
NGNG俺もはいろーか?
0867デフォルトの名無しさん
NGNGカーネルで解釈できないショートカットなんぞがほしいんじゃない。遅いし
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0871867ではないが
NGNGfopen("hogehoge.lnk") で元のファイルが開けないのでは
シンボリックリンクとしては使えないじゃない。そりゃ、ハードリンクで
間に合わせることが出来る場合もあるけれど。
--
ファイルにジャンクションを張れるようにするパッチとか。
ttp://homepage1.nifty.com/emk/symlink.html
0872870
NGNGfopen()の直呼びで元ファイルが開けるかどうかは
カーネルで解釈しているかどうかには関係ないし
速度に根本的な違いがあるわけでもないよね
漏れはダブルクリック以上の使い方でストレスがあるとすれば
ソース管理をフォルダ単位でやりたい時くらいだけど
ボリュームセットの中ではハードリンクできないんだっけ?
0874デフォルトの名無しさん
NGNGエディタのサンプルを見た記憶があります。
エディタといっても、Editを使うものではなくて、自分でゴリゴリ処理を
行うものでした。(といっても、サンプルっていうくらいだから、簡単なものでした)
このサンプルって今どこにあるか分かる方はいらっしゃいますでしょうか?
0875デフォルトの名無しさん
NGNGそれはしらないけど、今月のCマガでエディタ作ってたよ。
0876デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG> ハードリンクだってあるじゃん
840読みました? つーか841は840へのレスだから
読んでないわけないんだが脊髄反射だけでレスしてません?
>>872
> カーネルで解釈しているかどうかには関係ないし
関係大ありだと思うがそれはともかくようするに
どんなAPI使っても透過的に開いてくれないんじゃ
嬉しくない
> 速度に根本的な違いがあるわけでもないよね
実際遅いんだもん
Cygwinのnowinsymlinkとwinsymlinkで比べれば一目瞭然
ファイルのオープンしかしないのにshell32.dll
(ひいてはuser32だのgdi32だの)をロードさせられるのも
気に食わないし
0879デフォルトの名無しさん
NGNGもっともディレクトリへのシンボリックリンク相当物はすでにあるから
たいした問題じゃないんだが
0881デフォルトの名無しさん
NGNGうるこい
0882sage 粘着スマソ
NGNG英語のできないプログラマは(略
0883デフォルトの名無しさん
NGNGうるこい
0884デフォルトの名無しさん
NGNGそんなことは百も承知のうえでやってたんじゃないの?
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNG今更得意げに何言ってんだか・・・
0887843
NGNG>>834,838みたいなのが居るからおかしいんじゃないのって話になったかと。
>>885
まあそゆこと。
英語を日本語になおしたら「こうだ!」的な事を言うのが間違ってるし、
そんなプログラマは(略
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNGオマイラうるこい。
クダランことでスレ流すな。ボケェ
発音変わっただけで、動くプログラムが動かんようなるわけじゃないじゃろ。
ええかげんにせーや。
0891デフォルトの名無しさん
NGNGカタカナ読みスレでも立てれば?
たしかUNIX板にはそんなスレがあったはず
0892デフォルトの名無しさん
NGNG雑談スレで充分。
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG*Programming* ってかくバカが多くて困りますッ!!
0895デフォルトの名無しさん
NGNGそれより、何が困ったのか知りたい。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG適当プログラマーだな。
真相を追求するのが真の技術者だよ。
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG追求する部分を間違えているぞ。
発音なんか、地方訛りが加わると「ト」でも「ド」でもどうにでもならぁ
んな、くだらんこと議論するんだったら他へ逝け、ドアフォが
そんなものが真の技術者だったら、日本の開発者の未来は無いな。
ただ、>>897-898は真の技術者でないことが判明したんだがな
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGWin32 Application *Programmer* Inteface 質問箱8
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGWindows APIのは Programming らしいな。
0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNGTを「ティー」と言おうが、「テー」と言おうが真の技術者です。
スタジオを「ステューディオ」と発音しようと真の技術者です。
0906デフォルトの名無しさん
NGNG誤植だな
0907デフォルトの名無しさん
NGNGそうとも言い切れんぞ。
http://www.google.com/search?num=50&hl=ja&&q=application-programmer-interface+site%3Amicrosoft.com
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNGまじめな話、「マップド」だろうが「マップト」だろうが通じる
というか日本語だって
「トーキョー エキ ハ ドコデスカ?」
と片言で発音めちゃくちゃで話しかけられても何とか理解できるだろ
きちんとした発音じゃないと通じないと思っているなら
米国人なめすぎだ
0911デフォルトの名無しさん
NGNGそこまでこだわるなら、翻訳自体許されない行為だろ。
英語のままで使え。
それも、米英どっちの英語かは知らんがな。
0912デフォルトの名無しさん
NGNGちと違う?
0913デフォルトの名無しさん
NGNG0914デフォルトの名無しさん
NGNG外来語、外国語も禁止。
0915デフォルトの名無しさん
NGNGあるノードaへのリンクb,cがあって
aのコピーdを作りdに修正を加え
後でbをdへのリンクに貼り直したら
cがaへのリンクのままだったって話なら
b,cはハードリンクでもシンボリックリンクでもショートカットでも同じことだろ
IShellLinkがCOMでない形で欲しいならそう言えばいい
脊髄反射という医学用語の使い方がよくわからんが
仮に漏れが840を読んでいなかったとして
そんなのは漏れの勝手だ放っとけちゅーねん
あんたが840を読んでない者と話したくなければレスする義務はない
見も知らぬ者に何を甘ったれてるんだおまえは
0916デフォルトの名無しさん
NGNG外来技術も禁止。
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG「日本語ベーシック」
ダメです。ベーシックは外来語です。
0921デフォルトの名無しさん
NGNGつか日本人って翻訳にたいする意識が低すぎ。
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGhttp://www.google.com/search?num=50&hl=ja&&q=application-programming-interface+site%3Amicrosoft.com
圧倒的に多いね
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNGMapViewOfFileEx(hoge hoge hoge ...)
で作成した領域に、プログラムファイルをロードして動作させているプログラムがあります。
この領域の保護属性をEXEにして、デバックしたいのですが、
最初の段階でSEC_IMAGEを加えても、
「%1は有効なWIN32アプリケーションではありません。」
(GetLastError+FormatMessageからとれるメッセージ)
といわれてしまいます。
どうすればいいでしょうか?
0928927
NGNG○CreateFileMappingで
0929デフォルトの名無しさん
NGNG>>878はただのUNIX厨なんだろ。
「Windowsは糞!UNIXこそは神!!マンセー!!!」
って叫びたいだけなんだから、そっとしとけ。
0930デフォルトの名無しさん
NGNGエクスプローラは対応していないようだが・・・。
0931デフォルトの名無しさん
NGNG量が多い方が、メジャーな方がいいに決まってるだろ。
どれだけ多くの人に通じるかが問題なんだから。
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNGリンク・・・フォルダのハードリンク・・・ジャンクション便利よ。
お気に入り(の一部)を他ユーザと共有できるし。
0934933
NGNG○ フォルダのシンボリックリンク
0935デフォルトの名無しさん
NGNGどこかにAPI関数一覧及びその意味・使い道を列挙した
サイト・本は無いのですか???
0936デフォルトの名無しさん
NGNGヘルプ
0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0939名無し@沢村
NGNGヌヒよ、APIの一覧は
http://www.microsoft.com/japan/developer/library/
の「プラットフォームSDK」の「プラットフォームSDK(日本語)」の中に全て書いてあるよ、ヌヒよ。
0940デフォルトの名無しさん
NGNGもしかして、他の奴らよりマシな存在なのかも・・・
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNGもしかして、他の奴らよりマシな存在なのかも・・・、ヌヒよ。
0944デフォルトの名無しさん
NGNGこの時点でまともでないと思われ
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG引数lpFileNameにそのまま渡し、諸引数を設定すれば出来るけれど、
このような質問を投げているということはプログラミングに向いていないのかもしれない。
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNG0951947
NGNGうまく開いてくれません。どうすればいいですか?
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG相対パスと絶対パスを理解していればそういう質問は出てこないはずだが、
もしそうなら PC 初心者板に逝ってくれ。
0955デフォルトの名無しさん
NGNG0956947
NGNGおさw
0957947
NGNG0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG画素一つ一つの情報を取得する関数(~.Point()ってやつ)で、全画素について情報を得て
得た画素一つ一つについて反転処理をしたんですが
どーにもPhotoshopのような超高速の反転処理と比べると足元にも及ばない遅い速度になってしまいます
アルゴスレでも聞いたんですがどーやら使ってるAPIに問題があるとかで
どうすれば高速化できるのでしょうか?
0960デフォルトの名無しさん
NGNGとりあえず使うとしたらGetPixel/SetPixelかな?
でも、本格的な画像処理するんだったらいちいちそんなことしないでしょ。
0961デフォルトの名無しさん
NGNG失礼。(アルゴスレって初めて聞いた)
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGPhotoshop のようなペイントソフトは、内部に独自の作業領域を持ってる。
普通にプログラム内の配列のように使っている領域だ。
反転などの処理はその作業領域に対して行っていて、画面に直接描画しているわけでは
ない。
描画に必要な時にはじめてその作業領域をビットマップとして画面に貼りつける。
0966959
NGNGビットマップとして画面に貼付ける方法をぜひ教えてください
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGDIBセクションを作業領域として使うんじゃだめ?
0969デフォルトの名無しさん
NGNG> aのコピーdを作りdに修正を加え
> 後でbをdへのリンクに貼り直したら
> cがaへのリンクのままだったって話なら
そんな話は誰もしてない。勝手にお前の都合のいいように
話を作り替えるな。
> IShellLinkがCOMでない形で欲しいならそう言えばいい
だから誰もそんなこと言ってない。
> 仮に漏れが840を読んでいなかったとして
> そんなのは漏れの勝手だ放っとけちゅーねん
そうだな。ハードリンクと言ってる奴に対して
ハードリンクがあるじゃんといったり
遅いといってるのにCOM以外のインターフェース
がどうとかぜんぜん無関係の話はじめて恥かくのは
お前だし確かに余計なお世話だった
0971デフォルトの名無しさん
NGNGシツコイ(・∀・)カエレ!!
0972959
NGNGなんかよくわからないので
基本を勉強してからまたこのスレ戻って来ます
0973デフォルトの名無しさん
NGNG0975名無し@沢村
NGNGヌヒよ、BitBltを使えば良いよ。
0976な
NGNG反転させるだけなら、
Picture1.DrawMode = vbInvert
Picture1.Line ( 0 , 0 )-( 100 , 100 ), , BF
で出来ると思います。
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG使えるけど、VBはポインタがないからうまみが少ない。
0979デフォルトの名無しさん
NGNGkeybd_event関数を調べていたら、sendinput関数を推奨とおり、
サンプルを探したのですがみつかりませんでした。
サンプルでいい参照先がありましたら教えてください。
0980デフォルトの名無しさん
NGNG次のサンプルコードは、仮想キー VK_NUMLOCK を指定して keybd_event() を
使うことにより、NumLock のランプをトグルさせます(Windows NT のみ)。
1 個の Bool 型の値を使って、ランプがオフ(FALSE)とオン(TRUE)のどちら
になっているかを表します。CapsLock キー(VK_CAPITAL)と ScrollLock キー
(VK_SCROLL)にも、これと同じ手法を適用できます。
#include <windows.h>
void SetNumLock( BOOL bState )
{
BYTE keyState[256];
GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
(!bState && (keyState[VK_NUMLOCK] & 1)) )
{
// キーの押し下げをシミュレートする。
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// キーの解放をシミュレートする。
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}
void main()
{
SetNumLock( TRUE );
}
0981979
NGNGありがとうございます。私の記述が悪かったのですが、知りたかったのはSendinputを
つかったものだったのです。新しいスレッドができているようなのでそちらで改めて質問
してみます。
レス数が950を超えています。1000を超えると書き込みができなくなります。