草庐IT

消息安全

全部标签

c++ - 带有信号量的线程安全单例问题

我写了一个简单的单例应用程序。下面是我的示例主类//ThreadsafeSingletonUsingSemaphore.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#include#include"MySingleton.h"usingnamespacestd;inti=0;#defineTHREADCOUNT100DWORDWINAPIThreadProc(LPVOIDlParam);HANDLEg_semaphore=NULL;int_tmain(intargc,_TCHA

windows - 如何将消息从 Electron 发送到另一个进程(其他 native Windows 应用程序)

我有一个nativeWindows应用程序,它通过WM_COPYDATA向Electron应用程序发送消息。在Electron中,我使用hookWindowMessage来接收消息。如果我知道hwnd,是否可以将消息发送回进程?如何回复消息?有什么方法可以使用吗?干杯,直到 最佳答案 您使用TCP/UDP套接字进行进程通信。这样会更可靠。 关于windows-如何将消息从Electron发送到另一个进程(其他nativeWindows应用程序),我们在StackOverflow上找到一个

c# - Windows 安全弹出窗口出现在主应用程序窗口后面

我在WPF应用程序中使用Windows10API“Passport”和“WindowHello”。boolkeyCredentialAvailable=awaitKeyCredentialManager.IsSupportedAsync();if(keyCredentialAvailable){KeyCredentialRetrievalResultkeyCreationResult=awaitKeyCredentialManager.RequestCreateAsync("Hi",KeyCredentialCreationOption.ReplaceExisting);}Reques

python - 运行消息队列的 python 消费者的最佳实践?

我正在开发本地Windows网络应用程序。我正在运行RabbitMQ服务,我有一个python脚本需要在后台运行,并使用队列中的消息(例如,使用pika的basic_consume()函数)。问题是——程序应该如何在后台运行。一些选项:使用pythonw.exe将脚本作为服务运行运行IIS站点我需要代码在失败时重新运行,并且可以简单地控制它的停止和重新启动。最佳做法是什么? 最佳答案 安全的选择是数字2。将您的Python代码作为适当的Windows服务运行。看看这个otherSOquestion;使用pywin32.

c++ - 为什么对 BeginPaint() 的调用总是生成 WM_NCPAINT 消息?

我在Win32API上遇到了问题。我有一个程序,当它处理WM_PAINT消息时,它调用BeginPaint来剪辑区域并验证更新区域,但是BeginPaint函数始终生成具有相同更新区域的WM_NCPAINT消息,即使需要重新绘制的触摸部分仅在客户区域内。有人知道为什么会这样吗?它位于具有WS_CHILD样式的子窗口上。 最佳答案 WM_PAINT的MSDN条目说:ThefunctionmayalsosendtheWM_NCPAINTmessagetothewindowprocedureifthewindowframemustbepa

java - 是否可以从 Java 程序内部捕获 Windows 弹出消息框?

我有一个在Windows服务器上运行的Java进程,我必须在其中启动命令行exe。我正在使用Processp=Runtime.getRuntime().exec(command);OutputStreamstdin=p.getOutputStream();InputStreamstderr=p.getErrorStream();InputStreamstdout=p.getInputStream();运行流程并捕获标准输入/输出流。我遇到的问题是我必须运行的一个exe将抛出一个弹出消息框,需要单击“确定”才能完成失败。我的Java程序在后台运行,因此它没有弹出消息框的窗口,这意味着当e

windows - 是否有查看命名管道安全 DACL 的工具?

我尝试使用sysinternals中的pipeacl和进程资源管理器。pipeacl给我一个错误,sysinternals似乎不支持命名管道的安全性。 最佳答案 我发现如果ProcessExplorer不支持某个功能,ProcessHacker通常是这样,反之亦然。尚未检查它是否支持命名管道,但值得一试。 关于windows-是否有查看命名管道安全DACL的工具?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

java - 通过 Windows 用户 ID 在 Java 中进行即时消息传递?

我已经使用套接字和Swing在Java中创建了简单的即时消息应用程序。现在它通过解析作为参数传递的主机名(PC名称)或IP进行通信。但是有没有办法让它以Windows用户ID(即您登录Windows时使用的用户ID)作为参数发送消息?这似乎在C#中很容易完成,但我如何在Java中完成呢? 最佳答案 可以使用System.getProperty获取用户名:Stringname=System.getProperty("user.name"); 关于java-通过Windows用户ID在Jav

windows - 没有代理的本地机器上的多对多消息传递

我正在寻找一种机制来创建一个简单的多对多消息传递系统,以允许Windows应用程序在一台机器上但跨session和桌面进行通信。我有以下硬性要求:必须在一台机器上跨所有Windowssession工作。必须在WindowsXP及更高版本上工作。无需全局配置。没有中央协调员/经纪人/服务器。不得要求应用程序提升权限。我不要求保证消息的传递。我看过很多很多选择。这是我最后的想法请求。以下内容因违反上述一项或多项要求而被拒绝:ZeroMQ:为了进行多对多消息传递,需要中央代理。命名管道:需要一个中央服务器来接收消息并转发它们。多播套接字:需要正确配置的网卡和有效的IP地址,即全局配置。共享内

c++ - 使用 native Windows API 的 win32 线程安全队列实现

由于windows缺少条件变量(虽然从vis​​ta开始引入,但windowsXP和2003不支持),用c++实现线程安全的队列不是很容易。StrategiesforImplementingPOSIXConditionVariablesonWin32.我需要的是只使用CriticalSection或Mutex和Event,而不使用信号量和条件变量。我也试图找到一个只使用win32nativeAPI的确切实现,但没有成功。所以我自己完成了一个。问题是我不是100%确定代码是线程安全的。谁能告诉我好不好?classCEventSyncQueue{public:CEventSyncQueue