既然.NET CLR 4.0支持并行(SxS)操作,现在应该可以在托管代码中编写shell扩展.我试过这个并成功编写了一个实现IPropertyStore,IInitializeWithStream和IPropertyStoreCapabilities的Property Handler.
处理程序工作正常,并在通过资源管理器浏览文件时按预期调用.它还可以在预览面板和文件属性"详细信息"面板中显示自定义属性.
但是,当我尝试在预览面板中编辑属性,然后单击"保存"时,出现"正在使用文件"错误,指出该文件在Windows资源管理器中已打开.
一些花絮:
那么我需要更改(或设置在注册表中)以使属性保存工作?
更新:
感谢Ben,我已经开始工作了."困难部分"(至少对我来说)是理解COM互操作永远不会在我的PropertyHandler上调用Dispose或Finalize.这使我处理的文件保持打开状态,直到GC运行.
幸运的是,"属性处理程序协议"的作用是,当为ReadValue()调用IInitializeWithSream.Initialize()时,streamMode是ReadOnly,当为SetValue()调用它时,streamMode是ReadWrite,并且将调用Commit()在末尾.
int IInitializeWithStream.Initialize( IStream stream, uint grfMode )
{
_stream = stream;
_streamMode = (Stgm)grfMode;
Load();
// We release here cause if this is a read operation we won't get called back,
// and our finializer isn't called.
if ( ( _streamMode & Stgm.ReadWrite ) != Stgm.ReadWrite )
{
Marshal.ReleaseComObject( _stream );
_stream = null;
}
return HResult.S_OK;
}
int IPropertyStore.Commit()
{
bool result = false;
if …Run Code Online (Sandbox Code Playgroud) 有没有办法用破折号(即 - 或 - –或 - —)创建HTML格式的列表样式
<ul>
<li>abc</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
输出:
- abc
Run Code Online (Sandbox Code Playgroud)
li:before { content: "-" };虽然我不知道该选项的缺点(并且非常有必要提供反馈),但是我想到了这样的事情.
更一般地说,我不介意知道如何使用通用字符列表项.
我从code.google.com托管的项目中创建了一个"服务器"克隆.我在我的机器中从该存储库创建一个克隆并推送一些更改; 一切顺利.
现在主存储库有一些更改,我想拉它们.如何使用这些更改更新"服务器"克隆?
我希望用bash脚本读取一个目录(实际上我使用的是zsh).
我想在同一目录中列出当前文件夹并将其显示给用户,要求他们输入一个数字以选择正确的文件夹.
Please select a Folder eg, 1,2,3.
1. Folder Name 1 (this should the actual name of the folder in the dir
2. Folder 2
3. Folder 3.
Run Code Online (Sandbox Code Playgroud)
我也希望能够转换输入,例如1.回到实际的文件夹名称,所以我可以
cd ./$foldername/
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.干杯,约翰.
我在Windows Phone应用程序上使用MVVM Light.我想在数据绑定后在列表框中设置所选项目.
我认为最好的方法是在列表框上为Loaded事件设置eventToCommand并传递元素以设置所选索引,但我不确定如何将listbox元素传递给RelayCommand.
可能的重复:
SOAP或REST
为什么我们需要RESTful Web服务?
嗨伙计,
最近,提到了很多REST Web服务.使用它比其他方法的原因是什么?它们是否在WCF中使用?我们如何实施?
TIA
我试图取一个字符串并显示它的可能组合(在PHP中),但同时按每个单词的顺序说.例如:"你好吗"会返回(一个数组)
How are you
How are
are you
how
you
are
Run Code Online (Sandbox Code Playgroud)
我现在的代码显示了所有组合,但我希望它能保持顺序而不是翻转单词.任何人都有任何想要分享的想法或片段吗?谢谢
任何人都可以推荐一个Java库,其中包含适合在webapp中执行服务器端密码强度检查的方法.理想情况下,检查器应该是:
如果我有
int a= 5;
long b= 10;
int count0 = 2;
void ** args0;
args0 = (void **)malloc(count0 * sizeof(void *));
args0[0] = (void *)&a;
args0[1] = (void *)&b;
Run Code Online (Sandbox Code Playgroud)
如何从args [0]和args0 [1]转换回int和long?例如
int c=(something im missing)args0[0]
long d=(something im missing)args1[0]
Run Code Online (Sandbox Code Playgroud) 我知道我可以通过键入以下内容在 Android 的 ADB 中设置 DEBUG:
adb shell setprop log.tag.MyTag 调试
我想知道是否有一种方法可以为所有进行日志记录的类设置调试,而不必多次键入上述内容:
adb shell setprop log.tag.MyTag1 调试
adb shell setprop log.tag.MyTag2 调试
adb shell setprop log.tag.MyTag3 调试
adb shell setprop log.tag.MyTag4 调试
就像是:
adb shell setprop log.tag.* 调试
我正在使用 Eclipse 进行开发,但目前我正在通过命令行 adb 设置 DEBUG。
谢谢,凯文
.net ×1
adb ×1
android ×1
bash ×1
c ×1
com-interop ×1
combinations ×1
css ×1
debugging ×1
eclipse ×1
google-code ×1
html ×1
html-lists ×1
java ×1
macos ×1
mercurial ×1
mvvm-light ×1
passwords ×1
php ×1
rest ×1
shell ×1
shell32 ×1
silverlight ×1
wcf ×1
web-services ×1
windows ×1
xhtml ×1