草庐IT

连接到本地虚拟机

我怀疑这有一个我忽略的简单解决方案,可能与客户端或它的设置方式有关。无论如何,我正在尝试设置一个简单的Echo服务器/客户端来了解套接字编程的基础知识。我有一台运行LinuxMint的虚拟机,主机运行的是Windows10。我设置的虚拟机运行服务器c代码,而Windows将运行客户端。我开始编写服务器代码//EchoServerforUNIX:UsingsocketprogramminginC,aclientsendsastring//tothisserver,andtheserverrespondswiththesamestringsentbacktotheclient#includ

c - 环境在 Windows 上可用吗?

environ变量(从POSIX开始)在主要的WindowsC编译器中是否可用(至少用于读取)?我知道execve在Windows上可用:https://en.wikipedia.org/wiki/Exec_(system_call)但我不确定environ是否也可用。 最佳答案 environ应该可用,但已弃用,您应该使用更安全的方法。execXX()调用可用,但fork()不可用,因此实际上exec函数变得无用。您可以使用CreateProcessA来达到类似的效果,并且能够干净利落地设置环境和管道。承认@eryksun的担忧:

c - 使用未定义的结构编译错误 - C

编译器不知道stat.h在哪里?错误:c:\Projects\ADC_HCI\mongoose.c(745):错误C2079:“st”使用未定义的结构“_stat64”#include#includestaticintmg_stat(constchar*path,structmgstat*stp){struct_stat64st;//size=st.st_size;stp->mtime=st.st_mtime;stp->is_directory=S_ISDIR(st.st_mode);}else{ok=-1;}return(ok);}...直接从source下载文件.

c++ - 为什么 GetLastError() (NOT GetReturnMessage) 在用户名错误时返回 “wrong password”?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:WhydoesGetErrorMessagereturn“wrongpassword”,whentheusernameiswrong?自GetErrorMessageg为无效密码和用户名保留相同的字符串,我决定使用GetLastError(),因为它有一个单独的错误each.但是,如果用户名不正确,它仍然会给我代码12014?(密码错误)但有一个单独的错误代码:ERROR_INTERNET_INCORRECT_USER_NAME-12013这不应该起作用吗?或者这也是有意为之的吗?谢谢。try{pConnec

c - 在#define 方面需要一些帮助

在#define中,L是什么意思?#defineNT_DEVICE_NAMEL"\\Device\\SIOCTL" 最佳答案 即string应该是wchar_t[]类型。 关于c-在#define方面需要一些帮助,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4179911/

c++ - 关于Windows API和C/C++运行时库函数的问题

当我为Windows平台编写C/C++代码时,我通常会根据需要使用WindowsAPI。但是当涉及到多线程时,我从WindowsviaC/C++>中阅读了以下引述TheCreateThreadfunctionistheWindowsfunctionthatcreatesathread.However,ifyouarewritingC/C++code,youshouldnevercallCreateThread.Instead,youshouldusetheMicrosoftC++run-timelibraryfunction_beginthreadex.IfyoudonotuseMic

c++ - C/C++ - Windows - 如何跟踪 HWND 上下文数据

在Windows中,假设您打开了同一窗口类的多个窗口(HWND)。您如何跟踪窗口过程中的上下文数据,例如,当用户尝试在窗口2中键入内容时,窗口1不会被修改?CreateWindow()直到WndProc()被多次调用后才返回,因此您不能简单地将生成的HWND设置为上下文数据并在WndProc()中进行查找;您确实需要在WndProc()中设置它。除了窗口创建消息外,WndProc()不直接将上下文信息传递给它,但不幸的是,窗口创建消息并不是传递给WndProc()的第一条消息。不,我发现诸如WM_SIZE、WM_NCSIZE之类的东西在我看到WM_CREATE之前就已通过。将HWND存

c - 可执行路径

我需要找到我的程序运行的路径。使用argv[0]似乎不起作用,因为程序必须在Windows控制台上运行,例如C:\>playerparameter1parameter2而我只能在argv[0]上获得播放器.我怎样才能做到这一点? 最佳答案 您可以使用Windows的GetModuleFileName函数通过将hModule参数设置为NULL来获取可执行文件的路径。 关于c-可执行路径,我们在StackOverflow上找到一个类似的问题: https://st

c - c中的全局结构和多线程

谁能解释一下这段代码中的编译错误:#include"common.h"typedefstructnodeData{intprocid;unsignedshortlocalport;DWORDLIFETIME;DWORDHELLOTIMEOUT;DWORDMAXTIME;}nodeData;intlistenerThread(){if(!bindSocket(listenSocket,nodeData.localport)){closesocket(listenSocket);WSACleanup();exit(-1);}//morecodegoeshere}intmain(intarg

c++ - 进程 ID 和进程名称

我正在创建一个基本上扫描系统以查看特定进程是否正在运行的Windows程序。我有进程名称(AcroRd32.exe),没有别的。据我所知,最简单的方法是使用CreateToolhelp32Snapshot创建所有进程的快照,然后遍历每个进程以查找进程名称。我的应用程序以高性能为中心。那么有没有更好更有效的方法来做到这一点。应用程序每隔几秒收集一次快照。在快照中迭代100个进程似乎效率不高。是否有直接的API可以通过进程名称找到进程(并通过名称检索进程句柄或ID)?我进行了广泛的搜索,但运气不佳。有人试过这个吗? 最佳答案 扫描进程的