Articles of 窗户

当应用程序池使用“ApplicationPoolIdentity”时,IIS 8.5使用哪个用户帐户?

我正在使用运行IIS 8.5的新的Windows 2012 R2服务器。 为了testing目的,我在默认的wwwroot文件夹中安装了PHP和Joomla站点(C:\ inetpub \ wwwroot)。 现在,默认网站正在使用“默认网站”应用程序池,该应用程序池又使用“ApplicationPoolIdentity”标识。 Joomla网站加载没有问题,但是当它需要写入文件系统(即新的模块,对configuration文件的改变等)时,问题开始出现。 日志表明系统没有写入文件系统的权限。 我已经为不同的用户帐户,包括“IIS AppPool \默认网站”,“IUSR”和“IIS_IUSRS”组应用了各种不同的写入/修改/完整权限组合。 这些都没有解决这个问题。 但是,如果我已将完全访问wwwroot文件夹分配给“所有人”,则所有function都按预期工作。 现在,显然这是不太理想的,所以在这种情况下,用户帐户是IIS / PHP,我可以授予特定的NTFS权限,而不是打开文件系统到世界上? 谢谢!

Windows Apache2.2 PHP5 PHPMailer错误

我一直在阅读一些旧的问题,我还没有find解决我的问题。 在这里。 我正在开发一个有一些邮件function的酷网站,只限于pipe理员用户。 现在我正在本地主机上开发网站,但我已经提供了一个将用于网站的Gmail帐户。 我一直在寻找networking和PHPMailer模块似乎是一个很好的选举。 我的想法是使用Gmail帐户从本地主机发送电子邮件到任何其他电子邮件地址。 这是我正在使用的代码。 对于Apache2.2服务器 LoadModule ssl_module modules/mod_ssl.so 对于php.ini [mail function] SMTP = smtp.gmail.com smtp_port = 465 sendmail_from = admins.domaing@gmail.com 和PHP代码 <?php date_default_timezone_set("Europe/Madrid"); require_once("class.phpmailer.php"); $mail = new PHPMailer(); $body = 'It works!'; $mail->IsSMTP(); $mail->Host = "smtp.gmail.com"; $mail->SMTPDebug = 2; $mail->SMTPAuth = true; $mail->SMTPSecure = "ssl"; $mail->Host = "smtp.gmail.com"; $mail->Port = 465; $mail->Username […]

发送消息到WM_PAINT

我正在试图制作一个程序来控制箭头键的方框的移动。我的代码有问题。是否可以通过SendMessage向WM_PAINT发送一条消息来按下LEFT键来绘制一个新的矩形? 以下是我的代码 case WM_KEYDOWN: switch(wParam) { case VK_LEFT: //LEFT MOVEMENT SendMessage(hwnd,WM_PAINT,VK_LEFT,0); break; case VK_ESCAPE: //FOR ENDING THE GAME WITH ESCAPE KEY SendMessage(hwnd,WM_DESTROY,VK_ESCAPE,0); break; } case WM_PAINT: hdc=BeginPaint(hwnd,&ps); Rectangle(hdc,x,600,x1,700); if(wParam==VK_LEFT) { Rectangle(hdc,x-50,600,x1-50,700); } EndPaint(hwnd,&ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd,message,wParam,lParam); } where x1=550; x=500 当按下左键时,控件进入WM_PAINT 因为当我写 if(wParam==VK_LEFT) { Rectangle(hdc,x-50,600,x1-50,700); } 没有任何反应,但是当我写 if(wParam==VK_ESCAPE) […]

如何使用Windows编辑器从cygwin添加分割Git diff hunk

我需要在做git add -p时候分割一个块。 但交互期间的e选项不起作用。 我将解释为什么它不工作,并询问我能做些什么来使其工作。 所以我的大块可能看起来像下面的代码。 从其他研究中我已经知道,我应该使用e选项,然后我的编辑会拿出大块的线,我可以删除我不想要的。 + virtual bool fat() const { + return true; + } + virtual bool lazy() const { + return true; + } 很明显,我想提交只是脂肪的方法,并保留另一个提交懒惰的方法。 问题是,我从Cygwin运行Git,并且编辑器设置如下: export EDITOR=/cygdrive/c/csm/notepad2/Notepad2.exe 顺便说一句,当我提交消息,这完美启动编辑器。 当我检查编辑器的命令行时,它看起来像 c:\csm\notepad2\Notepad2.exe /home/csm/path/to/my/code/.git/addp-hunk-edit.diff 显然这是Windows和Cygwin像两种非混合的东西混合在一起的时代之一,但是我想要一个解决scheme来弥合这个差距,而不是使用一些基于Cygwin的编辑器。 我相信cygwin和windows git-path混淆的问题与我的相反,因为我使用Cygwin附带的Git,并且希望使用Windows辅助工具,而该问题旨在将Windows原生的Git与一个Cygwin shell环境。

检查一个Win32线程是否正在运行或处于挂起状态

如何检查Win32线程是否正在运行或处于挂起状态? 我找不到任何给出线程状态的Win32 API。 那么如何获得线程状态呢?

Microsoft Detours如何工作,如何使用它来获取堆栈跟踪?

我是微软Detours新手。 我已经安装它来跟踪进程所做的系统调用。 我运行从Web获得的以下命令 syelogd.exe /q C:\Users\xxx\Desktop\log.txt withdll.exe /d:traceapi.dll C:\Program Files\Google\Google Talk\googletalk.exe 我得到日志文件。 问题是我不完全明白这里发生了什么。 如何绕行? 它如何跟踪系统调用? 另外我不知道如何读取log.txt中的输出。 这里是log.txt中的一行 20101221060413329 2912 50.60: traceapi: 001 GetCurrentThreadId() 最后我想获得进程的堆栈跟踪。 我怎么能得到这个?

我如何获得写入registry项的权限?

我正在尝试在registry的HKLM部分下编写一些registry项。 我以类似于我见过的一些MSDN示例的方式使用RegCreateKeyEx()和RegSetValueEx()。 但是,RegSetValueEx()调用失败,出现错误5 FormatMessage()说是“访问被拒绝” 我想我需要请求提升的权限,但我不知道需要这样做的API调用? 这是我的代码: HKEY hk; DWORD dwDisp; LONG result = RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\MyApp"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hk, &dwDisp); if(result == ERROR_SUCCESS) { BYTE value[] = "Hello world!"; result = RegSetValueEx(hk, _T("MyValue"), 0, REG_EXPAND_SZ, value, strlen((char*)value)+1); if(result != ERROR_SUCCESS) { DBG_PRINT2("RegSetValueEx failed with code: %d\n", result); } RegCloseKey(hk); }

需要将应用程序带到Windows上的前景

我在Windows上使用Qt开发了两个应用程序。 我希望用户能够在一个应用程序中按下一个button,使其他应用程序到达前台。 (程序使用QLocalSocket和命名pipe道进行通信。) 目前我正在使用Qt的QWidget :: activateWindow(),偶尔会将应用程序带到前台,但大多数时候它只是突出显示任务栏上的程序。 有人可以告诉我如何做到这一点,最好使用Qt,尽pipe如果使用WIN32 API会失败。 不幸的是,我只能用Qtfind一种方法。 我使用Chris Becke的build议从当前活动的应用程序中调用SetForegroundWindow来解决这个问题。

ffmpeg av_interleaved_write_frame():窗户下的pipe道破损

我使用ffmpeg将原始媒体文件转换为rawvideo yuv格式,将yuv转换为pipe,然后我的命令工具接收原始的yuv作为input,做一些处理。 例如: D:\huang_xuezhong\build_win32_VDNAGen>ffmpeg -i test.mkv -c:v rawvideo -s 320×240 -f rawvideo – | my_tool -o output 每次运行命令的时候,ffmpeg都会把这个av_interleaved_write_frame(): Broken pipe转储av_interleaved_write_frame(): Broken pipe error msg: Output #0, rawvideo, to 'pipe:': Metadata: encoder : Lavf56.4.101 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320×240 [SAR 120:91 DAR 160:91], q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc […]

在Windows上是否有修复TortiseSVN覆盖图标

今天的某个时候,TortiseSVN覆盖图标在我的Windows 10 PC上消失了。 一个快速的谷歌search显示,在过去几年中,从Windows 7到最近的Windows 10发生了这样的事件。 总的来说,这些build议分成两组。 各种各样的操作,不再工作和手动黑客注册与RegEdit删除一些其他图标。 另外Tortisehg和TortiseGit有很多这个问题的例子。 所以我们在同一页面上,这些是Tortise和Windows版本今天给我的悲伤。 现在是我们find一种方法来解决这个问题,而不是在registry里面乱搞。 卸载TortiseSVN并重新安装不适合我。 这本身就指向了一个有趣的问题。 如果TortiseSVN星期一工作,如果我星期三安装它,则工作不正常 – 工具底层的图标pipe理看起来很虚幻。 无论如何,我希望有人可以build议或指向我们的工具或脚本或补丁,将实际上解决这个问题。 这个问题是由Windows解密,因为它使OneDrive某种受保护的物种,我不能移动或重命名这些图标(至less现在还没有)。 TortiseSVN TortoiseSVN的-1.9.5.27581-x64的svn的-1.9.5.msi Windows 10 版本10.0.14393 有关: TortoiseSVN图标覆盖更新到Windows 10后不显示 https://superuser.com/questions/968212/ TortoiseSVN图标不显示在Windows 7下