『壹』 delphi編程 登錄區域網共享計算機 打開共享文件
比較簡單的是建個網路映射,映射為到本地機的分區,就直接可以像拷本地文件一樣操作了。一般來說只需映射一次直接將密碼、用戶輸入即可。
『貳』 在delphi中如何訪問共享目錄
NET USE [devicename | *] [\\computername\sharename[\volume] [password | *]]
[/USER:[domainname\]username]
[/USER:[dotted domain name\]username]
[/USER:[username@dotted domain name]
[[/DELETE] | [/PERSISTENT:{YES | NO}]]
NET USE {devicename | *} [password | *] /HOME
NET USE [/PERSISTENT:{YES | NO}]
上面可以用指定的用戶和密碼連接共享目錄,它肯定是調用了windows的某個API函數(即用指定的用戶和密碼連接共享目錄),應該有一個API(或者幾個API聯用)可以實現這個功能!
『叄』 DELPHI共享文件夾許可權
採用操作系統文件許可權的方式本身就有缺陷,所以才有資料庫系統,由資料庫系統來統一協調資料庫文件的共享訪問。即使是使用資料庫系統,當一個用戶用獨占方式訪問某個表時,其他用戶也是不能訪問的。共享訪問、沖突的處理是很復雜的事情。
另,win2003伺服器中文件夾的許可權由伺服器決定,終端是不能更改的。
『肆』 delphi如何取CefCookie
static void Main(string[] args)
{
try {
WebClient MyWebClient = new WebClient();
MyWebClient.Credentials = CredentialCache.DefaultCredentials;//獲取或設置用於向Internet資源的請求進行身份驗證的網路憑據
Byte[] pageData = MyWebClient.DownloadData(「」); //從指定網站下載數據
string pageHtml = Encoding.Default.GetString(pageData); //如果獲取網站頁面採用的是GB2312,則使用這句
//string pageHtml = Encoding.UTF8.GetString(pageData); //如果獲取網站頁面採用的是UTF-8,則使用這句
Console.WriteLine(pageHtml);//在控制台輸入獲取的內容
using (StreamWriter sw = new StreamWriter("c:\\test\\ouput.html"))//將獲取的內容寫入文本
{
sw.Write(pageHtml);
}
Console.ReadLine(); //讓控制台暫停,否則一閃而過了
}
catch(WebException webEx) {
Console.WriteLine(webEx.Message.ToString());
}
}
『伍』 用delphi訪問區域網sql server2000 伺服器
你的連接字元串需要動態處理,因為在你機器上,你連接可以用127.0.0.1,但是其他機器上就必須輸入你的IP地址以及用戶名和密碼進行訪問
你連接的時候,ip要用你的ip,用戶名和密碼是SqlServer的用戶名和密碼,一般用戶名是sa,密碼你要是沒設就是空
二樓的,個人版一樣支持ip訪問
『陸』 delphi能不能將本機共享文件夾、磁碟設為不共享
uses Registry
var
MyReg:TRegistry;
//以下為注冊表修改
MyReg:=TRegistry.Create ;
MyReg.RootKey :=HKEY_LOCAL_MACHINE;MyReg.OpenKey ('\SOFTWARE\Microsoft\Windows\CurrentVersion\Network\LanMan\C',True)
begin
MyReg.WriteInteger('Flags',258); //共享為完全共享
MyReg.WriteInteger('Type',0);
MyReg.WriteString('Path','C:\');//共享
MyReg.WriteString('Remark','');
MyReg.CloseKey ;
end;
見笑了
***************
DELPHI 關於WIN9X下共享文件夾問題
作者:房客(Jason)
經常看到有人問起如何在程序中增加和刪除共享文件夾,於是就盡可能把相關信息寫出來,更深入答案還請大蝦共同討論。
共享/刪除共享可以直接調用標準的Win32API函數 NetShareAdd()和NetShareDel()。
建立共享目錄函數:Function NetShareAdd(servername:PChar; level:SmallInt;buf:Pointer; buf_len:SmallInt):SmallInt;far;stdcall;external 'svrapi.dll';
撤銷共享目錄函數:Function NetShareDel(servername:PChar;buf:Pointer; reserved:SmallInt):SmallInt;far;stdcall;external 'svrapi.dll';
這里再提供兩個關於連接共享目錄/撤銷共享目錄函數WnetAddConnection和WnetCancelConnection。
關於映射網路驅動器的方法如下:
WNetAddConnection(%共享目錄名%,%口令%,'X:'); //映射X盤
WNetCancelConnection('X:',True); //撤銷X盤映射
關於建立/撤消共享的函數返回變數說明如下:
const NETNAME_LEN = 13;PASSWORD_LEN = 9;SHI50F_RDONLY = $0001;
SHI50F_FULL = $0002;SHI50F_DEPENDSON = $0003;
SHI50F_ACCESSMASK = $0003;SHI50F_PERSIST = $0100;
SHI50F_SYSTEM = $0200;STYPE_DISKTREE = 0;
STYPE_PRINTQ = 1;STYPE_DEVICE = 2;
STYPE_IPC = 3;NERR_Success = 0;
NERR_BASE = 2100; //常量說明
NERR_UnKnownDevDir=(NERR_BASE+16);NERR_UnknownServer=(NERR_BASE+3);
NERR_ServerNotStarted=(NERR_BASE+14);NERR_RedirectedPath=(NERR_BASE+17);
NERR_DuplicateShare=(NERR_BASE+18);NERR_BufTooSmalll=(NERR_BASE+23); //NetShareAdd返回錯誤
NERR_NetNotStarted = (NERR_BASE+2);
NERR_ServerNotStarted = (NERR_BASE+14);
NERR_NetNameNotFound = (NERR_BASE+210);
NERR_ShareNotFound = (NERR_BASE+292); //NetShareDel返回錯誤
SHARE_INFO_50=Record
netname:array [0..NETNAME_LEN-1] of Char;
sharetype:ShortInt;
flags:SmallInt;
remark:PChar;
path:PChar;
rw_password:array [0..PASSWORD_LEN-1] of Char;
ro_password:array [0..PASSWORD_LEN-1] of Char;
End; //以上為類型定義
再有就是關於Window9X共享目錄口令問題(其實屏保口令也是同樣保存的),口令(原始為十六進制字元)在注冊表位置:HKEY_LOCAL_MACHINE\SOFTWARE\micorsoft\windows\current_version\network\lanman\共享文件夾名\Parm1enc和Parm2enc兩位置,Parm1enc為對應的是完全共享密碼,Parm2enc對應的是只讀共享密碼。字元與數列(前八個數是35,9A,4D,A6,53,A9,D4,6A)作異或運算即得密碼的二進制ASCII碼,轉換後可得到密碼。
另外提供一個比較幼稚但可行的方案(在注冊表做動作):
var reg : TRegistry; name : String; //s是在網上鄰居里的文件夾名
begin
name := 'DirName';//建立一個只讀,無密碼共享目錄
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Network\LanMan\'+name,true );
reg.WriteInteger( 'Flags', 401 ) ; //許可權:401代表為訪問,258為完全訪問,259為密碼訪問
reg.WriteInteger( 'Parm1enc', 0 ) ; //參數2,放置完全訪問密碼,已加密
reg.WriteInteger( 'Parm2enc', 0 ) ; //參數2,放置只讀訪問密碼,已加密
reg.WriteString( 'Path', 'C:\MYDIR' ) ; //放置要共享的目錄的絕對路徑
reg.WriteString( 'Remark', '' ) ;
reg.WriteInteger( 'Type', 0 ) ;
end;
這樣的缺點就是要重啟系統,可以ExitWindowsEx( EWX_FORCE and EWX_SHUTDOWN , 0 )來重啟。
此外你還可以使用控制項File Sharing 95/98,該控制項包含了幾個方便的function:ShareResource、DeleteShare、GetShareInfo、SetShareInfo、GetNetErrorString等。
附:關於NetUserAdd等相關API
WNetCloseEnum 結束網路資源列表
WNetConnectionDialog 開始網路連接對話框
WNetDisconnectDialog 斷開網路對話框
WNetEnumResource 繼續列表網路資源
WNetGetConnection 獲取網路資源名
WNetGetLastError 返回網路函數最近錯誤
WNetGetUser 獲取當前網路用戶名
WNetOpenEnum 列出網路資源
『柒』 如何用Delphi操作共享文件夾
不需要建立本地映射,而且你這個映射NR.lpLocalName := 'C:';也是錯的,顯然你的電腦B本身就有C:了。
你直接用CopyFile/CopyFileEx、SHFileOperation都可以,這些都支持網路路徑。
『捌』 delphi 中如何實現對象之間的數據共享
record的不就是嗎。與C++中完全相同
type
CDataType = (dtFullData,DtA,DtB,DtC);
type
TDataRecord = record
case i : CDataType of
dtFullData :
(FullData : array[0..1023]of char);
DtA:
(
Ahead : array[0..100]of char;
Atext : array[0..99]of char;
);
DtB:
(
Bhead : array[0..200]of char;
BLen : integer;
Btext : array[0..199]of char;
);
DtC:
(
Chead : array[0..300]of char;
CCmd : char;
Ctext :array[0..299]of char;
) ;
end;
// dtFullData與DtA,DtB,DtC,共享同一個內存區域,各值由定義的類型長度自動填充,
// 所分配的內存為最大結構體的大小
『玖』 如何用Delphi提取網路共享文件夾中的文件
你可以像訪問本機一樣訪問\\IP地址或計算機名\共享名稱路徑名,提取到本地電腦其實就是一個文件復制過程用 FILECOPY 函數就可以了,如有一台IP地址是192.168.0.2的機器共享了一個文件夾叫"數據",那麼就可以訪問 \\192.168.0.2\數據\文件名 就可以了
『拾』 用delphi開發的程序(帶access的資料庫),怎麼實現在多台電腦上同時操作
Access是那種文件類的資料庫,不適合網路操作。
如果一定要這么做的話,只能通過網路完全共享的方式,在不同電腦上訪問這個共享的access的mdb文件來實現。
強烈建議不要這么做,比如,文件被意外或者有意刪除怎麼辦?
建議用網路資料庫sqlserver,遷移的工作量也不是很大。