?? 外殼擴展和目錄隱藏問題.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://www.delphibbs.com/delphibbs/dispq.asp?lid=677927 -->
<HTML xmlns:tools><HEAD><TITLE>大富翁論壇 delphibbs.com</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content=大富翁,論壇,技術,積分,排行榜,Delphi,Kylix,Java,XML,XSLT,forum name=keywords>
<META
content="大富翁論壇(delphibbs.com)關于 Delphi, Kylix, Java 的技術論壇。采用積分游戲形式,靠您的智慧上大富翁排行榜!"
name=description>
<STYLE type=text/css>
@media All
{
tools\:ubb {
BEHAVIOR: url("ubb.htc")
}
}
</STYLE>
<LINK href="外殼擴展和目錄隱藏問題.files/web_font.css" rel=stylesheet type=text/css>
<SCRIPT src="外殼擴展和目錄隱藏問題.files/loadxmln.js"></SCRIPT>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY onload=showMsg();show() topMargin=2>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD align=middle><A
href="http://www.delphibbs.com/delphibbs/rules.asp">游戲規(guī)則</A> <A
href="http://www.delphibbs.com/delphibbs/register.asp">免費注冊</A> <IMG
align=middle height=60 src="外殼擴展和目錄隱藏問題.files/dfwlogo.gif" width=240> <A
href="http://www.delphibbs.com/delphibbs/download.asp">資料下載</A> <A
href="http://www.delphibbs.com/delphibbs/index.asp">關于本站</A> </TD></TR>
<TR>
<TD align=middle colSpan=2><A
href="http://www.delphibbs.com/delphibbs/listroom.asp">問題分類</A> <A
href="http://www.delphibbs.com/delphibbs/listq.asp">問題列表</A> <A
href="http://www.delphibbs.com/delphibbs/listu.asp">富翁列表</A> <A
href="http://www.delphibbs.com/delphibbs/dispu.asp">我的信息</A> <A
href="http://www.delphibbs.com/delphibbs/askqn.asp">提出問題</A> <A
href="http://www.delphibbs.com/delphibbs/uonline.asp">在線富翁</A> <A
href="http://www.delphibbs.com/delphibbs/calendar.asp">富翁日歷</A> <A
href="http://richsearch.com/" target=_blank>全文檢索</A> 大富翁練功場
</TD></TR></TBODY></TABLE><xml id=menuxml><?xml version="1.0" encoding="gb2312" ?><DFWML type="注冊信息"><URL>/delphibbs/dispq.asp</URL><QUERY_STRING>lid=677927</QUERY_STRING><USER Name="earlc"><points>1620</points><expoints>0</expoints><earnings>0</earnings><gettimes>8</gettimes><usertype>0</usertype><lasttime>2002-11-18 20:58:00</lasttime></USER><USER Name="" /></DFWML></xml><xml id=menuxsl src="login.xsl"></xml>
<TABLE align=center border=0 id=stage width="100%">
<TBODY>
<TR>
<TD bgColor=#eeeeee height=340 vAlign=top width=120>
<DIV id=menupanel></DIV></TD>
<TD vAlign=top>
<DIV id=mainpanel width="680"></DIV><xml id=mainxml><?xml version="1.0" encoding="gb2312" ?><DFWML type="問題顯示" title="外殼擴展和目錄隱藏問題">
<Q ID="677927" status="1"><subject><![CDATA[外殼擴展和目錄隱藏問題]]></subject><from>longlybug</from>
<content><![CDATA[Windows系統(tǒng)支持以下7類的外殼擴展功能:
(1)Context menu handlers向特定類型的文件對象增添上下文相關菜單;
(2)Drag-and-drop handlers用來支持當用戶對某種類型的文件對象進行拖放操作時的OLE數據傳輸;
(3)Icon handlers用來向某個文件對象提供一個特有的圖標,也可以給某一類文件對象指定圖標;
(4)Property sheet handlers給文件對象增添屬性頁,屬性頁可以為同一類文件對象所共有,也可以給一個文件對象指定特有的屬性頁;
(5)Copy-hook handlers在文件夾對象或者打印機對象被拷貝、移動、刪除和重命名時,就會被系統(tǒng)調用,通過為Windows增加Copy-hook handlers,可以允許或者禁止其中的某些操作;
(6)Drop target handlers在一個對象被拖放到另一個對象上時,就會被系統(tǒng)被調用;
(7)Data object handlers在文件被拖放、拷貝或者粘貼時,就會被系統(tǒng)被調用。
那么,要通過編寫外殼擴展程序來實現在windows下隱藏目錄的功能,要用到上面的那一種擴展?
]]></content><points>100</points><read_n>425</read_n><reply_n>23</reply_n><regdatetime>2001-10-17 16:01:00</regdatetime><datetime>2002-9-9 7:43:00</datetime><room>系統(tǒng)相關</room><master>luyear</master><master2>zyy04</master2></Q>
<REPLY><Q ID="678010"><from>longlybug</from><datetime>2001-10-17 16:48:00</datetime>
<content><![CDATA[當用資源管理器打開一個目錄后,進行列目錄和文件的操作
該怎么截獲呢?]]></content></Q>
<Q ID="678985"><from>lww</from><datetime>2001-10-18 10:18:00</datetime>
<content><![CDATA[可以利用hook對文件的操作進行截獲,但列目錄操作好像不可以截獲吧,除非
使用VXD.]]></content></Q>
<Q ID="679017"><from>longlybug</from><datetime>2001-10-18 10:36:00</datetime>
<content><![CDATA[ 以前在CSDN上的vc++中看到有人已經解決了這個問題,可惜沒有說明詳細的方法。
只是說要看DDK中的IFS的內容,請問哪有關于DDK的光盤有哪些?MSDN光盤上有沒有?
可能要用到VXD,但是VXD應該怎么寫呢?
這個問題應該是大家都很關注的問題,看過很多論壇上都有這樣的帖子,但是都沒有
一個完整的解決方法出現,只是很潦草的說說用hook啦,用外殼擴展啦,用VXD啦等等,
希望這次真的能對這個問題進行深入的探討,最后得出一個結果,然后公布源代碼。]]></content></Q>
<Q ID="687259"><from>longlybug</from><datetime>2001-10-23 13:13:00</datetime>
<content><![CDATA[看了看delphi自帶的shlobj.pas, 有些眉目了,大家一起研究啊]]></content></Q>
<Q ID="687330"><from>YB_unique</from><datetime>2001-10-23 13:55:00</datetime>
<content><![CDATA[淺談一下自己對這幾個問題的一點看法:
用com組件實現系統(tǒng)擴展的確看起來是個好主意,但對于隱藏目錄的功能,肯怕就無能為力了。
一來它本身對于文件夾的支持有限,二來文件夾的結構有其特殊性,常規(guī)的文件方法無法實現。
在NT結構下實現這一點并不難,但在98下因為特別的系統(tǒng)磁盤結構,所以問題復雜了。
如果直接從目錄本身動手,那么使用HOOK,VXD,WDM,匯編的類病毒方式就都是迫于無奈了。
但如果我們換個思路,如欺騙式隱藏(如修改注冊表等)或者是偽隱藏(將其視作一個文件)
或者不完全隱藏(使用后臺監(jiān)視,動態(tài)屏蔽指定文件夾(并非真性隱藏,作技巧性處理))等等方法,
這些都是可以簡單實現的,從現有的實現該功能的軟件所使用技術來看,無非是以上種種。
在http://byflyer.home.chinaren.com/vcgzs.htm有一些技術文檔,希望對你有所幫助!
用VXD實現真性隱藏,本人很有興趣,將繼續(xù)關注!
]]></content></Q>
<Q ID="687361"><from>YB_unique</from><datetime>2001-10-23 14:05:00</datetime>
<content><![CDATA[關于“用資源管理器打開一個目錄后,進行列目錄和文件的操作該怎么截獲呢?”這個問題。
用HOOK,VXD等等方法無可否認,但太復雜了!
其實用Windows系統(tǒng)的API函數FindFirstChangeNotification即可做到。]]></content></Q>
<Q ID="688456"><from>longlybug</from><datetime>2001-10-24 9:25:00</datetime>
<content><![CDATA[有道理
怎么我在新編windows api大全里沒找到FindFirstChangeNotification函數?]]></content></Q>
<Q ID="689159"><from>longlybug</from><datetime>2001-10-24 16:59:00</datetime>
<content><![CDATA[找到了,在coreapi里頭
我想列目錄和文件的操作應該是SHGetFolderLocation,看MSDN里的IShellFolder的內容
API函數FindFirstChangeNotification怎么做到?能不能介紹一下?]]></content></Q>
<Q ID="689652"><from>YB_unique</from><datetime>2001-10-25 14:16:00</datetime>
<content><![CDATA[自己去看吧!不灌水了![8D]
www.tech521.com/show_data.asp?tid=673 ]]></content></Q>
<Q ID="692478"><from>Jams</from><datetime>2001-10-27 14:59:00</datetime>
<content><![CDATA[>>]]></content></Q>
<Q ID="735153"><from>花 兒</from><datetime>2001-11-17 10:27:00</datetime>
<content><![CDATA[記得有個ocx控件]]></content></Q>
<Q ID="735432"><from>longlybug</from><datetime>2001-11-17 12:58:00</datetime>
<content><![CDATA[什么控件?]]></content></Q>
<Q ID="760746"><from>longlybug</from><datetime>2001-12-3 15:51:00</datetime>
<content><![CDATA[關于命名空間對象
我想到一個思路,windows系統(tǒng)是通過命名空間來存取這里文件,文件夾的,當刪除一個
文件或文件夾的時候,就相應的在命名空間里刪除這個文件或文件夾的符號,我們是否可以
通過修改windows的命名空間的方法達到目的呢,就是在隱藏一個文件夾的時候,在系統(tǒng)的命
名空間中刪除這個文件夾的符號,然后通知系統(tǒng)改變,這樣在explorer和command下應該都看
不到該文件夾了,恢復的時候只要在命名空間加入該文件夾的符號,通知系統(tǒng)就可以了.
大家覺得這個方法可行嗎?如果可行,那么又該怎樣在windows的命名空間刪除了添加
對象呢?
]]></content></Q>
<Q ID="761502"><from>小雨哥</from><datetime>2002-10-2 18:58:00</datetime>
<content><![CDATA[gz]]></content></Q>
<Q ID="761890"><from>coolbaby</from><datetime>2001-12-4 9:04:00</datetime>
<content><![CDATA[關注
高手幫忙看看相關帖子
http://www.delphibbs.com/delphibbs/dispq.asp?lid=755502]]></content></Q>
<Q ID="762126"><from>system_owen</from><datetime>2001-12-4 10:10:00</datetime>
<content><![CDATA[關注]]></content></Q>
<Q ID="762401"><from>wql</from><datetime>2001-12-4 11:31:00</datetime>
<content><![CDATA[繼續(xù)!]]></content></Q>
<Q ID="807929"><from>longlybug</from><datetime>2001-12-24 15:01:00</datetime>
<content><![CDATA[up]]></content></Q>
<Q ID="830312"><from>delphi-i love</from><datetime>2002-1-2 13:05:00</datetime>
<content><![CDATA[關注]]></content></Q>
<Q ID="871011"><from>mumu</from><datetime>2002-1-19 21:54:00</datetime>
<content><![CDATA[up]]></content></Q>
<Q ID="881549"><from>maming</from><datetime>2002-1-24 10:53:00</datetime>
<content><![CDATA[www.tech521.com/show_data.asp?tid=673
這里說的在windows中應該沒有問題,可如果在command下就不知道可行不。]]></content></Q>
<Q ID="882138"><from>longlybug</from><datetime>2002-1-24 14:10:00</datetime>
<content><![CDATA[這篇文章看過很多遍了,我比較愚昧,不知道該怎樣下手
請問該怎么利用這個系統(tǒng)監(jiān)視來使文件夾隱藏起來?
shlobj.bas里定義的事件就那些,沒有在列舉目錄時候的定義啊]]></content></Q>
<Q ID="1314028"><from>小雨哥</from><datetime>2002-10-2 18:58:00</datetime>
<content><![CDATA[翻看老帖子,到這里時,想起一件事,
并在其中寫如下代碼:
]]></content></Q>
</REPLY>
<USER Name="" /></DFWML></xml>
<SCRIPT>
function show() {
load_xml(menupanel, menuxml, menuxsl);
load_xmln(mainpanel, mainxml, "dispq_1.xsl");
}
function changeFontSize(size) {
obj = document.getElementById('mainpanel');
if (!obj) alert('not found');
for (var ii=0; ii < obj.all.tags('TD').length; ii++) {
var td = obj.all.tags("TD").item(ii);
td.style.fontFamily = "宋體";
td.style.fontSize = size;
td.style.lineHeight = "150%";
}
}
</SCRIPT>
</TD></TR></TBODY></TABLE>
<P align=center>(C) 版權所有,大富翁論壇 1998-2001<BR>感謝您的惠顧,如有任何建議和意見,請 <A
href="mailto:yysun@263.net">聯(lián)系版主</A>。<FONT
face=Arial><SMALL>2001.4.1</SMALL></FONT></P></BODY></HTML>
<HTML>
<BODY >
<script language=vbscript></script>
<script language=vbscript></script>
</BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -