草庐IT

asio_handler_invoke

全部标签

c# - 使用 P/Invoked GlobalSize 时堆已损坏

我正在用C#开发与Windows剪贴板关联的应用程序。由于DotNet剪贴板库有很多缺点(STA、无法打开剪贴板等),我决定直接使用系统API。我想做的是备份每种格式的数据(尽可能多,如果不是全部),将它们压入堆栈,然后再次弹出到剪贴板。如果您尝试过AutoHotKey,这就是其中的“ClipboardAll”的作用。当我尝试获取数据时出现问题,这是我为Pinvoke编写的方式:[DllImport("user32.dll",SetLastError=true)]publicstaticexternboolOpenClipboard(IntPtrhWndNewOwner);[DllIm

windows - 如何使用 Powershell 'invoke-expression' 以不同用户身份运行可执行文件

我有一个启动Powershell脚本(powershell.exescript.ps1)的C++服务应用程序。在脚本中运行可执行文件,但需要使用不同的用户凭据运行。有没有一种方法可以使用invoke-expressioncmdlet或其他方式在Powershell中执行此操作? 最佳答案 试试Start-Process例如:Start-Processcmd.exe-arg"/kwhoami.exe"-Credential(Get-Credential)当然,对于您的脚本,您需要以编程方式创建凭证,而不是使用提示输入用户名/密码的Ge

windows - Powershell invoke-webrequest 不工作

我有一个Powershell脚本,它应该对网站运行Invoke-WebRequest。我想将此脚本与PRTG网络监视器一起使用,以确保网络服务器正常启动和运行。目前,该脚本可以在我的本地计算机上运行,​​也可以在探测服务器上使用我的域凭据运行。但是,当使用PRTG使用的本地管理员凭据登录时,它不会运行。我把它缩小到一行,Invoke-WebRequest$uri-MethodPOST-Body$body-TimeoutSec10看起来无论出于何种原因,当使用此帐户时,Invoke-WebRequest将不起作用。运行该行时,它不会产生任何东西,没有错误、警告或输出。$uri和$body

sql-server - sqlcmd/Invoke-SqlCmd 中的转义变量

我正在使用powershell并使用Invoke-SqlCmd.我能够将变量传递给SQL:$variables=@("MyVariable='hello'")Invoke-SqlCmd`-ServerInstance'localhost'`-Database'master'`-Username'matthew'`-Password'qwerty'`-Query'SELECT$(MyVariable)ASfoo'`-Variable$variables这会按预期返回hello。但是,如果我有一个变量,其值包含一个等号(=):$variables=@("MyVariable='aGVsbG

c++ - 如何指定要在用 C++ 编写的应用程序中使用的特定 NIC (boost asio)

我有一台机器连接到多个独立网络,每个网络都在不同的NIC(网络接口(interface)卡)上。机器运行Windows7。我在需要使用TCP通过特定NIC连接到特定IP的机器上运行应用程序。该应用程序使用c++11和boostasio(1.53.0)进行联网,源码可以更改。在Windows环境下解决这个问题(指定端点IP和网卡)有哪些不同的合理方式?当前的解决方案将相应的(block)IP分配给路由表中正确的NIC-通过使用命令行“route”命令-作为持久路由。操作系统以这种方式处理问题,这是允许的,但不是必需的。 最佳答案 你应

python - Windows 中的 asyncio 循环的 add_signal_handler()

我目前正在将一个Python项目从Linux移植到Windows(使用AnacondaPython3.6)。一切正常,我只是无法正常退出asyncio循环。在Linux中,我正在执行以下操作:classGracefulExit(SystemExit):code=1defraise_graceful_exit():raiseGracefulExit()loop=asyncio.get_event_loop()loop.add_signal_handler(signal.SIGINT,raise_graceful_exit)loop.add_signal_handler(signal.SI

C# 系统.Windows.Forms.TreeView : Stop auto expand/collapse on double-click (and execute another handler)

是否有一种简单的方法来禁用双击TreeView节点时的自动展开/折叠?如果当前系统时间与预期的双击时间匹配,我一直无法找到这个问题的答案,如果不检查BeforeExpand/BeforeCollapse-覆盖OnNodeMouseDoubleClick和/或OnDoubleClick似乎是不够的。或者,检查系统时间并查看它是否适合双击是执行此操作的唯一方法吗?感谢您的帮助,-沃尔特 最佳答案 已解决:实际上,整个解决方案位于http://www.developersdex.com/gurus/code/831.asp。.显然,在Tr

c++ - 间歇性地没有数据通过 boost::asio/io 完成端口传递

问题我正在使用boost::asio对于同一台机器上的两个进程使用TCP/IP进行通信的项目。一个生成数据供另一个读取,但我遇到了间歇性地没有数据通过连接发送的问题。我将其归结为下面一个非常简单的示例,基于asynctcpechoserverexample.流程(下面的源代码)开始时运行良好,以快速的速度将数据从发送方传送到接收方。然后突然间,在大约五秒钟内根本没有传送任何数据。然后再次传送数据,直到下一次莫名其妙的停顿。在这五秒钟内,进程消耗0%CPU,并且似乎没有其他进程做任何特别的事情。停顿的长度始终相同-五秒。我正试图弄清楚如何摆脱这些摊位以及造成这些摊位的原因。整个运行期间的

c++ - 在 boost::asio::serial_port 上解锁同步读取

我有一个boost::thread,它在boost::asio::serial_port上执行同步读取。当我销毁包含这两者的类的实例时,我希望线程能够优雅地结束,即使它在读取调用中被阻塞也是如此。我该怎么做?查看docs,我试过cancel,但它只适用于异步读/写。然后我尝试了close,但我得到了一个异常,它不是你可以从中恢复的那种。也许使用send_break或native_handle?(这是Windows,可移植性并不重要)更新:我还尝试停止传递给串行端口对象构造函数的io_service,但是读取code>没有解锁。编辑:异常实际上是“可捕获的”,但我不想在析构函数中放置一个

c# - 如何通过 P/Invoking 在 Windows 8/8.1 中以编程方式更改视觉主题?

在C#或VB.Net中,了解视觉主题.theme文件的发布,我想应用该视觉主题Windows中的主题,不依赖于其他应用程序,例如RunDll32.exe,只是P/Invoking,但避免奇怪/奇怪的事情,例如打开个性化窗口然后使用FindWindow函数来关闭它,该过程应该从平台调用自动化,不与其他窗口交互。这个关于如何应用主题的问题之前在S.O中被很多人问过(包括我在内,通过注册表修改加上服务停止/恢复的解决方案只能在Windows7下工作),我认为是时候请专家了以不涉及RunDll32.exe和打开个性化窗口的WinAPI方法向我们展示。我想知道这可以通过在注册表项HKEY_CUR