草庐IT

STM32Programmer

全部标签

java - 从 Windows 上的 C 中检测 32/64 位 Java

我想知道安装在用户机器上的Java运行时是否支持32位和64位,我想在C中执行此操作。我曾认为像下面这样的东西可以解决问题:检测64位java:intf=0char*path=(char*)malloc(32768);charout[1035];FILE*fp;if(f)fprintf(f,"Checkingif64-bitJavaisavailableviathejavacommand\n");java64ok=1;strcpy(path,"java-d64-version2>&1");fp=_popen(path,"r");if(fp==NULL){if(f)fprintf(f,"

c++ - 用于检测启动和终止的应用程序/进程的 WIN32 API

这个问题在这里已经有了答案:Howtodetectwin32processcreation/terminationinc++(9个回答)关闭9年前。我正在寻找一个WIN32API来检测应用程序在我的应用程序中的启动和终止。我正在寻找开发一个dockBar/TaskBar,我需要为它获取启动和终止的应用程序的句柄。

windows - 一个简单的 MASM32 程序的奇怪行为

我想编写类似于以下C++程序的MASM程序:#include#includetypedefUINT(_stdcall*FuncPtr)(LPCSTRlpCmdLine,UINTuCmdShow);intmain(void){HMODULEhDll=LoadLibrary(TEXT("Kernel32.dll"));FuncPtrfunc_addr=reinterpret_cast(GetProcAddress(hDll,"WinExec"));(*func_addr)("C:\\WINDOWS\\system32\\calc.exe",SW_SHOWDEFAULT);FreeLibra

Windows-自动启动 : Application directory seems to be C:/Windows/system32/

当我的应用程序从Windows的自动启动启动时,Qt无法打开它。导致这个的错误是QDir().absoluteFilePath("settings.cnf")返回路径C:/Windows/system32/settings.cnf,即使我的文件位于我的工作目录中。有人知道我必须调用什么方法才能获得正确的路径吗? 最佳答案 使用默认构造函数QDir()默认为当前工作目录,可以是任何内容,具体取决于用户或系统从何处启动应用程序。对于UI应用程序,这是一条通常应该完全忽略的路径。要访问应用程序二进制文件旁边的数据,请使用QCoreAppl

windows - 使用 Win32::ChangeNotify 并等待操作完成

情况:我正在看一个带有Win32::ChangeNotify的文件夹(这里不关心跨平台)。该文件夹共享到本地网络。将从另一台计算机在此文件夹中创建一个文件。这个过程需要一些时间。问题:当文件仍在写入时,会触发发生某些更改的事件。如何等待写操作完成?我的代码看起来像这样:my$notify=Win32::ChangeNotify->new($watched_folder,0,"LAST_WRITE");if($notify->wait(5000)==1){#1=Theobjectissignalled} 最佳答案 您可能想要在事件之间

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

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

c - Armstrong 数字程序在使用 Codeblocks 和 MinGW(32 位)编译时产生错误结果

我想编写一个程序来判断一个数字是否是阿姆斯壮数字。我为此编写了一个函数,如果数字是armstrong数字则返回1,否则返回0。我在函数中使用了以下代码:intisArmsNum(intx){intm,r=0,d,y;y=x;while(x>0){m=x%10;r=r+pow(m,3);x=x/10;}if(r==y){d=1;}if(r!=y){d=0;}returnd;}现在的问题是,当我尝试检查程序中的153(这是一个armstrong数字)时,程序返回0,并且仅当x=1时才返回1。我在VisualStudio2013中编译了相同的代码,它是工作正常。我决定对Codeblocks(

php - 如何使用PHP COM调用kernel32.GetTickCount?

我试图通过PHPCOM扩展从KERNEL32.DLL执行GetTickCount但没有成功。我应该使用什么ProgID或类ID来执行GetTickCount?$com=newCOM("?WhatProgID.ID?");$time=$com->GetTickCount();在C++中它看起来像这样:#include#includeintmain(void){std::cout 最佳答案 使用动态包装器:下载dynwrap.dllhttp://techsupt.winbatch.com/techsupt/dynawrapNt.zip(

linux - OMP 与 x86_64-w64-mingw32-g++ 交叉编译

我在交叉编译利用openMP库的C++程序时遇到了一些问题。我正在使用LinuxUbuntu12.04LTS。我想获取可在Windows上运行的可执行文件。使用常规g++命令使用OMP编译我的程序没有问题:g++a.cppb.cpp-oOMPres-pg-O3-I./CBLAS/include-L./-lcblas另外,当我在没有OMP的情况下尝试交叉编译时,一切都运行良好:x86_64-w64-mingw32-g++a.cppb.cpp-O3-I./CBLAS/include./CBLAS/cblas_WIN64.a./BLAS/blas_WIN64.a-ores.exe-lgfor

windows - 我可以使用 win32 Setup API 检测 USB 设备何时插入或拔出吗?

我正在查看http://msdn.microsoft.com/en-us/library/aa376947(v=vs.85).aspx的引用资料(设置API引用)和http://msdn.microsoft.com/en-us/library/windows/hardware/ff549791(v=vs.85).aspx(驱动程序设置API引用)并且我没有看到一个函数可以让我注册一个函数,该函数将在特定设备/硬件ID/驱动程序key/或任何出现时被调用。有人知道我会怎么做吗?理想情况下,我想在用户空间中进行这种检测,但如果有必要,我可以在内核空间中进行检测。