大家来帮忙看看啊,为什么老是显示LINK : 没有找到 C:/Documents and Settings/Administrator/桌面/端口扫描/Debug/端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接
2008-04-22 23:48
911 查看
我是一个在校大学生,专业是计算机科学与技术,我的方向是软件开发,下面是我的一个作业,但是有些错误,老是显示LINK : 没有找到 C:/Documents and Settings/Administrator/桌面/端口扫描/Debug/端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接,请大家帮忙看看哈!
/*----------------------------------------------------------------------------------
端口扫描程序
----------------------------------------------------------------------------------*/
#pragma comment(lib, "WS2_32.lib")
#pragma comment(lib, "ComCtl32.lib")
#include <windows.h>
#include <CommCtrl.h>
#include "_ListView.h"
#include "resource.h"
//-------------全局变量-----------
HINSTANCE ghInstance;
HWND ghWinMain;
HWND ghListView;
int ghCurrentRow = 0;
DWORD dwOption;
DWORD F_STOP=1;
//--------程序中用到的函数--------
BOOL CALLBACK _ProcDlgMain(HWND, UINT, WPARAM, LPARAM);
DWORD WINAPI _WorkThread(LPVOID _lpParam);
//--------------主函数------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
ghInstance = hInstance;
InitCommonControls();
DialogBoxParam(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, _ProcDlgMain,0);
return 0;
}
/*-----------------------------------------------------------------------------
主对话框函数
BOOL CALLBACK _ProcDlgMain(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
-------------------------------------------------------------------------------*/
BOOL CALLBACK _ProcDlgMain(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
HICON hIcon;
WSADATA stWSAData;
HANDLE hThread;
DWORD dwThreadId;
switch(uMessage)
{
case WM_INITDIALOG:
dwOption |= F_STOP; //dwOption=1
ghWinMain = hWnd;
hIcon = LoadIcon(ghInstance, MAKEINTRESOURCE(ICO_MAIN));
SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
WSAStartup(MAKEWORD(2,0), &stWSAData);
ghListView = GetDlgItem(hWnd, IDC_LIST);
SendMessage(ghListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
ShowWindow(ghListView, SW_SHOW);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0, 0);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
dwOption &= ~F_STOP; //dwOption=0
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), TRUE);
_ListViewClear(ghListView);
_ListViewAddColumn(ghListView, 0, 500, "扫描结果");
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)_WorkThread, 0, NULL, &dwThreadId);
CloseHandle(hThread);
break;
case IDCANCEL:
dwOption |= F_STOP; //dwOption=0
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0,0);
break;
}
case WM_CLOSE:
if(dwOption & F_STOP) //dwOption=1 (dwOption & F_STOP)=0
{
WSACleanup();
EndDialog(ghWinMain,NULL);
}
break;
default:
return (FALSE); // We didn't process the message.
}
return (TRUE);
}
/*---------------------------------------------------------------------
扫描函数
DWORD WINAPI _WorkThread(LPVOID _lpParam);
---------------------------------------------------------------------*/
DWORD WINAPI _WorkThread(LPVOID _lpParam){
DWORD dwStartIp;
DWORD dwEndIp;
DWORD dwStratPort;
DWORD dwEndPort;
SendMessage(GetDlgItem(ghWinMain, IDC_IPADDR1), IPM_GETADDRESS,0, (LPARAM) &dwStartIp);
SendMessage(GetDlgItem(ghWinMain, IDC_IPADDR2), IPM_GETADDRESS,0, (LPARAM) &dwEndIp);
dwStratPort = GetDlgItemInt(ghWinMain, IDC_PORT1, NULL, FALSE);
dwEndPort = GetDlgItemInt(ghWinMain, IDC_PORT2, NULL, FALSE);
for(DWORD dwIp=dwStartIp; dwIp<=dwEndIp;dwIp++)
{
for(DWORD dwPort=dwStratPort; dwPort<=dwEndPort && !(dwOption | F_STOP);dwPort++)
{
SOCKADDR_IN stSin;
SOCKET hSocket;
SYSTEMTIME stTime = {0};
char szBuffer[512] = {0};
hSocket = socket(AF_INET, SOCK_STREAM, 0);
stSin.sin_family = AF_INET;
stSin.sin_port = htons((short)dwPort);
stSin.sin_addr.S_un.S_addr = htonl(dwIp);
char* szIp = inet_ntoa(stSin.sin_addr);
if(connect(hSocket, (LPSOCKADDR)&stSin, sizeof(stSin)) == 0)
{
//连接成功
GetLocalTime(&stTime);
wsprintf(szBuffer, "%s 端口 %d 连接成功 -时间 %d:%d:%d", szIp, dwPort,
stTime.wHour, stTime.wMinute, stTime.wSecond);
}
else
{
//连接失败
GetLocalTime(&stTime);
wsprintf(szBuffer, "%s 端口 %d 连接失败 -时间 %d:%d:%d", szIp, dwPort,
stTime.wHour, stTime.wMinute, stTime.wSecond);
}
ghCurrentRow = (int)_ListViewSetItem(ghListView, ghCurrentRow, -1, 0); //插入新的一行,是空白的。
_ListViewSetItem(ghListView, ghCurrentRow, 0, szBuffer);
ghCurrentRow++;
closesocket(hSocket);
}
}
dwOption |= F_STOP; //dwOption=1
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0, 0);
return 0;
}
调试结果:
------ 已启动生成: 项目: 端口扫描, 配置: Debug Win32 ------
正在链接...
LINK : 没有找到 C:/Documents and Settings/Administrator/桌面/端口扫描/Debug/端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接
正在嵌入清单...
生成日志保存在“file://c:/Documents and Settings/Administrator/桌面/端口扫描/端口扫描/Debug/BuildLog.htm”
端口扫描 - 0 个错误,0 个警告
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过 ==========
/*----------------------------------------------------------------------------------
端口扫描程序
----------------------------------------------------------------------------------*/
#pragma comment(lib, "WS2_32.lib")
#pragma comment(lib, "ComCtl32.lib")
#include <windows.h>
#include <CommCtrl.h>
#include "_ListView.h"
#include "resource.h"
//-------------全局变量-----------
HINSTANCE ghInstance;
HWND ghWinMain;
HWND ghListView;
int ghCurrentRow = 0;
DWORD dwOption;
DWORD F_STOP=1;
//--------程序中用到的函数--------
BOOL CALLBACK _ProcDlgMain(HWND, UINT, WPARAM, LPARAM);
DWORD WINAPI _WorkThread(LPVOID _lpParam);
//--------------主函数------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
ghInstance = hInstance;
InitCommonControls();
DialogBoxParam(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, _ProcDlgMain,0);
return 0;
}
/*-----------------------------------------------------------------------------
主对话框函数
BOOL CALLBACK _ProcDlgMain(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
-------------------------------------------------------------------------------*/
BOOL CALLBACK _ProcDlgMain(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
HICON hIcon;
WSADATA stWSAData;
HANDLE hThread;
DWORD dwThreadId;
switch(uMessage)
{
case WM_INITDIALOG:
dwOption |= F_STOP; //dwOption=1
ghWinMain = hWnd;
hIcon = LoadIcon(ghInstance, MAKEINTRESOURCE(ICO_MAIN));
SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
WSAStartup(MAKEWORD(2,0), &stWSAData);
ghListView = GetDlgItem(hWnd, IDC_LIST);
SendMessage(ghListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
ShowWindow(ghListView, SW_SHOW);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0, 0);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
dwOption &= ~F_STOP; //dwOption=0
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), TRUE);
_ListViewClear(ghListView);
_ListViewAddColumn(ghListView, 0, 500, "扫描结果");
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)_WorkThread, 0, NULL, &dwThreadId);
CloseHandle(hThread);
break;
case IDCANCEL:
dwOption |= F_STOP; //dwOption=0
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0,0);
break;
}
case WM_CLOSE:
if(dwOption & F_STOP) //dwOption=1 (dwOption & F_STOP)=0
{
WSACleanup();
EndDialog(ghWinMain,NULL);
}
break;
default:
return (FALSE); // We didn't process the message.
}
return (TRUE);
}
/*---------------------------------------------------------------------
扫描函数
DWORD WINAPI _WorkThread(LPVOID _lpParam);
---------------------------------------------------------------------*/
DWORD WINAPI _WorkThread(LPVOID _lpParam){
DWORD dwStartIp;
DWORD dwEndIp;
DWORD dwStratPort;
DWORD dwEndPort;
SendMessage(GetDlgItem(ghWinMain, IDC_IPADDR1), IPM_GETADDRESS,0, (LPARAM) &dwStartIp);
SendMessage(GetDlgItem(ghWinMain, IDC_IPADDR2), IPM_GETADDRESS,0, (LPARAM) &dwEndIp);
dwStratPort = GetDlgItemInt(ghWinMain, IDC_PORT1, NULL, FALSE);
dwEndPort = GetDlgItemInt(ghWinMain, IDC_PORT2, NULL, FALSE);
for(DWORD dwIp=dwStartIp; dwIp<=dwEndIp;dwIp++)
{
for(DWORD dwPort=dwStratPort; dwPort<=dwEndPort && !(dwOption | F_STOP);dwPort++)
{
SOCKADDR_IN stSin;
SOCKET hSocket;
SYSTEMTIME stTime = {0};
char szBuffer[512] = {0};
hSocket = socket(AF_INET, SOCK_STREAM, 0);
stSin.sin_family = AF_INET;
stSin.sin_port = htons((short)dwPort);
stSin.sin_addr.S_un.S_addr = htonl(dwIp);
char* szIp = inet_ntoa(stSin.sin_addr);
if(connect(hSocket, (LPSOCKADDR)&stSin, sizeof(stSin)) == 0)
{
//连接成功
GetLocalTime(&stTime);
wsprintf(szBuffer, "%s 端口 %d 连接成功 -时间 %d:%d:%d", szIp, dwPort,
stTime.wHour, stTime.wMinute, stTime.wSecond);
}
else
{
//连接失败
GetLocalTime(&stTime);
wsprintf(szBuffer, "%s 端口 %d 连接失败 -时间 %d:%d:%d", szIp, dwPort,
stTime.wHour, stTime.wMinute, stTime.wSecond);
}
ghCurrentRow = (int)_ListViewSetItem(ghListView, ghCurrentRow, -1, 0); //插入新的一行,是空白的。
_ListViewSetItem(ghListView, ghCurrentRow, 0, szBuffer);
ghCurrentRow++;
closesocket(hSocket);
}
}
dwOption |= F_STOP; //dwOption=1
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0, 0);
return 0;
}
调试结果:
------ 已启动生成: 项目: 端口扫描, 配置: Debug Win32 ------
正在链接...
LINK : 没有找到 C:/Documents and Settings/Administrator/桌面/端口扫描/Debug/端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接
正在嵌入清单...
生成日志保存在“file://c:/Documents and Settings/Administrator/桌面/端口扫描/端口扫描/Debug/BuildLog.htm”
端口扫描 - 0 个错误,0 个警告
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过 ==========
相关文章推荐
- LINK : 没有找到 *.exe 或上一个增量链接没有生成它;正在执行完全链接
- 在编译的时候出现这个问题 LINK : 没有找到 C:\Users\...\transposeMatrix.exe 或上一个增量链接没有生成它;正在执行完全链接 我用的是VS2008
- LINK : 没有找到 *.exe 或上一个增量链接没有生成它;正在执行完全链接
- LINK : 没有找到 ... 或上一个增量链接没有生成它;正在执行完全链接
- ink 没有找到 或上一个增量链接没有生成它;正在执行完全链接
- 关于“或上一个增量链接没有生成它;正在执行完全链接”
- error PRJ0050: 未能注册输出。或上一个增量链接没有生成它;正在执行完全链接问题的解决
- 编译驱动时出现的错误Error translating C:\Documents and Settings\Administrator\桌面\PLX9054_DMA_LVDS\Driver\objfr
- BLOG的下面部分内容怎么去掉?没有找到相关的设置!大家帮忙看看!
- 在看官方的例子时候由一个grid实例,在每一行之前有个加号,展开可以显示内容,在实际应用中还是非常有用的,照搬例子的代码,发现老是提示对象不存在,查阅资料后发现是没有加载插件,这里和大家分享下Ext.grid.RowExpander插件的使用,
- 点了快速帮助里面的例子的链接后出现一个toolbar显示正在下载,半天也下不来,还要输入apple developer的口令,也不让输入啊,一输入就报错,没有权限,什么玩意?如何取消?
- 现在正在搞博士的东西,导师要求将一个二维的图片转换成现实生活中的三维图片,实现仿真,这个课题真有点难度,现在还莫不着头绪,查了相关的一些知识,可就是没有一个系统的,希望大家各抒己见,提一些好的建议,好的文章
- N皇后问题的一个程序,请大家看看!帮忙修改
- PC安卓模拟器PANIC: Could not open:C:\Documents and Settings\Administrator\.android/avd/my_avd.ini解决方案
- 为什么最近我不能在我自己的日志里面发表评论呢?点发表没有反应,请大家帮我测试一下看看能否发!
- //写一个生成10个100以内随机数数据,再进行冒泡排序,顺序,//二分查找法找到一个值得位置,如果没有则为-1,有则返回数组位置
- 无法访问第二块硬盘系统分区中Documents and Settings下的Administrator文件夹的解决
- 【解决】为什么网页都完全显示出来且打开了,状态栏左下角还显示"正在打开网页..."?
- 大家帮忙看看,不会即使显示串口缓冲数据
- 关于链表的,有一些错误老是解决不了,大家帮忙看看