草庐IT

系统迁移

全部标签

c++ - 使用来自系统级进程(Windows 服务)的登录用户上下文模拟和运行任何方法 :

我已经创建了一个模板类,它将创建一个带有登录用户token的线程并运行任何方法。我在std::function的帮助下将它传递给模板类,并在用户级上下文中运行它。我目前的使用情况:1.该类用于windows服务进程(以SYSTEM级别运行)。2.线程在挂起状态下创建,SetThreadToken()用于应用从“explorer.exe”创建的模拟token。(我知道在多个登录用户的情况下这不是一种可行的方法,但暂时我需要这个东西来解决问题)。3.在这些之后,我将恢复线程以在用户级上下文中执行传递的util方法。引用的线程模拟来自:Createthreadwithspecificpriv

windows - 使用 JScript 查找操作系统名称/版本

我必须维护一个用JScript(不是Javascript)编写的服务器端脚本,该脚本需要发现它正在运行的系统的操作系统。我怎样才能正确而稳健地做到这一点? 最佳答案 看看here对于您可以获得的所有不同的系统信息。这是我根据该网页拼凑的一些示例代码:varwbemFlagReturnImmediately=0x10;varwbemFlagForwardOnly=0x20;varobjWMIService=GetObject("winmgmts:\\\\.\\root\\CIMV2");varcolItems=objWMIServic

windows - 是否有任何支持加密的 Windows 开源文件系统?

我知道NTFS支持加密,但除此之外是封闭源代码。同样,我知道诸如truecrypt之类的加载项,但我对内置加密与附加加密感兴趣。 最佳答案 请记住,加密通常不是在文件系统级别完成的。它是在block级别完成的,其中扇区实际上是读/写到磁盘的。这允许人们使用任何加密的文件系统,因为文件系统位于加密层之上。 关于windows-是否有任何支持加密的Windows开源文件系统?,我们在StackOverflow上找到一个类似的问题: https://stackove

c++ - 部署到 Windows 和 Linux 时选择哪个安装系统?

我的公司正在考虑放弃InstallShield并转向其他东西,主要是因为使用它的体验很差,主要是在Linux上。我们的产品是针对Windows和Linux(RedHat)的C++应用程序(二进制文件、共享库)。安装程序本身不需要做任何特殊的事情,只需转储一些二进制文件和共享库,有时还可以执行一个外部进程。不需要通过安装程序升级版本,这是在安装程序完成后处理的。我想建议在Windows上使用NSIS,在Linux上使用RPM。部署到Windows/Linux时推荐使用哪些安装程序系统?跨平台以防止维护两个安装程序的东西无疑是一个优势。 最佳答案

c# - .net - 如何将 Windows 服务与系统托盘应用程序连接

我有一个定期执行某些操作的Windows服务。在用户帐户上运行与Windows服务通信(通过.net远程处理)并向用户显示状态和一些选项的系统托盘应用程序(用C#编写)。除系统托盘应用程序使用20-30MB内存外,一切正常!它必须在终端环境中工作,当50个用户登录时,只有系统托盘应用程序占用>1GB的内存!而且我不必添加,那是错误的:)是否可以编写较小的.net系统托盘应用程序?(最多1-2MB?)或者我应该用c/c++写吗?那么,我应该在Windows服务(用C#编写)和系统托盘应用程序之间使用什么样的通信? 最佳答案 另一个考虑

windows - 是否可以在没有实际窗口的情况下在 Windows 操作系统上显示 "on screen"文本?

这个库正是我在Linux系统上所说的:http://ichi2.net/pyosd/我对Win32API的了解有限,但在我看来,除非你创建一个窗口并进入win32主循环,否则你无法做到这一点。一些谷歌搜索也证实了这一点。即便如此,它们是否是更新的GUI框架或技术可以在Windows上实现它?谢谢 最佳答案 您不需要讨厌的GUI框架。您可以:Drawdirectlyonthedesktop.当然,这通常不被认为是一个好主意,因为它会破坏另一个应用程序的内部结构。以这种方式绘制也很脆弱,因为每次桌面重新绘制时您所做的更改都会被删除。创建

c++ - 通过旧的(非 wchar)API 函数在非 ANSI 系统上打开文件

我正在编写一些让我抓狂的中间件。我正在寻找一些I18N专家来帮助我-这对我来说都是全新的。现在这一切都在Windows中,但它也必须在Linux和Mac上运行,尽管我敢打赌它们会很容易。我有一个系统(我无法触摸),它会给我一个类似于wchar_t*的字符串。它接受UTF-8或当前语言环境的输入,并神奇地给我一个wchar_t*。我有另一个我正在使用的API,它只能将文件名作为char*(我也不能触摸)。所以我一直在做的是在wchar_t*中获取我的文件名并使用WindowsAPI函数WideCharToMultiByte并将其转换为char*并将其传递给我的其他API函数。它工作得很好

c++ - 在 Windows 操作系统上使用 C++ 开发 iPad/iPhone 应用程序

将用C++编写的完成的游戏项目移植到iPad的最快方法是什么。有没有不买Mac的好方法? 最佳答案 Marmalade(以前称为AirplaySDK)是一个非常适合游戏的跨平台SDK。您可以用VisualC++编写代码,然后在Windows的模拟器中运行它。使用PC,您将无法在iPhone上运行时调试(步进、断点等)您的游戏。部署到iPhone进行测试(从Windows)似乎相当tedious,与XCode的处理方式相比。如果您需要使用Marmalade不支持的iOSnativeAPI功能,您可以使用EDK(扩展开发工具包)为它们构

windows - 操作系统什么时候清除进程的内存

进程在某些操作系统上成功或异常终止,操作系统何时决定删除分配给该进程的内存(数据、代码等);在退出时或当它想为新进程分配内存时?这个删除内存分配过程在所有操作系统(winXP、Win7、linux、Mac)上都是一样的吗?我明白了,页表有那个进程的虚拟地址和内存中实际物理地址的映射。谢谢。 最佳答案 操作系统回收进程资源的方式可能(并且通常确实)因操作系统而异。在Windows方面,NT衍生操作系统的行为相似,因此winXP和win7之间应该没有什么区别。请注意,在这种情况下询问“内存”是一种过度简化,因为存在不同类型的内存。例如,

c++ - GetUserNameExA 函数无法在系统启动时(GINA)提供用户详细信息?

我正在使用C++win32API。我尝试使用GetUserNameExA()获取用户详细信息;我已经将此功能用于系统登录对话框源(GINA)。在我的日志文件中,它给出了CN=ComputerName,CN=Computers,DC=JEGAN,DC=COM"。但它是在登录系统后使用的,那时它会在我的其他解决方案中提供用户详细信息,如"CN=sanju,CN=USERS,DC=JEGAN,DC=COM"。我只想要用户详细信息,但它在登录时提供了系统详细信息,我怎样才能在登录时获得用户详细信息?注意:我已经尝试过ADSI、LDAP功能和目录服务无法使用。所以建议任何其他系统功能。