草庐IT

socket编程

全部标签

c++ - 无法在 Windows 中以编程方式 (C++) 从其他用户帐户读取文件

我使用以下函数在Windows中的一个用户帐户中创建了一个包含一些日志的文本文件:WORDwBOM=0xFEFF;HANDLEhFile=::CreateFileW(filePath,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);::WriteFile(hFile,&wBOM,sizeof(WORD),&NumberOfBytesWritten,NULL);::CloseHandle(hFile);现在,当我以编程方式从其他用户帐户读取此文件时,我无法打开文件并读取其内容。我正在使用以下函数从其他用户帐户读取数据

MySQL 错误 2002 (HY000) : Can't connect to local MySQL server through socket '/var/run/mysql.sock' in widows 7

好吧,我问的问题可能看起来很愚蠢,但在过去的几天里它一直困扰着我。即使mysql安装文件夹包含在PATH中,我也无法从Windows命令行运行任何mysql命令。当我尝试执行mysql命令时,出现了上述错误。我尝试了几个mysql版本的安装/卸载,但都没有成功,并得到了同样的错误。即使从Windows7中完全卸载mysql后,我仍然遇到同样的错误。如果我在安装文件夹中打开cmd则没有问题,但在其他文件夹中打开cmd时会出现问题。 最佳答案 编辑OP通过删除现有的cygwin安装和mysql安装然后重新安装mysql和cygwin自己

windows - Win95编程为Win8

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我知道你们中的一些人会认为这很愚蠢,但我想在Win95上编译一个Windows程序,该程序将在Win95/98/98SE/2K/ME/XP/VD/7/8上运行,但不一定在WinCE/3.1上运行/RT因为它们本身不实现Win32API。我意识到Win32API自其Win95规范以来已经发展,但它应该向后兼容,因为据我所知,这是人们使用Windows的主要原因。必须进行什么级别的API模拟才能实现这一点?W

c - 在函数中传递指向 SOCKADDR_IN 和 SOCKET 的指针

我有一个函数createServerSocket()。多个线程可以访问此函数以创建它们的套接字。我希望每个线程向createrServerSocket()函数传递三个参数,一个socketIdentifier、*sockaddr_in*和特定的端口号,所以每个线程都有一个唯一的套接字。为此,我将socketIdentifier、*sockaddr_in*和特定的端口号作为指针传递给createrServerSocket()函数,以便创建的socketIdentifier和套接字必须可以在线程内访问.下面是我的代码片段:VOIDcreateServerSocket(SOCKADDR_IN

windows - 以编程方式传递附加 header 信息和 URL 以打开浏览器

我有一个应用程序,它曾想在默认浏览器中启动一个特定的URL。这非常简单,可以在Windows上使用ShellExecute来实现。然而,问题是服务器期望一些额外的自定义header信息(用于身份验证/标识目的)与GET请求一起发送。有什么方法可以在启动浏览器时将此(附加header)信息传递给浏览器吗?注意:-我想启动默认浏览器而不是使用Web浏览器控件 最佳答案 据我所知,您只有一个选择:添加中间页面(在Internet或本地主机上)。您必须创建yoursite.com/sendHeaders.php或localhost/send

c++ - TCP Sockets什么时候需要Keep-alive?

据我所知,在TCP套接字上保持事件状态有助于了解套接字是否刚刚打开以及两个套接字之间的连接是否实际上处于事件状态。所以,我有几个关于Winsocks2中Keepalive用法的问题想咨询一下:当keep-alive选项检测到死套接字时会发生什么?如何在不实际使用的情况下检查连接是活的还是死的send和recv?如果我必须使用send和recv然后功能首先使用keep-alive有什么意义? 最佳答案 Whathappenswhenkeep-aliveoptiondetectsadeadsocket?连接被重置,任何读取或写入都会出现

c# - Windows 中的 64 位和 32 位注册表问题(在 C# 中编程)

我正在尝试从Windows注册表中获取数据到我的软件,但有一件事我遇到了麻烦:如果我的软件在64位系统上运行,注册表路径将为:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AVASTSoftware\AvastProgramFolder如果我的软件在32位系统上运行,注册表路径将是:HKEY_LOCAL_MACHINE\SOFTWARE\AVASTSoftware\AvastProgramFolder我能做什么?每次都要仔细检查?也许我只会检查第二个选项(没有\Wow6432Node\),当软件在64位上运行时,它会自动将\Wow6432Node\添加

r - 以编程方式加载文件

当我想将文件加载到R中时,有什么方法可以以编程方式(或半编程方式)执行此操作,而不是仅手动复制粘贴路径并将\切换为/所以R可以读取它(因为\是R中的转义字符)@Roland提到的一种方法正在使用扫描list.files(scan(file=file(description="clipboard"),what="character",allowEscapes=FALSE))如果路径包含像这样的空格,则需要修改"C:\Users\DavidArenburg\" 最佳答案 normalizepath也许您正在寻找:>normalizePa

c++ - 通过 Winapi 以编程方式编辑 Windows 审核策略时出现权限错误

简短版本:我正在尝试编写一个C++程序,以在Windows8上启用进程创建日志记录。我知道这可以使用auditpol.exe来完成,但我想以编程方式进行。我的研究表明,唯一的方法是通过WindowsAPI命令AuditSetSystemPolicy,所以我写了一个调用这个函数的C++程序(见下文)。但是,该程序因权限问题而失败(错误代码1314)。我以管理员身份运行VisualStudio,我尝试在以管理员身份运行的命令提示符下执行该程序,但我仍然遇到错误。长版:以下程序采用GUIDstringdescribingtheProcessCreationSubcategory我想开始审核并

c# - 这是什么类型的编码,我如何以编程方式生成它?

我正在使用适用于Office的VisualStudio工具创建Office加载项,部署/安装加载项的一部分是为其创建Windows注册表项。VisualStudio会在开发人员构建加载项时自动为开发人员创建这些注册表项,但在终端安装/部署加载项时需要通过其他方式(例如安装程序)创建这些注册表项-用户的机器。这是我要查询的注册表项的示例:ManifestREG_SZfile:///C:/Users/Ryan/OfficeProjects/C%23/MyProject/addin.vsto如何以编程方式重新创建那种编码?估计不是url编码,因为冒号(:)没有改成%3A,空格也没有改成%20