掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッドに複数の引数を渡すには (ID:60425)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
問題なくコンパイルできたのですが(エラー0、警告0) なぜかスレッドの方に正しく引数が渡されていないみたいです。 ふと思ったのですが、毎回スレッド側でメインのダイアログのHWNDとかUINTとかを取得しなければいけないですよね? 一応記述したソースを張っておきます。 resource.h ----------- いろいろ BOOL CALLBACK DlgWndProc(HWND, UINT, WPARAM, LPARAM); DWORD WINAPI fnThread1(LPVOID); void printTextserver(TCHAR *,LPVOID); void printTextclient(TCHAR *,LPVOID); typedef struct data{ HWND hWnd; UINT message; WPARAM wParam; LPARAM lParam; } DATA; ----------------- main.cpp -------------------- //ダイアログボックスのウインドウプロシージャ BOOL CALLBACK DlgWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { ///省略 case IDC_BUTTON2: DATA data; data.hWnd = hWnd; data.message =message; data.wParam = wParam; data.lParam = lParam; if (GetWindowTextLength(GetDlgItem(hWnd,IDC_EDIT3)) != 0){ hThread1=CreateThread(NULL,0,fnThread1,&data,0,NULL); /* スレッド作成 */ //省略 ------------------- socket.cpp(スレッド) ---------------- DWORD WINAPI fnThread1(LPVOID lpV) { DATA* pdata = (DATA*)lpV; HWND hWnd = pdata->hWnd; WPARAM wParam = pdata->wParam; //省略 if(LOWORD(wParam) == IDC_BUTTON3){ SetWindowText(GetDlgITem(hWnd,IDC_EDIT4); } //省略 } よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.