如果您使用Process Monitor之类的工具,则可以看到当打开目录时,explorer.exe会执行DirectoryQuery
。我不知道DirectoryQuery
是否特定于procmon,但我想知道我是否可以在C#中捕获这些调用。或者确定是否有任何Win32 API我可以PInvoke来获取此信息。
还有其他工具,如Clover也可以这样做。我试图复制的功能与Clover基本相同。我将新目录重定向到我的应用程序而不是资源管理器。
如果有人能指出我正确的方向,我将非常感激。
答案 0 :(得分:0)
如果您想编写自己的文件资源管理器应用程序,那么您可以使用IExplorerBrowser
对象为您完成90%的工作。 Register ssh
和# Use a *literal* here-doc to read the script into a *variable*.
# Note how the script references parameter $1 instead of
# local variable $count.
read -d '' -r script <<'EOF'
[[ $1 == '0' ]] && output='zero' || output='nonzero'
echo "$output"
EOF
# The variable whose value to pass as a parameter.
# With value 0, the script will echo 'zero', otherwise 'nonzero'.
count=0
# Use `set -- '$<local-var>'...;` to pass the local variables as
# positional parameters, followed by the script code.
ssh localhost "set -- '$count'; $script"
ProgIds的新默认动词。
如果要挂钩到Explorers文件资源管理器窗口,则必须实现browser helper object(C# if you must)和tweak it so it only loads in Explorer。
DWebBrowserEvents2将告诉您有关导航事件的信息。