Articles of Windows

如何获得一个标准EXE和WinService EXE相互沟通?

我们有一个应用程序是部分标准EXE和部分WinService EXE。 标准的EXE由registry的运行部分产生,并且在刚刚login的用户的凭证下login。WinService EXE设置为自动运行,因此始终运行并以LocalSystem(本质上是pipe理员)。 我们需要这两个程序通过将信息写入XML文件来共享数据。 当login的用户有权访问已安装的文件夹(C:\ Program Files \ ourApp)时,该应用程序正常工作。 标准EXE写入数据,WinService EXE读取数据没有问题,一切正常。 但是,如果login用户无法写入已安装的文件夹,则数据会被UAC虚拟化和数据redirect所困扰,并在其他地方结束,WinService将无法从已安装的文件夹中find或不能读取该数据。 为了避免这种情况,我们尝试了将标准EXE和WinService EXE写入并从%ProgramData%中读取。 这将工作正常,但标准用户没有权限写入%ProgramData%。 我们不能使用%LocalAppData%,因为对于C:\ Users \ LoggedInUser \ AppData \ Locallogin的用户,对于winservice,它将是C:\ Users \ Administrator \ AppData \ Local。 在启用了UAC虚拟化function的Vista和Win7中还有什么地方可以使用只有用户权限运行的标准EXE和运行为LocalSystem的WinService才能相互通信。 我们尝试了registry,但问题更加严重。 最后但并非最不重要。 我们需要这个与XP一起工作,没有任何代码差异。 意思XP也有%ProgramData%,%LocalAppData%等环境variables,它可以在两个工作。

很less有关于Windows上的OpenGL多缓冲的问题

我已经看到了这一点,但它没有提到三重缓冲和实际的方法。 现代游戏执行三重缓冲的最常见方式是什么? SwapBuffers在OpenGL状态方面究竟做了什么? 是否可以独立于窗口系统执行双重和三重缓冲(例如,通过使用glDrawBuffer或使用FBO / PBO)? 3.甚至在性能和灵活性方面有意义吗?

ColdFusion不能模拟Windows用户访问目录大小 – 也许ASP.NET

我们在同一个域中运行ColdFusion和Active Directory。 我正在编写一个ColdFusion可以运行的脚本来获取文件系统中客户端目录的大小。 但是,每个目录需要不同的Windows身份validation。 ColdFusion <cfdirectory>没有为每个目录模拟用户的方法。 使用JavaIO也显然没有用,因为Java显然对Windows身份validation一无所知。 我发现了一个使用APS.NET编写COM或.NET组件的build议,但文章没有更进一步。 从那以后,我就把自己的心挖出来,没有发现更有用的东西。 如果任何人有任何信息或协助提供,你无法想象我的感激之情。

PHP不会在Windows ER_OPEN上解压zip文件

我正在为我的CMS构build一个模块安装程序,现在我遇到了一个问题,即使用装有XAMPP x32的Windows 7 x64, 出于某种原因PHP返回ER_OPEN错误代码(11),当我运行我的代码,我知道directoy是可写作的文件获取移动到父母的PHP时,它被上传在这里是我的脚本 if($_URL['form'] == 'sent'){ $target_path = getcwd()."\\..\\Temp-uplds\\"; $target_path = $target_path. time() . basename( $_FILES['installFile']['name']); if(move_uploaded_file($_FILES['installFile']['tmp_name'], $target_path)) { $zip = new ZipArchive; $status = $zip->open('$target_path'); if ($status === TRUE) { $zip->extractTo(getcwd()."\\..\\Temp-uplds\\zip\\"); $zip->close(); } else { print_r(array($status, $zip)); } } else{ $this->tmp_vars->error = true; } } echo "<pre>error codes ZIPARCHIVE::ER_EXISTS = '".ZIPARCHIVE::ER_EXISTS."' File […]

Windows中的MSYS主文件夹

我在Windows中使用MSYS。 我需要访问MSYS home文件夹中的文件。 MSYS的/home/username文件夹在Windows C:\ folders中映射到哪里?

可以发布到自定义注册协议/scheme?

我正在开发一个Web应用程序,它需要在客户端计算机上调用一个自定义的注册协议 。 目前我做了一个GET协议,然后通过查询string传递参数。 是否有可能做一个POST自定义注册协议,如果是的话我将如何去提取CustomProtocol.exe中的头信息? 这是我目前的GET解决scheme 从JavaScript启动呼叫 Custom://startup?Function=DoSomething&Value1=Test&Value2=Test 我注册到我的机器上的自定义协议。 [HKEY_CLASSES_ROOT\Custom\shell\open\command] @="\"CustomProtocol.exe\" \"%1\"" 然后编译下面的代码来生成CustomProtocol.exe。 在执行期间,URI被传递给Main方法,然后我提取查询string。 namespace CustomProtocol { class Program { static void Main(string[] args) { // Get the querystring from the URI being passed in // Business code… } } } 编辑1: 这是进行自定义注册协议后的标题。 该协议只有1个parameter passing给它,就像GET是URI。 不知何故,如果我只能够访问标题信息… Request URL:http://localhost/CustomWebInvoker/Default.aspx Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Content-Type:application/x-www-form-urlencoded Origin:http://localhost Referer:http://localhost/CustomWebInvoker/Default.aspx User-Agent:Mozilla/5.0 […]

VBscript,写入registry

我无法修改registry键值, Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKCU\MyNewKey\MyValue", "0" WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA","0" 当我执行代码时,它总是给出一个错误,“在registry中无效的根”这个代码有什么问题可以有人解释这一点?

为什么特定的Windows批处理参数导致崩溃?

test.bat的内容是: setlocal EnableExtensions EnableDelayedExpansion set param1=%~1 echo %param1% 有人可以解释为什么test.bat "^^!^^^&^^^^"使cmd窗口崩溃,但test.bat "^^^&^^^^"有一个预期的结果设置&^到variablesparam1 ? 我可以做test.bat "pass^^!word"并得到pass!字的预期结果。 更新: test.bat "^^!^^^^^&^^^^^^^^"作品。 但我不完全确定为什么。 这被解释为set param1=^!^^&^^^^ 。 为什么^在它前面需要^^^?

将parameter passing给我的lua dll函数

我怎样才能将parameter passing给我的lua dll函数? 我做了一个简单的lua dll函数: static int functionName(lua_State *L, int arg1, char arg2[]) { printf("running my dll:\n"); printf("passing number: %d passing string = %s",arg1,arg2); return 0; } 并在lua中使用这个运行function: require "myTestDll"; myTestDll.functionName(1231544,"Hello World, I'm running my DLL."); 但结果是,它打印错误的数字,甚至没有接近正确的string。

将string列表传递给控制台应用程序

我需要将string列表作为parameter passing给控制台应用程序(使用C#开发)。 控制台应用程序以System.Diagnostics.Process.Start启动,如下所示: string fname = "testDoc"; List<string> myList; //initialized elsewhere Process console = Process.Start("Client.exe", "-filename:"+fname+ " -list:"+myList); 我怎样才能做到这一点?