我有一个由服务运行的应用程序。该应用程序的配置方式使其仅在单个Windows用户帐户下运行,即安装该软件的用户。这种处理方式是在安装过程中,应用程序会保存启动安装的用户的用户名/域组合,然后服务会根据用户session是否处于事件状态来决定运行应用程序。我们的一位客户报告说应用程序没有在他的帐户上运行,经过进一步调查,我们发现由于某种原因,在查询session信息时,同一sessionID返回的域名不同。这是WTSQuerySessionInformation的pInvoke:[DllImport("Wtsapi32.dll",SetLastError=true)]staticexte
我正在编写一个在特定屏幕上打开程序的小工具,这样我就可以将我们的监控屏幕(1台机器有2个屏幕)设置为在一夜之间重新启动,并让它在启动时将监控网页恢复到正确的屏幕。我想通过使用.NET的System.Diagnostics.Process类来完成此操作。我已经看到可以打开一个进程,然后使用P/Invokes(Opennotepadtospecificlocationonthescreen,andtodesiredsize?)将它移动到某个地方,但是,我想在应用程序打开之前设置目标屏幕,以便例如在Kiosk模式下使用此设置正确启动Chrome。有人知道怎么做吗?
我有一个nativedll形式的第3方API,我使用DllImport从C#调用它。此nativedll取决于打开的第3方应用程序。当我正常运行代码时,API会执行预期的操作并驱动应用程序。但是,当我运行与Windows服务相同的代码时,即使是我自己,API也会返回我在关闭应用程序时看到的相同(未记录的)错误代码;ProcessExplorer确认nativedll已从应用程序目录正确加载。可能是什么原因造成的,我该如何解决这个问题? 最佳答案 有点旧,但它是搜索中排名靠前的结果之一。所以我认为我的数据仍然有用。Ihavea3rdp
我目前正在开发一个小型库,使您能够从文件和文件夹中获取图标。现在,我不在乎它是否只适用于win8+(因为那是我要使用它的地方),但是,我遇到了一个关于透明度的小问题。如果您看一下下图:我生成的(从我的库中)在左边,Windows资源管理器在右边。现在,您可能会看到,首先我生成的右上角有2条黑线,其次,背景颜色有所不同。所以我想知道的是这个;有没有办法获得与Windows资源管理器使用的完全相同的图像,还是我只是做错了?我的代码(为了简短起见,结构/外部等除外)如下,整个代码here.publicstaticclassIcon{publicstaticImageGetIcon(strin
我正在尝试使用C#中的Windows多媒体MIDI函数。具体来说:MMRESULTmidiOutPrepareHeader(HMIDIOUThmo,LPMIDIHDRlpMidiOutHdr,UINTcbMidiOutHdr);MMRESULTmidiOutUnprepareHeader(HMIDIOUThmo,LPMIDIHDRlpMidiOutHdr,UINTcbMidiOutHdr);MMRESULTmidiStreamOut(HMIDISTRMhMidiStream,LPMIDIHDRlpMidiHdr,UINTcbMidiHdr);MMRESULTmidiStreamRest
是否存在以编程方式打开“文件夹选项”(在Windows资源管理器中:工具>文件夹选项)对话框的方法?如果没有,如何设置“显示隐藏的文件和文件夹”?抱歉英语不好。 最佳答案 这应该有效:ProcessStartInfopsi=newProcessStartInfo{FileName="RUNDLL32.EXE",Arguments="shell32.dll,Options_RunDLL0"};Process.Start(psi);这里有相当广泛的引用:Dx21RunDLL32. 关于c#-
我已经尝试了很长一段时间来调整桌面工作区(窗口最大化的区域)的大小。我找到了所需的API,但我似乎无法调整工作区的大小。它什么都不做。我使用Windows7Ultimatex64,所以我也尝试在x64“模式”下编译它,但仍然没有成功。有人能给我一个正确的方向吗?这是我到目前为止得到的:[DllImport("user32.dll",EntryPoint="SystemParametersInfoA")]privatestaticexternInt32SystemParametersInfo(Int32uAction,Int32uParam,IntPtrlpvParam,Int32fuW
我正在使用C#winforms开发应用程序。我们的应用程序将安装在win8surface(触摸屏设备)上。我们想检查键盘是否通过USB连接,然后我们的应用程序将不会显示软键盘,否则会显示。有许多方法可用于检查WinRT,但没有一种方法可用于winformsC#。如果我的问题不清楚,请告诉我。提前致谢。 最佳答案 我刚刚写了这篇文章并在W8上进行了测试:ManagementObjectSearchersearcher=newManagementObjectSearcher("SelectNamefromWin32_Keyboard")
有人知道用C#编写的适用于winXP的工作缩略图shell扩展吗?此外,如果不存在,是否有人知道如何在C#中实现IExtractImage接口(interface)和所有需要的结构?提前致谢。注意:它可以使用.NET4来完成,并且所有在一个代码框架中提供了它的示例,但没有用于preVista系统的示例。 最佳答案 官方说法是shell扩展不应该写在托管代码中。比如看什么Raymond不得不说。或来自MSDN的官方专线. 关于c#-缩略图shell扩展.NET,我们在StackOverfl
我正在尝试找出如何检测Windows桌面是否为AeroPeek模式开启。特别是我需要检测我的窗口内容是否显示或绘制为具有透明背景的框架。我知道我可以从AeroPeek中排除我的窗口,但这不是我现在需要的。TIA 最佳答案 这就是你想要的吗?[DllImport("dwmapi.dll",PreserveSig=false)]publicstaticexternboolDwmIsCompositionEnabled();publicboolIsAeroActive(){//CheckifAeroisenabled;if(DwmIsCo