草庐IT

active-window

全部标签

windows - I/O 完成端口可以帮助数据库而不是文件写入吗?

我正在阅读有关IOCP的资料,据我目前的了解,异步写入仅适用于写入文件的上下文。所谓"file",我指的不仅仅是磁盘文件,而是Windows上的"file"类型输出设备。我计划以某种方式使用IOCP来实现一个从客户端获取消息然后将这些消息异步写入数据库(MySQL或SQLite)的服务器。但是,据我所知,IOCP中的异步写入涉及将要写入的数据传递给设备驱动程序-而“设备驱动程序”的提及似乎排除了在数据库上使用IOCP和异步写入的可能性,因为有从应用程序编写者的角度来看,没有“设备驱动程序”参与写入数据库。那么,IOCP真的可以帮助实现写入数据库的服务器吗?我有一种挥之不去的感觉,好像我

c++ - 如何在 MS Windows 中使用 C++ 将快捷方式发送到另一个应用程序?

我的问题是如何将快捷方式从C++发送到另一个应用程序。假设记事本已打开,我想向他们发送CTRL+P等快捷方式,或更复杂的CTRL+SHIFT+HOME或ALT+F4等快捷方式,我发现许多很好的教程解释了如何发送一个键像'A'或'ALT',但我没有找到如何将它们一起发送。 最佳答案 您可以使用SendInput()或keybd_event()将键发送到当前聚焦的窗口。SendInput()可能是更好的选择,因为它不会将键盘事件与实际键盘的事件交织在一起。//sendCTRL+SHIFT+HOMEINPUTinput[6];memset

.net - 可以在 Windows 上运行并具有 .Net 客户端的分布式键/值存储?

正如标题所说,有谁知道任何可以在Windows上运行并具有.Net客户端的分布式键/值存储?谢谢更新:抱歉,忘记补充说需要持久化 最佳答案 您可以使用MongoDB、CouchDB或Cassandra。它们不仅仅是一个键值存储,但它们确实在Windows上运行并拥有.net客户端。 关于.net-可以在Windows上运行并具有.Net客户端的分布式键/值存储?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

java - 如何配置 Eclipse 项目库以在 Windows 和 Linux 上编译?

这是一个简单的OpenGL应用程序。问题是,JOGL需要本地库,我需要设置“本地库位置”,这对于Windows和Linux是不同的。是否可以在平台之间共享项目设置?我想让工作区设置过程像“从SVNcheckout、编译、运行”一样简单。 最佳答案 如果只是Windows和Linux,您可以将它们放在同一个文件夹中,如jflemm所述。它起作用的原因是因为System.loadLibrary()的定义在Java中:loadLibrarypublicstaticvoidloadLibrary(Stringlibname)Loadsthe

windows - 在远程 Windows 机器上动态运行 DLL?

有没有办法在远程Windows机器上动态运行DLL?假设用户想要将自己的DLL文件发送到远程服务器并在远程站点运行该DLL中的函数。用户可能能够提供函数入口点以及所需的参数,但仅此而已。(例如没有头文件)我正在考虑在远程站点设置一个代理可执行文件,它可以(1)动态加载和绑定(bind)未知的DLL,以及(2)运行带参数的函数。这是一个好的方法,还是这样的可执行文件可能? 最佳答案 您可以使用动态加载DLL的技术。通常,您通过将.LIB静态链接到您的项目并编译它来使用DLL。要在运行时动态加载DLL,您可以使用以下WIN32API函数

windows - WinINET 是可重入的吗?

我发现WinHTTP不可重入(1、2)。WinINET是可重入的吗?我们有一个与WinINET同步HTTP的ActiveX控件。如果浏览器(在javascript中)触发一个异步http请求(ajax),然后立即调用ActiveX操作(同一个IE进程),这两个操作似乎是交错的,可能在同一个API上重入,并打破了WinINET状态:ajax上的clearInterval错误地失败了一次。我们将EXT用于ajax,并且EXT假设clearInterval第一次工作。 最佳答案 WindowsInternet(WinINet)API的一个

windows - 从 Azure 队列中删除消息时出现异常?

我正在涉足WindowsAzure,我遇到了一些必须很简单的事情,但我就是看不到它。我有这个小测试来玩Azure队列:publicvoidCanPublishSillyLittleMessageOnQueue(){varqueueClient=CloudStorageAccount.DevelopmentStorageAccount.CreateCloudQueueClient();vartestQueue=queueClient.GetQueueReference("testqueue1");testQueue.CreateIfNotExist();varmessage=newClo

windows - "Error 1722"尝试将 JDK 安装到非默认位置

我在直接在C:中安装javaJDK时遇到问题。我能够安装在“ProgramFiles”文件夹中。但是出于开发目的,我需要直接在C的根目录中安装JDK。问题是当我尝试安装它时,它设置为“错误1722。此Windows等有问题。”但是设置安装没有任何问题。它也尝试以管理员身份运行。谁能给我一个解决方案? 最佳答案 过去在Windows上对我有用的一个技巧是将jdk目录从其在ProgramFiles中的位置复制到c:\jdk支持Windows的应用程序将继续使用ProgramFiles下的版本,不喜欢路径中有空格的工具使用c:\jdk版本

windows - 即使在其他平台上使用该任务,Ant 的 tar 任务能否设置 Linux 文件权限?

从Ant1.7开始,TarFileSet可用,它似乎允许在tar存档中修改文件权限。此功能是否独立于平台工作,以便我可以在Windows上创建一个tar文件,并为该存档中的脚本文件设置执行权限,如果文件在Linux上解压,该存档将具有此标志? 最佳答案 是的,您可以使用tarfileset设置权限,使用filemode和dirmode属性。这在创建tar存档时有效,即使在Windows上也是如此。虽然很烦人,untar任务不支持您可能想要的反向操作:Filepermissionswillnotberestoredonextracte

windows - 解锁 accept()

我有一个对accept()的阻塞调用。我从另一个线程关闭套接字,希望它能解除对accept()调用的阻塞,它确实如此,但我有一个情况,它没有:例如线程A进入accept(),线程B关闭socket,线程A没有从accept()返回。问题:什么会导致关闭套接字无法解除对accept()的阻塞? 最佳答案 解锁accept(2)的一个技巧是从您的另一个线程实际connect(2)到监听端。翻转一些标志,指示是时候停止循环,connect(2),close(2)连接套接字。这样accept(2)线程就会知道关闭套接字并自行关闭。