写个 WinMain() 函数,在其中不去创建窗体.
直接调用API来干.....

解决方案 »

  1.   

    对于网络事件的响应可采用这个函数来监视.....
    int WSAEventSelect(
      SOCKET s,
      WSAEVENT hEventObject,
      long lNetworkEvents
    );
      

  2.   

    不能详细点吗?你的意思说要用 SDK 了。
      

  3.   

    有没有简单的例子了。那我到可以懂的。呵呵。求救各位大虾[email protected]
      

  4.   

    struct sockaddr_in dstclient_addr;
    SOCKET ClientSock;
    SOCKET NewSock;
    int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
                         LPSTR   lpCmdLine,int  nCmdShow)
    {
    MSG msg;
    //Initialization Winsock
    if (!InISock())return 0;

    //Connect Winsock
    if (!ConnectSock())return 0;

    //GetData
    while(true)
    {
    if (!AcceptData())//AcceptData
    {
    WSACleanup();
    exit(1);
    }
    if(!GetData())//GetMesage
    {
    //Initialization Winsock
    if (!InISock()) return 0;

    //Connect Winsock
    if (!ConnectSock())return 0;
    }
    //Release Data
    closesocket(NewSock);
    }
    return msg.wParam;
    }BOOL ConnectSock()
    {
    int Status; //Socket
    ClientSock = socket(AF_INET,SOCK_STREAM,0);
    if (ClientSock==INVALID_SOCKET)
    return FALSE; dstclient_addr.sin_family = PF_INET;
    dstclient_addr.sin_port = htons(7016);
    dstclient_addr.sin_addr.s_addr = INADDR_ANY;

    //BIND
    Status = bind(ClientSock,(struct sockaddr far *)&dstclient_addr,sizeof(dstclient_addr));
    if (Status != 0)
    return FALSE;

    //LISTEN
    Status = listen(ClientSock,1);
    if (Status != 0)
    return FALSE;
        return TRUE;
    }BOOL InISock()
    {
    //Variable Define
    int Status;
    WORD wMajorVersion,wMinorVersion;
    WORD wVersionReqd;
    WSADATA lpmyWSAData;

    //InI Winsock
    wMajorVersion = MAJOR_VERSION;
    wMinorVersion = MINOR_VERSION;
    wVersionReqd = MAKEWORD(wMajorVersion,wMinorVersion); //Startup WinSock
    Status = WSAStartup(wVersionReqd,&lpmyWSAData);
    if (Status != 0)
    return FALSE;

    return TRUE;
    }BOOL AcceptData()
    {
    //ACCEPT
    int len = sizeof(dstclient_addr);
    NewSock = accept(ClientSock,(struct sockaddr far *)&dstclient_addr,&len);
    if (NewSock < 0)
    {
    closesocket(ClientSock);
    return FALSE;
    }
    return TRUE;
    }
    BOOL GetData()
    {
    //Define Variable
    int iMsg,length;
    POINT point;
    int FALG;

    //Send Falg
    FALG = US_FLAG;
    send(NewSock,(char*)&FALG,sizeof(FALG)+1,MSG_OOB); //Get Message
    length = recv(NewSock,(char*)&iMsg,sizeof(iMsg)+1,0);
    if (length < 0)
    {
    //Close Sock
    closesocket(NewSock);
    closesocket(ClientSock);

    return FALSE;
    }

    //GetMessageData
    if (iMsg < 4500) //MouseEvent
    {
    send(NewSock,(char*)&SysWidth,sizeof(SysWidth)+1,MSG_OOB);
    send(NewSock,(char*)&SysHeight,sizeof(SysHeight)+1,MSG_OOB);
    point = GetMousePoint();
    }
    switch(iMsg)
    {
    case US_DESKTOPBIT:         //SendDesktopBitmap
    .........
                          break;
    }
    return TRUE;
    }
      

  5.   

    ················

    ShowWindow
    直接
    ShowWindow(SW_HIDE);
    就oK了···············
      

  6.   

    你可以用MFC,只是将主窗体隐藏掉就可以了。
      

  7.   

    生成对话框应用,然后注释掉你的APP类中调用对话框的代码就可以了。例如:
        //Dialog_class Dlg;
        //Dlg.DoModal();
      

  8.   

    用SDK不ShowWindow(SHOW_WINODW)不就成了
      

  9.   

    Frank_Xu() 头文件没有加,我怎么没有找到.....
      

  10.   

    给个 DEMO 好吗。谢谢各位的参与了。
      

  11.   

    是在 NT or 2k 了。加到服务里的东西。
      

  12.   

    网络监控软件附带源程序 -- 作者:星晨
    该程序包括客户端与服务器端,能对远程计算机进行操作,比如锁定远程计算机,获取屏幕图像,控制鼠标动作等。
    http://www.vchelp.net/source/submit/net_monitor.zip其中的一端:就是無窗口,偵聽監控方的指令對被監控機器的操作.
      

  13.   

    可以给例程,若需要将EMail和需要一起发个短信息给我。
      

  14.   

    Frank_Xu() :你说的连接连不上??
      

  15.   

    可以啊,你多試幾次.我是用FlashGet
    或者你直接進http://vchelp.net/中去下載.
      

  16.   

    特别鸣谢:prog_st(st) , Frank_Xu() 及众弟兄门啊。接分。