我有两个 C++ ATL 项目,一个实现 COM 客户端,一个实现 COM 服务器.客户端将服务器创建为 COM 本地服务器(进程外),并为服务器提供返回客户端的 COM 接口.服务器使用此接口用于在客户端内存空间中创建对象. 如果服务器崩溃(例如 nullptr 异常),则服务器在客户端内存空间中创建的对象在客户端内存空间中悬空,因为服务器永远没有机会减少这些对象的引用计数. 我们看到,在服务器崩溃大约 5-15 分钟后,这些悬空对象仍在被销毁,我们假设 COM 已经实现了某种垃圾收集. 问题:是否有任何方式以编程方式强制 COM 垃圾收集更快运行? 约格 解决方案 RpcSs服务在本地机器上实现DCOM垃圾回收机制. 据我所知,这种机制无法以编程方式访问.
以下是关于 windowsgeneraldevelopmentissues 的编程技术问答
我正在尝试从属于域的 XPSP2 机器访问属于工作组的 Vista 机器上的注册表.两台机器都位于更广泛 LAN 的本地子网上.通过在 Vista 机器上执行以下操作,我获得了部分访问权限. 启动远程注册表服务并将其设置为自动. 启用文件和打印机共享以及远程桌面 从计算机、属性、远程启用远程桌面. 但是,当我在 XPSP2 机器上使用 regedit 访问 Vista 机器时: 我只能看到 HKEY_LOCAL_MACHINE 和 HKEY_USERS 键. 我可以访问和编辑 HKEY_USERS 中和下的值. 当我尝试访问 HKEY_LOCAL_MACHINE 时,我得到了以下错误: 无法打开HKEY_LOCAL_MACHINE:打开密钥时出错. 解决方案 这是一个应该工作的C#控制台应用程序.(它确实适用于查询另一台 XPSP2 机器.)当我查询如上配置的 Vista 机器时,我收到以下异常: System.Security.Securi
大家好, 我有 winform .exe,它有几个相关的引用文件(其他 dll、app.config、.ini 等).也可以使用一些参数在命令行中访问此 .exe.现在我如何制作 .exe 以使最终用户可以从命令行中的任何位置访问它 例如 c:\>MyExe.exe.尽管实际的 .exe 位于“C://Program Files/myCompany/myexe.exe".(现在,如果用户键入完整路径或使用“cd Programfiles"转到实际的应用程序文件夹,它可以正常工作-->“cd myCompany".) 我不确定这是否可能?我认为实际的源代码对此无能为力. 谢谢, 解决方案 您可以将程序的路径添加到 PATH 环境变量中: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/path.mspx?mfr=true
我下载并安装了 MSpeech_TTS_en-AU-Haley.msi 和 MSpeech_TTS_en-US-Helen.msi,但可以看到它们. 我只能看到微软安娜的默认声音. 除了运行 .msi 文件之外,您还需要做什么才能看到这些声音? 我使用的是 Win7 SP1 64 位家庭版. 我的代码: 进口 System.Text 进口 System.Speech.Synthesis 表单加载例程: 暗淡 objvoices作为 ReadOnlyCollection(的 InstalledVoice) = p_objSynth.GetInstalledVoices(Globalization.CultureInfo.CurrentCulture) 暗淡 objvoiceInformation作为 VoiceInfo = objvoices(0).VoiceInfo 对于
对于 Microsoft 社区,我有一个非常奇怪的问题,我现在认为应该由 Microsoft 来解决,我想在他们的 Hotmail 服务器上解决. 我可能是错的,因此非常感谢任何输入. 长话短说,我有 Windows Phone7,这是一部很棒的手机. 它与我的 Windows Live ID 的云同步运行了大约 2 周,然后突然间手机会报告“与 m.hotmail.com 错误代码同步时出现问题:86000108". 硬重置手机后然后更多,因为我没有其他游戏计划,问题仍然存在. 好吧,我想使用我的主要 Windows Live ID,因为它用于很多事情,例如 MSDN、社交网络等. 好吧,没有承诺或解决我的同步问题,我想我会设置另一个 Windows Live ID 帐户作为临时措施. 这样做之后,同步操作再次运行良好. 当我切换回我的主 ID 时,发生了错误. 因此,我相信这是某事与我的 Windows Live ID 的 m.hotmail.com 服务器上损坏的同步文件有关. 这
我正在运行 Windows 7,并且出现了 ReadFile 的奇怪行为. 通过指定 FILE_FLAG_OVERLAPPED 通过 CreateFile 打开文件并读取 *large* 数据块时磁盘(假设为 500Mb 以使效果更明显),ReadFile 阻塞长达 10 秒,然后返回 FALSE(GetLastError() 报告 ERROR_IO_PENDING),我得到 *immediate* 回调,表明异步 I/O 已完成(BindIoCompletionCallback).这是一个重现的代码: (我剥离了IOCP绑定以减少代码,这两种方式都可以重现) //打开文件 HANDLE hFile= CreateFileW(L"c:\\path\to\large\file", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); int dataSize = 500 * 1024
刚购买了一台 vista 商用 HP 机器.机器是内部网络的一部分.如果我尝试从 VISTA 机器从网络上的任何其他机器复制文件,它会给我消息“Destination Folder Access Denied".“您需要权限才能执行此操作".但是我可以将网络上其他机器的文件复制到VISTA机器????????? 解决方案 我遇到了同样的问题.我确信我过去能够做到这一点.我在非特权帐户下运行,无法将文件从网络共享复制到我自己的工作站.使用备用凭据映射网络共享.我可以看到该文件,但无法直接打开它或将其复制到本地硬盘.我也从以管理员身份运行的命令 shell 尝试过,但没有成功. 我尝试打开网络发现和文件共享,但没有成功. 我在事件日志中也看不到任何内容. 我分享你的挫败感.
我正在尝试修改 DSF USB HID 通用示例- TestGenericHid.wsf 使其能够像 DSF USB 键盘示例一样发送鼠标输入报告 我的问题是我应该将什么 InputReport 数组值传递给 GenericHIDDev.QueueInputReport? WriteLine“创建第一个输入报告以发送到消费者控件"暗淡输入报告1(1)InputReport1(0) = CByte(&H1)InputReport1(1) = CByte(&H3c)InputReport1(1) = CByte(&H2)WriteLine“创建第二个输入报告以发送到消费者控件"暗淡输入报告2(1)InputReport2(0) = CByte(&H1)InputReport2(1) = CByte(&H3c)InputReport2(1) = CByte(&H2)PromptAndWaitForEnterKey “队列输入报告以供处理"GenericHIDDev.QueueIn
你好! 我正在寻找一种方法来更改韩国 Microsoft IME 的布局. 目前 IME 的设置就像一个真正的韩语键盘,但我想创建一个自定义的. 我尝试使用“Microsoft Keyboard Layout Creator",但对于韩语它不起作用.您结束输入: ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ 而不是 안녕하세요 因为它不会将单独的字母组合成音节. answers.microsoft.com 论坛上的论坛版主提到了我 另外,我真的不确定该在哪个论坛发帖.抱歉,如果我选择了一个不好的论坛. 解决方案 Hi SuiTobi, 感谢您在这里发帖. 您能告诉我们您的项目是什么类型的吗?我不确定您是否正在开发软件.如果是,您是否收到其他错误消息? 如果您想使用韩语输入法编辑器,您需要安装输入法编辑器. 我不是韩语专家,我只是尝试为我的电脑(Windows 10)安装韩语,这是我的测试结果. 它似乎可以重现您的问题,但这些元素可能会被
出于我的目的,我让我的 Windows 服务在用户当前登录时运行一些进程.由于某些原因,我无法将我的服务作为本地系统/本地服务运行,我需要它作为一些运行域管理用户.我遇到的问题是我只是做不到,我不知道为什么.WTSQueryToken 函数返回错误 1314,所以我添加了一些代码来启用 SE_TCB_NAME 权限,但它没有帮助.我还添加了我的域用户以“替换进程级令牌 "当地政策 - 没有帮助也是. 这是我的代码: int CreateInteractiveProcess(LPWSTR szPath){STARTUPINFOW si;ZeroMemory(&si, sizeof(si));si.cb = sizeof(si);si.lpDesktop = L"winsta0\\default";ZeroMemory(&g_ProcessInformation, sizeof(g_ProcessInformation));DWORD dwSessionId = WTSGetActi
大家好, 我是一个嵌入式的人,正在尝试使用核心 win32 API 做一些 GUI 应用程序. 我会尽力解释我看到的这个奇怪的问题,这让我很困惑. 请与我裸露,我不是 GDI 专家! 1. 我的绘图结构如下: 案例 WM_PAINT: PAINTSTRUCT ps; HDC hDC = BeginPaint(hWnd, &Ps); My_Paint_Function(hDC); EndPaint(hWnd, &Ps); 休息; 2. 在 My_Paint_Function 内部,我有其他函数调用其他函数,它们都在传递 hDC 参数.(我在任何地方都没有任何递归调用) 我在这些函数中调用的唯一相关函数到 GDI 的是 SelectObject、 SetDCPenColor、 SetBrushColor、Rectangle、Ellipse、MoveToEx 和 LineTo. 3. 问题是我画的一些线条散落在整个窗口. 矩形和椭圆都很