Windows中是否为应用程序开发人员保留了特定范围的事件ID?
我正在研究一个将错误写入Windows事件日志的.Net应用程序.此应用程序实际上以服务器为目标,并将由偏执的sys管理员作为计划任务运行,他们希望尽可能地将其锁定(包括使用减少的权限维护帐户运行它).该应用程序将不会正式安装 - 事实上,我甚至没有为此构建安装程序; 只是一个包含.exe和app.config文件的zip文件.
这是诀窍:在Windows中,您需要管理员权限才能在应用程序事件日志中创建源.由于我不能指望这一点,我不想让过度工作的系统管理员需要创建一个,我使用"应用程序错误"(由MS Office使用)作为后备.(选择一个更好的后备是在我的待办事项清单上,因为办公室不经常安装在服务器上).
问题是我仍然希望我的活动能够脱颖而出,而不仅仅是伪装成Office.这样,我的系统管理员可以轻松过滤到事件查看器中的那些事件或他们选择的日志聚合器.我现在知道的最佳解决方案是使用事件ID,但我担心与内部Windows事件冲突,特别是考虑到我的目标受众.
我看了,但我找不到任何关于此的文件.那么,我应该使用特定范围的事件ID,我可以使用任何东西吗,或者我应该在这里看一个完全不同的选项?
如果http://foo.com重定向到重定向到的1.2.3.4重定向http://finalurl.com,我如何使用Ruby找到登陆URL"http://finalurl.com"?
我正在查找$ PWD -name'filename'| vim -
期望在vim编辑器中打开文件文件名.但它不起作用.在这种情况下,我确信只存在一个名为'filename'的文件.
find的结果也给出了stdout的完整路径.
我正在尝试实现预乘 alpha 混合。在此页面上:什么是颜色混合?,它们确实解释了标准 alpha 混合,但不解释预乘值。
Alpha 混合 : (source × Blend.SourceAlpha) + (destination × Blend.InvSourceAlpha)
根据公式,它转化为:
a = ((srcA * srcA) >> 8) + ((tgtA * (255 - srcA)) >> 8);
r = ((srcR * srcA) >> 8) + ((tgtR * (255 - srcA)) >> 8);
g = ((srcG * srcA) >> 8) + ((tgtG * (255 - srcA)) >> 8);
b = ((srcB * srcA) >> 8) + ((tgtB * (255 - srcA)) >> 8);
Run Code Online (Sandbox Code Playgroud)
它有效,显然......
现在如何将其转换为处理预乘值? …
假设我从Mathematica字典中选择所有3个字符:
all3 = Characters /@ Select[DictionaryLookup[], StringLength[#] == 3 &];
Run Code Online (Sandbox Code Playgroud)
我想形成完整的拼字游戏集,例如:
A B E
R A Y
E R E
Run Code Online (Sandbox Code Playgroud)
可以水平和垂直读取单词.
显然,可以通过递归和回溯找到集合.但:
1)有没有办法用模式解决它?
2)哪些尺寸有有效的解决方案?
编辑
我写这个问题DictionaryLookup[]只是因为它是一个合理大小的可变长度记录数据库.我的真正问题与字典查找无关,而与某种织机模式有关.
好吧也许疯狂有点太强了,但我问的是,如果有任何窗口工具包那里没有让我这样做:
class MyApp(SomeWindowClass):
Run Code Online (Sandbox Code Playgroud)
我真的不想使用一个如此痴迷对象的人制作的图书馆,他/她认为应该有一个应用程序类(只有一个实例,所以我不明白为什么任何人都想做那些额外的打字)(顺便说一下,对于那些同意这些库设置方式的人来说没有任何冒犯意图,我真的很想知道是否有任何东西有一点点对象)
然而,gevent依赖于greenlet和我发现无法安装的.msi版本,并且2.6的egg拒绝安装.
msi版本失败如下.
C:\Windows\system32>easy_install greenlet
install_dir C:\Python27\Lib\site-packages\
Searching for greenlet
Reading http://pypi.python.org/simple/greenlet/
Reading http://bitbucket.org/ambroff/greenlet
Reading http://undefined.org/python/#greenlet
Best match: greenlet 0.3.1
Downloading http://pypi.python.org/packages/source/g/greenlet/greenlet-0.3.1.tar.gz#md5=8d75d7f3f659e915e286e1b0fa0e1c4d
Processing greenlet-0.3.1.tar.gz
Running greenlet-0.3.1\setup.py -q bdist_egg --dist-dir c:\users\ian\appdata\local\temp\easy_install-1epg28\greenlet-0.3.1\egg-dist-tmp-mqhu3n
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'repository'
warnings.warn(msg)
greenlet.c
greenlet.c : fatal error C1074: 'IDB' is illegal extension for PDB file:
error: Setup script exited with error: command '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.exe"' failed with exit status 2
C:\Windows\system32>
Run Code Online (Sandbox Code Playgroud)
我想这意味着我有一个错误的VS版本.
还有什么我可以使用的吗?
我想得到PyQt4,因此如果无法访问数据库或需要很长时间才能回复,GUI将无法锁定.
我试图通过MSDeploy运行命令作为我的打包/部署过程的一部分.特别是,我试图通过对我的一个DLL 运行installutil来创建自定义事件日志,但是我在部署目录中指定DLL 的相对路径时遇到问题.首先,我将以下配置添加到我的csproj中,以便在我的Manifest文件中生成runCommand提供程序.请注意DLL的绝对路径.
<PropertyGroup>
<!-- Extends the AfterAddIisSettingAndFileContentsToSourceManifest action to create Custom Event Log -->
<IncludeEventLogCreation>TRUE</IncludeEventLogCreation>
<AfterAddIisSettingAndFileContentsToSourceManifest Condition="'$(AfterAddIisSettingAndFileContentsToSourceManifest)'==''">
$(AfterAddIisSettingAndFileContentsToSourceManifest);
CreateEventLog;
</AfterAddIisSettingAndFileContentsToSourceManifest>
</PropertyGroup>
<Target Name="CreateEventLog" Condition="'$(IncludeEventLogCreation)'=='TRUE'">
<Message Text="Creating Event Log" />
<ItemGroup>
<MsDeploySourceManifest Include="runCommand">
<path>installutil C:\inetpub\wwwroot\MyTestApp\bin\BusinessLayer.dll</path>
</MsDeploySourceManifest>
</ItemGroup>
</Target>
<ItemGroup>
Run Code Online (Sandbox Code Playgroud)
在调用msbuild之后,这在package.zip中正确生成了我的清单.当我运行MyTestApp.deploy.cmd/Y时,它正确调用了msdeploy并将我的文件部署到inetpub\wwwroot\MyTestApp并从下面的清单中运行我的命令:
<runCommand path="installutil C:\inetpub\wwwroot\MyTestApp\bin\BusinessLayer.dll ... etc
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我不想将此DLL路径硬编码到c:\ inetpub\etc.如何使用默认网站下部署目录中的相对路径进行上述调用?理想情况下,我希望MSDeploy采用此路径并将其作为变量传递给runCommand语句,以便找到DLL.然后我可以编写类似的内容:<path>installutil $DeploymentDir\NewTestApp\bin\BusinessLayer.dll</path>无需担心硬编码绝对路径.
有没有办法这样做,而不是每次都使用我的DLL的绝对路径?
我想在Python程序中获得操作系统的argv [0]的真正价值.Python的sys.argv [0]不是这个值:它是正在执行的Python脚本的名称(有一些例外).我想要的是一个foo.py,它会在执行时打印"somestring"
exec -a "somestring" python foo.py
Run Code Online (Sandbox Code Playgroud)
琐碎的计划
#! /usr/bin/env python
import sys
print sys.argv[0]
Run Code Online (Sandbox Code Playgroud)
将打印"foo.py"而不是.
有谁知道如何获得这个?Python C API中有一些相关的函数:例如Py_GetProgramName.但这似乎并没有暴露在Python世界的任何地方.Py_GetProgramFullPath使用argv [0],但是它试图获取Python解释器的路径.(此值传播到sys.executable,因此该变量也不正确.)我是否真的必须编写C模块才能获得此值?
编辑:同时要求(但不帮忙,回答)在这里.
我正在设置一个很好的环境来在打印文档中呈现我的代码.首先,我使用了用于Latex的lstlisting包,但后来我偶然发现了铸造.
铸造真的很棒,但有没有办法改变高光颜色?
由于minted使用了Pygments库,我认为Pygments是颜色的关键,但我还没有找到它.
任何人都可以解释它是如何完成的或发布一个链接,显示它是如何完成的?
