草庐IT

c++ - 32 位应用程序中的 WebBrowser 控件在 window.open() 调用上启动 64 位 Internet Explorer

我有一个在Windows764位上运行的32位应用程序。该应用程序(用C++编写)托管一个WebBrowser控件。当要求WebBrowser控件弹出一个新窗口(通过javascriptwindow.open()调用)时,它会启动一个新的InternetExplorer进程。特别地,这个新的IE进程是一个64位的IE进程。由于网页喜欢Adob​​eFlash,不幸的是我需要确保启动的新IE进程是32位版本(这是我机器上的默认版本),以便可以显示Adob​​eFlash内容。有趣的是,IE本身(围绕WebBrowser/MSHTML的包装器)不会遇到这个问题,这意味着可以设置某种配置来提

windows - 使用 Windows 16 位 API 更改目录

我用MASM6.0(AssemblyAPIWindows16位)编写我想在我的代码中更改目录。我正在使用DOS3Call函数(比int21h快)movdx,OFFSETdir_usermovah,3bhinvokeDOS3Call;dir_useristheuser'sworkdirectory,like"c:\prog"有了这个功能,我可以改变目录,但我想知道是否有任何API可以在不使用中断的情况下为我做这件事。我需要一个16位的API,在32位中我知道该怎么做。谁能帮帮我?对不起英语,我不是美国人... 最佳答案 你不能。中断是

C++ opencv编译错误-Windows7 64位使用Eclipse CDT

尝试编译此示例项目以熟悉OpenCV:#include#includeusingnamespacecv;intmain(intargc,char**argv){Matimage=imread(argv[1],1);if(argc!=2||!image.data){printf("Noimagedata\n");return-1;}namedWindow("DisplayImage",CV_WINDOW_AUTOSIZE);imshow("DisplayImage",image);waitKey(0);return0;}我得到以下编译错误:DescriptionResourcePathL

windows - 从批处理文件中终止 Windows 16 位进程

我有这样的情况,一台安装有WindowsXP的旧计算机正在作为系统的服务器,并且有可能在出现问题时向我发送警报。然而,我们使用的这个服务器程序确实有问题,并且在某个给定的时刻可能会停止关心警报。然后这些警报堆积起来,并在程序最终重新启动时立即发送。这使得这些警报变得毫无用处,因为在您重新启动程序时,您已经知道系统出了点问题。我的目标解决方案是Windows任务计划程序可以每晚在一个简单的批处理文件的帮助下终止并重新启动该程序。不过,我似乎找不到终止该进程的方法,因为该程序的进程作为Windows进程csrss.exe的子进程运行。如果我打开任务管理器,我可以看到进程并将其终止,但是命令

windows - 从 32 位 wix 脚本注册 64 位 com 组件

我有为IE安装和注册32位COM组件的WIX脚本,我还想在同一个包中包含IE的64位COM组件而不创建额外的包(不想让用户混淆2个相同的程序添加/删除面板),我只看到一个变体-像这样运行操作[Windows文件夹]\SysWOW64\regsvr32.exe并且没有检查这个操作的响应因此,我的安装程序将在32位和64位窗口中运行问题:还有其他方法吗? 最佳答案 您应该将32位注册的注册表项放在Win64="no"的组件中。这将确保在为64位编译时,注册保持32位。 关于windows-从

database - 从 Windows 7 64 位连接到 32 位 Oracle 数据库

这个问题在这里已经有了答案:Canweconnecta32bitOracleserverfroma64bitclientandviceaversa?(1个回答)关闭9年前。如果这个问题已经得到回答(根据我的研究还没有),请原谅我。我的问题是,如果我正在运行Windows764位专业版并尝试连接到我的其中一台本地服务器上的32位Oracle10g数据库,a)我应该使用32位还是64位版本的Oracle连接到它客户?b)是否应该有任何额外的配置步骤安装客户端后,连接数据库?我还有一个预配置的TNSNAMES.ORA文件,那时候WindowsXP32位是标准配置。谢谢大家的宝贵时间!

windows - 64 位程序 - Windows "Shadow Space"问题

我正在尝试用x64汇编语言创建一个程序,但我在理解x64调用约定时遇到了问题。我认为问题在于我不知道必须为调用CopyFile函数保留多少影子空间。当我运行程序时,它就崩溃了。我使用MASM创建了这个程序。请帮我修复这段代码。谢谢。includelib\Masm64\Lib\Kernel32.libincludelib\Masm64\Lib\User32.libextrnGetProcessHeap:procextrnMessageBoxA:procextrnHeapAlloc:procextrnGetModuleFileNameA:procextrnExitProcess:proce

c# - 无法在 Windows 7 上读取 64 位注册表项

我遇到了以下尝试读取注册表项但失败的代码的问题。具体错误是:“System.NullReferenceException:未将对象引用设置为对象的实例。”我使用的代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingMicrosoft.Win32;usingSystem.Collections;usingSystem.Diagnostics;usingSystem.Security.Principal;namespaceUDTLibrary{publicclassNotificationBar{pu

windows - 为什么 64 位进程不能使用 32 位 dll?

在这篇文章中,我将讨论使用C++和Win32API创建的nativeWindows应用程序和DLL。来自帖子CanIloada32bitDLLintoa64bitprocessonWindows?我了解到64位进程不能直接使用32位DLL。解决此问题的一种方法是在32位进程中托管DLL并使用某种形式的IPC。既然如此,这背后的原因是什么?为什么64位进程不能使用32位DLL?难道是x86和x64指令集的区别? 最佳答案 如果传递给32位代码的地址有任何高于第32集的位,它将由于指针大小不匹配而丢失,并且很可能导致AV。

windows - 在64位注册表部分注册32位本地服务器是对还是错?

作为32位本地服务器(.exe)实现的COM对象在64位窗口上注册自身,默认情况下会被WOW64重定向(http://msdn.microsoft.com/en-us/library/aa384253.aspx)。当客户端请求实例时,系统通常会在两个部分进行搜索,除非设置了明确的上下文标志(CLSCTX_ACTIVATE_##_BIT_SERVER)。因此,可以将32位COM插件(作为本地服务器实现)与MSOffice201064位一起使用。它只需要将MSO特定的注册表项也写入64位部分(KEY_WOW64_64KEY)。自MSOffice201364位以来,仅加载在64位注册表部分中