Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VisualStudio中创建非GUI服务器应用程序 我在VisualStudio中用C++ MFC做了一个服务器套接字项目。现在,在调试项目之后,服务器GUI打开,然后在单击服务器GUI上的CONNECT按钮之后,您可以将客户端连接到该服务器,依此类推_C++_Visual Studio 2010_Sockets_Mfc_Serversocket - Fatal编程技术网

在VisualStudio中创建非GUI服务器应用程序 我在VisualStudio中用C++ MFC做了一个服务器套接字项目。现在,在调试项目之后,服务器GUI打开,然后在单击服务器GUI上的CONNECT按钮之后,您可以将客户端连接到该服务器,依此类推

在VisualStudio中创建非GUI服务器应用程序 我在VisualStudio中用C++ MFC做了一个服务器套接字项目。现在,在调试项目之后,服务器GUI打开,然后在单击服务器GUI上的CONNECT按钮之后,您可以将客户端连接到该服务器,依此类推,c++,visual-studio-2010,sockets,mfc,serversocket,C++,Visual Studio 2010,Sockets,Mfc,Serversocket,现在我想在其他计算机上使用该服务器exe文件。因此,每当计算机启动时,服务器exe就会自动启动。为此,我需要禁用connect按钮,以便在调试之后,服务器GUi自动打开并连接。但我不希望服务器GUI也在autostart的另一台计算机上打开。我想禁用该服务器GUI 我有了一个无模式对话的想法来处理它。它是好的还是我应该使用什么方法 您可能希望将应用程序的GUI部分和服务器部分分开。理想情况下,如果您的服务器实际上是一台服务器,您应该将其作为服务启动。然后您将有单独的GUI工具来控制它 另一种方法

现在我想在其他计算机上使用该服务器exe文件。因此,每当计算机启动时,服务器exe就会自动启动。为此,我需要禁用connect按钮,以便在调试之后,服务器GUi自动打开并连接。但我不希望服务器GUI也在autostart的另一台计算机上打开。我想禁用该服务器GUI


我有了一个无模式对话的想法来处理它。它是好的还是我应该使用什么方法

您可能希望将应用程序的GUI部分和服务器部分分开。理想情况下,如果您的服务器实际上是一台服务器,您应该将其作为服务启动。然后您将有单独的GUI工具来控制它


另一种方法是使用命令行参数来确定服务器启动时是启用GUI还是禁用GUI。

您可能希望将应用程序的GUI部分和服务器部分分开。理想情况下,如果您的服务器实际上是一台服务器,您应该将其作为服务启动。然后您将有单独的GUI工具来控制它


另一种方法是使用命令行参数来确定服务器是否应该在启用或禁用GUI的情况下启动。

此类应用程序唯一专业且稳定的解决方案是,将其拆分为控制台部分,您将其置于服务控制和GUI部分的控制之下,用户可以在需要时启动该部分

我尝试过像你这样的解决方案,因此我可以从我自己的经验告诉你,你将面临很多问题

然而,一个可能的解决方案是隐藏窗口,这是一个关于后置窗口的非常有趣的讨论

此外,对于MFC,我有两个很好的建议:

  • 永远不要只是“复制过去”的代码而不知道MFC在后台做什么(Win32api)
  • 不要使用MFC。当您需要windows时,请仔细查看QT或wxWidges,要查看win32api的快捷方式封装,请查看boost库。你花在这上面的时间是值得的
    祝你好运

    此类应用程序唯一专业且稳定的解决方案是,将其拆分为控制台部分,您将其置于服务控制和gui部分的控制之下,用户可以在需要时启动gui部分

    我尝试过像你这样的解决方案,因此我可以从我自己的经验告诉你,你将面临很多问题

    然而,一个可能的解决方案是隐藏窗口,这是一个关于后置窗口的非常有趣的讨论

    此外,对于MFC,我有两个很好的建议:

  • 永远不要只是“复制过去”的代码而不知道MFC在后台做什么(Win32api)
  • 不要使用MFC。当您需要windows时,请仔细查看QT或wxWidges,要查看win32api的快捷方式封装,请查看boost库。你花在这上面的时间是值得的
    祝你好运

    请不要误用大写锁定按钮-尤其是标题。如果您的程序出现问题,ShowWindow(SW_HIDE)可以在不重构代码的情况下实现您想要的功能。然而,一个合适的解决方案需要将GUI和核心分开,就像@Lol4t0建议的那样。我使用模态对话框。可能你说的是非模态对话框。如果是这样,那么我是否需要基于无模式对话框创建一个全新的项目?以及如何将GUI与核心分离。我没有这个想法。请告诉我们,plzShowWindow()只控制窗口的可见性(对话框也是窗口)。至于重构,如果不是这样的话,请将套接字服务器代码移动到它自己的类中,并在基于CWinApp的类中或直接在WinMain中使用它。要调试它,您可以创建另一个在对话框中使用您的类的项目。请不要滥用caps lock按钮-尤其是标题。如果您的程序出现问题,ShowWindow(SW_HIDE)可以在不重构代码的情况下实现您想要的功能。然而,一个合适的解决方案需要将GUI和核心分开,就像@Lol4t0建议的那样。我使用模态对话框。可能你说的是非模态对话框。如果是这样,那么我是否需要基于无模式对话框创建一个全新的项目?以及如何将GUI与核心分离。我没有这个想法。请告诉我们,plzShowWindow()只控制窗口的可见性(对话框也是窗口)。至于重构,如果不是这样的话,请将套接字服务器代码移动到它自己的类中,并在基于CWinApp的类中或直接在WinMain中使用它。要调试它,您可以创建另一个在对话框中使用您的类的项目。我已经成功地构建了具有GUI的服务器套接字项目。我只需要禁用那个GUi,这意味着调试完这个项目后,server.exe应该在后台运行,而不是显示GUi。我希望这是清楚的now@Nabeel,然后使用另一种方法,但您将如何控制应用程序?在没有GUI和任何远程控制界面的情况下启动它之后,您将失去对该应用程序的控制。我认为,每台计算机都有autostart文件,每当该计算机启动时,其中一些文件会自动启动。我正是想利用这个想法,将server.exe文件复制到autostart文件夹中,然后让计算机自己完成工作。我不想分离任何内容。我已经成功地构建了具有GUI的服务器套接字项目。我只需要禁用那个GUi,这意味着调试完这个项目后,server.exe应该在后台运行,而不是显示GUi。我希望这是清楚的now@Nabeel,然后使用另一种方法,但您将如何控制应用程序?在没有GUI和