[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/22 11:35 / Filesize : 228 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build52



1 名前:デフォルトの名無しさん [2007/04/18(水) 01:54:51 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-5くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

496 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 15:35:31 ]
いいえ

497 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 16:50:13 ]
                  /    /  . :   ヘ/!    \
                 //   / . /: : ∠、ム|  .    ヽ
                / ィ   .  / :/|: |: :/   ノ: 人:     ハ
                  i/ . : . | .|{‐ |=ヘ{‐'! ` =ナ左、 V:|:   .ハ
                 / | :|: : |: :八 | o ヽ|  ´ o ∨/:   i |
                |:i: : . 、 |{ ヘ! .彡 ,  ミ、  /メ|  . ハ|
                 ヽ|ヽ: : .`| .三´ _____ ̄彡'/ . ://リ
                    > .\ |ニ. 二、,二.ヽ| /: //
                      / : : ハ`` V: : : : :ン∠イ : : ヽ ァハハ八八ノヽノヽノヽノ \ノ \ / \ / \
                  / . : :/ : \ \――/ /: :|: : : . :ヽ
                   /  . : : : :ィ: > ` ̄ イ: : 、 、、: : : : .ハ
                   /  . :/i/ "´ |  ̄ | `^``゙^\:、 : . ハ
                i/ . :/    へ ノ   __ Vニ、   ヽi、:、: i
                 ハ i:/  ∠.... iく__ 彡⌒ソ   > ‐ 、 ヽi、!
                  V / ̄、 ̄\\  ∠ニ -‐_厂 ヽ.  `
                  /  |: レ  ̄ ̄` 厂| ̄,r ̄-  、: |.  i
                /   .|/     厂 | '´     V:  丶
              「 ̄ ̄`ヽ/. : : : . . /  ハ  . : : : : : . V/ ̄`ヽ
              ,ノ二二.ヽ {. : : : : : :∧ヽ/∧: : : : : : : : :} . ニニヽ
            < ̄ィ―- 、ヽV: : : : : :\//: : : : : : : : ノ//. --t、ヽ
             `7    ヽ.ハ: : : : : : : :`´|: : : : : : : : : {彡''´   |/




498 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 17:14:45 ]
>>473
そもそもDllMainでuser32.dllの関数を呼び出してはいけない(もちろんMessageBoxも)

499 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 17:15:45 ]
>>492-493
そっちのほうがよっぽど気持ち悪いんだが潔癖症の方々はウィンドウを作らないこと自体
が目的化してるんですかね。健康のためなら死んでもいいみたいな。
>>489とか見てると釣りのようにも思えるけど

500 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 18:02:07 ]
やってみることに意味があるんだろう
無いけど

501 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 18:07:31 ]
ShellExecuteでファイルを開くと新しいウィンドウで開かれますが、
既存のウィンドウ内に表示させることは可能でしょうか?
具体的にはswfなどのファイルを、BMPをペタペタ貼るような感じで使いたいのですが・・・

502 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 18:29:52 ]
ActiveXでFlashコントロールをホストすればー

503 名前:デフォルトの名無しさん [2007/04/30(月) 19:22:13 ]
っていうかWindow作るのダサいし

504 名前:デフォルトの名無しさん [2007/04/30(月) 20:09:44 ]
MSXML6.0でXMLをロードするときに関数にIXMLDOMDocumentをポインタで引き渡すと値が返ってきません。
関数の内部での値はとれているのですが。
こういう仕様なのでしょうか?

OKの場合

CComPtr<IXMLDOMDocument> xmldom;
if(CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (void**)&xmldom) != S_OK){
return;
}

xmldom->put_async(VARIANT_FALSE);
xmldom->load(_variant_t(FileName), &result);
if(result != VARIANT_TRUE){
return;
}




505 名前:デフォルトの名無しさん [2007/04/30(月) 20:11:04 ]
NGの場合

if(LoadXML(FileName,xmldom) == false){
return;
}

bool LoadXML(const char* FileName,IXMLDOMDocument *xmldom)
{
VARIANT_BOOL result;
if(CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (void**)&xmldom) != S_OK){
return false;
}
xmldom->put_async(VARIANT_FALSE);
xmldom->load(_variant_t(FileName), &result);
if(result != VARIANT_TRUE){
return false;
}
return true;
}

506 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 20:18:34 ]
引数でポインタを返したければ、その引数はポインタのポインタである必要がある、って
いうCの基本のお話なのかな?

507 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 21:09:37 ]
×bool LoadXML(const char* FileName,IXMLDOMDocument *xmldom)
○bool LoadXML(const char* FileName,IXMLDOMDocument **xmldom)

508 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 21:16:44 ]
まあ、ポインタ参照にしてもいいけどネ

509 名前:デフォルトの名無しさん [2007/04/30(月) 22:21:03 ]
>>491
その可能性もあるけど
そうするともうどうしようもなくないか?
>>498
へー

510 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:46:27 ]
#define STRICT
#include <windows.h>
#include <windowsx.h>
#include "ResHOOKTEST.h"
#include "HOOKTEST.H"
static HWND hWndmain;
static HINSTANCE hInst;

LRESULT CALLBACK mainDlgProc(HWND hDlg,UINT message,WPARAM wparam,LPARAM lparam){
switch(message){
case WM_COMMAND:
if(wparam==HOOKON){
makehook();
return TRUE;
}
if(wparam==HOOKOFF){
unhook();
EndDialog(hDlg,TRUE);
}
default: return FALSE;
}
return TRUE;
}
int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
UNREFERENCED_PARAMETER(nCmdShow);
hInst=hInstance;
LoadLibrary(TEXT("HOOKTEST.dll"));
DialogBox(hInstance,"MYDLG",NULL,(DLGPROC)mainDlgProc);
return 0;
}

511 名前:デフォルトの名無しさん [2007/04/30(月) 22:48:04 ]
あああああああもうだれかたすけてえええええええええええええ

512 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:48:21 ]
page11.auctions.yahoo.co.jp/jp/show/reviews?aID=n50365155

513 名前:504 [2007/04/30(月) 23:08:00 ]
>>506
ポインタで引き渡しているのに、ポインタのポインタで渡さなければならないのですか?
すみません。この辺理解がよくできてないです。

>>507
変更してみたのですが、
xmldom->put_async(VARIANT_FALSE);
の箇所のメンバ指定の方法がよくわかりません。
こういう感じで変更してみたのですが、コンパイルエラーが無くなりませんでした。
*(xmldom)->put_async(VARIANT_FALSE);

APIよりC言語の基本のほうを勉強したほうがよさそうですね・・・

514 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 00:38:58 ]
>>513
(*xmldom)->put_async(VARIANT_FALSE);
'->'の方が優先順位が高い。
もちろん、CoCreateInstanceの方も (void**)xmldom に直してあるよな。

後CLSID_DOMDocumentだと、MSXML3以前のインスタンスが返されていると思う。
MSXML4以降の機能を使いたければ、個別のCLSIDを指定する必要がある。
MSXML6なら、CLSID_DOMDocument60って感じで。詳細は英語版MSDN。



515 名前:491 mailto:sage [2007/05/01(火) 02:07:50 ]
>>510-511
今思ったんだけどさー

別にhInstanceをグローバル変数にコピーしなくても
GetModuleHandle(”dll名”)に置き換えれば良いんじゃないの

516 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 02:16:32 ]
さすがジョースター卿w
発想の転換だなw

517 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 04:02:47 ]
>>515
だめです

518 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 08:58:43 ]
>>473 DLL側本体は int makehook(HINSTANCE)
>>510 利用側は makehook();

根本から間違ってねーか?

519 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 09:36:11 ]
UrlDownloadToCacheFileでWeb上の頻繁に更新されるファイルを取得した場合、
キャッシュ済みのデータが戻ってきたりで必ずしも最新のファイルでない場合がよくあるのですが、
強制的に更新させる方法はないのでしょうか?

自分でソケット使って書くのマンドクセ('A`)

520 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 09:42:18 ]
ファイルを一度削除してから再度実行すれば?

521 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 10:05:39 ]
#include <windows.h>
#define EXPORT extern "C" __declspec(dllexport)
HINSTANCE hinst;
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD dwDllMainEvent,LPVOID lpvReserved){
if(dwDllMainEvent==DLL_PROCESS_ATTACH)
hinst = hinstDLL;
return TRUE;
}
EXPORT int func(void){
char buf[15];
wsprintf(buf,"%d",hinst);
MessageBox(NULL,NULL,buf,MB_OK);
}

dllにして外部から呼び出すとインスタンスハンドルはコピーされている
460=461がコード内で妙なことしてるとしか思えない

522 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 10:07:34 ]
VC買え

523 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 10:14:31 ]
Windowsの窓ありきな設計思想に問題があるんじゃないかな。

524 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 10:19:36 ]
static HMODULE g_hModule = NULL;

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
g_hModule = hModule;
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}



525 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 10:20:46 ]
>>523
非表示の窓を作れないorやたら面倒なら確かに問題があるかもな

526 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 10:21:02 ]
>>510
どこでGetProcAddressしてるの?

527 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 11:21:16 ]
GUIを必要としないのに非表示の窓を作るのは倫理的に間違っている。

528 名前:デフォルトの名無しさん [2007/05/01(火) 11:22:50 ]
知らないならレスするな

529 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 11:26:22 ]
GUIが必要だからタスクトレイに表示するのでは( ̄ー ̄)

530 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 11:39:23 ]
>>527
ネットワークサービスだけ立ち上がればいいのに、GUIでしか起動できないWindowsは間違っている。
だからCUIのみでも使えるLinuxでも使えば?

531 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 11:53:53 ]
クッキー焼いてみたの、ちょっと味見してくれない?
勘違いしないでね、別にあんたの為に作ったんじゃないんだからね。

532 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 12:15:12 ]
Longhorn ServerはついにGUIレスモードが

533 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 12:22:11 ]
そもそもサービスは・・・

534 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 12:39:43 ]
>>531
わっふるわっふる



535 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 13:33:10 ]
>>532
当然タスクトレイも使えないわけだが
ウィンドウはいらないけどタスクトレイは必要なんて頭のおかしい要求する奴以外は
問題ないわな

536 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 14:28:36 ]
タスクトレイのアイコンでクリック連打するとクリックした回数に応じて
他アプリを立ち上げるランチャーなんてどうだろう

537 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 14:33:31 ]
つクイック起動

538 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:17:38 ]
ppmフォーマットの画像を読み込ませてウィンドウに表示したいのですが
どうしたらいいですか?
LoadImageだとppmは読めないので困ってます

539 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:20:20 ]
ppmをDIBに変換すればいいんじゃね

540 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:23:14 ]
ppmはグレイスケールの画像で、fscanfで独自に読み込んで
るんですけど、そのDIBには頑張れば変換出来そうですか?

541 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:27:33 ]
できるけど、そもそもLoadImage使おうとしたのは何なんだ

542 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:28:31 ]
CreateDIBSection → BitBlt のコース
WM_PAINT で SetPixel ぐるぐる回すコース

543 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:40:40 ]
LoadImageで読み込めたら表示も楽に出来ると
思ってました・・・
CreateDIBSectionってやつで頑張ってみようと思います

544 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:46:10 ]
Susie Plugin とか使うとか
// 懐かしい響きだな



545 名前:デフォルトの名無しさん [2007/05/01(火) 18:30:14 ]
SQLConfigDataSourceでMySQLをODBCに登録する方法を教えてください

546 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:36:53 ]
OOの話でよく、
「OOはデータと操作とカプセル化しちゃって、その部品を使うこと」
みたいなこと書いてあるの見ることあるけど、
これって構造化の話だよな?

547 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:49:47 ]
>>546
構造化と言うと、普通はDijkstraの「gotoやめれ」でしょ。OOよりだいぶ前。

548 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 19:00:35 ]
OO はカプセル化が基本ではあるが、
ポリモーフィズムが一番の肝だと思うんだぜ。

549 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 19:22:09 ]
>>518
>>473はためしに書き直してみただけ

550 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 19:32:46 ]
>>527
不合理ではあるが、HWND_MESSAGE なんてのもあるな。

551 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 19:53:39 ]
ネ申

552 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 21:24:43 ]
>547
構造化は、TopDownとBottomUpと複合設計って事だよ。

553 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 21:32:30 ]
>>545
SQLConfigDataSourceでODBCにMySQLを登録する方法を教えてください
の間違いじゃね?

これ、C:\Program Files\Common Files\ODBC\Data Sourcesフォルダ下に
ファイル置くだけじゃなかった?

554 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 21:42:39 ]
>>519
亀レス気味だが、
IBindStatusCallback::GetBindInfoが呼び出された時に、
BINDF_GETNEWESTVERSIONフラグ返せばいいんじゃね?
使ったことないから保証はしないが。



555 名前:553 mailto:sage [2007/05/01(火) 21:46:58 ]
>補足
それでも、素でDSNファイルを作るんなら、
以下のサイトで接続文字列をチェックし、
msdn2.microsoft.com/ja-jp/library/ms130822.aspx
lpszAttributesを作成する。
各パラメータはNULLでつなぎ、最後だけNULLを2つ繋ぐ。
(参考:msdn.microsoft.com/library/en-us/odbc/htm/odbcconfigdsn.asp?frame=true
lpszDriver は、"MySQL ODBC 3.51 Driver"かな?

んで、
SQLConfigDataSource(NULL, ODBC_ADD_SYS_DSN, lpszDriver, lpszAttributes);
ではだめか?

556 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:09:45 ]
>>521
#include <windows.h>
#include "ResHOOKTEST.h"
#include "HOOKTEST.h"

LRESULT CALLBACK mainDlgProc(HWND hDlg,UINT message,WPARAM wparam,LPARAM lparam){
switch(message){
case WM_COMMAND:
if(wparam==HOOKON){
func();
return TRUE;
}
if(wparam==HOOKOFF){
EndDialog(hDlg,TRUE);
}
default: return FALSE;
}
return TRUE;
}

int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
UNREFERENCED_PARAMETER(nCmdShow);
/*LoadLibrary(TEXT("HOOKTEST.dll"));*/
DialogBox(hInstance,"MYDLG",NULL,(DLGPROC)mainDlgProc);
return 0;
}

でよみだしたけどやっぱり無理だお

557 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:55:40 ]
VK_KANAが立っているのに

558 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 23:01:15 ]
しかし飽きもせず、おまえらフック大好きだよなー

559 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 23:09:41 ]
しかしフック以前の段階で詰まってる罠

560 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 23:26:28 ]
僕ハッカー!

561 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 23:27:36 ]
僕バッカー

562 名前:デフォルトの名無しさん [2007/05/01(火) 23:28:14 ]
俺チンコ

563 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 23:47:57 ]
フックはひとつのDLLで二つとかセット出来ますか?

564 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 00:26:04 ]
『日本初・民営刑務所 囚人が「ソフト開発」』だってよw

ある意味俺らは囚人だww



565 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 00:31:03 ]
>>563
聞く前にまずやってみろ
SetWindowsHookExのパラメータ見ればわかりそうなもんだが

>>556
もうめんどくせーから
www.uploda.net/cgi/uploader4/index.php?file_id=0000012798.zip
でDLL作れ


566 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 08:02:53 ]
初心者ですみません。
gdi+のライブラリの中身を解析したいのですが、可能でしょうか?
それともうひとつ、図々しいですが
jpgファイルの構造を教えてくれるところはないですか?
DIBのピクセルビットを操作するようにjpgのピクセルを操作したいのです。
お願いします。

567 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 08:13:28 ]
>>566
スレ違いだと思うが・・・


jpeg header formatでググる

Code Projectを漁る
www.codeproject.com/bitmap/iptc.asp
などなど

OleLoadPictureFileでDCに乗せるとかいろいろ

568 名前:デフォルトの名無しさん [2007/05/02(水) 08:29:10 ]
アタッマきた

569 名前:567 mailto:sage [2007/05/02(水) 08:49:01 ]
俺が先に云うね

567にカチンときたので教えません。 バーカ!

>>568
これでいい?

570 名前:566 mailto:sage [2007/05/02(水) 10:07:04 ]
>>567
ありがとうございます。
試してみます。

571 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 10:39:54 ]
>>566
GDI+は、ソース公開されていないよ。
逆アセンブルするんだとか言うなら誰も止めはしないが、せいぜいライセンスは気にかけておけ。

JPEGは、画像を圧縮して記録していて、解凍しないと画像は取り出せない。
仮に編集するとしたら、編集終了後にJPEGとして保存するために再び圧縮することになる。



572 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 10:42:05 ]
不可逆の圧縮に対して解凍というのは違和感有りまくり

573 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 10:55:00 ]
>>572
同意。

今の時代は質よりも、
聞こえればいい、見えればいいの時代なのね

574 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 10:55:19 ]
JPEGはハフマンの強さを見せ付けられる圧縮技術。



575 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 10:59:50 ]
フーリエ先生も自分の考えてたことが数百年後に役に立つと予想出来たであろうか

576 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:17:38 ]
>>572
冷凍食品は不可逆でないのか?

577 名前:デフォルトの名無しさん [2007/05/02(水) 11:36:04 ]
それは屁理屈

展開でいいじゃん

578 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:51:53 ]
素材そのものではないのに
素材の名前をつけた料理には違和感ありまくり

579 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:53:06 ]
タイヤキ

580 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:56:26 ]
ミスタードーナツのメニュー

581 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:06:29 ]
可逆だろうが不可逆だろうが圧縮に対して解凍は違和感あり
展開・復元でいいでしょ
不可逆に対して復元は語弊あるけど

582 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:12:55 ]
解凍って言い回しはアーカイブファイルでないとしっくり来ない

まあ意味は伝わるからどうでもいいけどね

583 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:21:52 ]
まあな。文脈さえ読めればおk
宮廷に仕えてるわけでもないしねw

584 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:38:11 ]
解凍って言い回しはLHarc(現LHAの前身)の頃に作者の吉田さんが使い始めたんだよね。
当時のパソ通コミュで(それこそvoidも含めてw)多くのエンジニアからやめろと言われたにも関わらず。
吉田さんが自粛してくれていればこんなことには……



585 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:46:48 ]
>>578
Jリーグカレーとか?

586 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 14:14:38 ]
おかわり

587 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:06:28 ]
どうでもいい

588 名前:デフォルトの名無しさん [2007/05/02(水) 15:44:05 ]
>>555
ありがとうございます。
こんな感じでやってみたのですがダメでした・・・・
どこが悪いでしょうか

BYTE *drv = "MySQL ODBC 3.51 Driver";
BYTE att[512];
::wsprintf( &att[0], "DSN=%s\0", "test1" );
::wsprintf( &att[::lstrlen(att)+1], "Server=%s\0", "testserver" );
::wsprintf( &att[::lstrlen(att)+1], "UID=%s\0", "root" );
::wsprintf( &att[::lstrlen(att)+1], "PWD=%s\0", "1234" );
::wsprintf( &att[::lstrlen(att)+1], "DATABASE=%s\0\0", "testdb" );
::SQLConfigDataSource( NULL, ODBC_ADD_SYS_DSN, drv, att );


589 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:52:35 ]
文字列を文字列として渡す関数に \0 をつけるのは無意味
よって、\0 も \0\0 も意味がない。
それ全部はずした上で、配列に直接\0入れてやれ

590 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:58:53 ]
>>589
意味はないけど間違いでもない。
wsprintfで入れてくれるから後から入れるのはもっと無意味

591 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:01:34 ]
>>590
あのさ、直接入れるのは\0\0と2つ重ねる話なんだけど

592 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:04:11 ]
あと、strlenだと、最初の\0 間でしか数えないから、sprintfの戻り値を足してやれ

593 名前:デフォルトの名無しさん [2007/05/02(水) 16:04:22 ]
HINSTANCE hLib = LoadLibrary("xxx.dll");
を実行すると、下記のエラーが出力されます。

error C2664: 'LoadLibraryW' : 1 番目の引数を 'const char [12]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。


解決方法を教えてください。

参考ページ:ttp://homepage2.nifty.com/DSS/VCPP/DLL/dlldynamiccall.htm
環境:WindowsXP, Visual C++ EE 2005


594 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:09:52 ]
>>588
最初のstrlen(att)+1以外のstrlen(att)+1が全て間違っている。
それでは長さが全部同じになるから、先頭アドレスは足していかないと



595 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:09:59 ]
>>593
HINSTANCE hLib = LoadLibrary(_T("xxx.dll"));

で、どうか?

596 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:17:18 ]
>>595

ありがとうございます。
読み込めました。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<228KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef