vb.net共享硬盤,win硬盤共享

如何把VB.NET內(nèi)部資源文件復(fù)制到磁盤上

可以查看附件,或則使用以下代碼。應(yīng)該注釋的滿全了。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、愛民ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的愛民網(wǎng)站制作公司

隨便建一個窗口工程,窗口代碼帖入以下代碼。

Imports?System.IO

Imports?System.Text

Imports?System.Reflection

Public?Class?Form1

Const?ResName?As?String?=?"123.txt"?'?需要保存的資源名

Const?BufferSize?As?Integer?=?4096??'?復(fù)制時緩沖的大小

Private?Sub?Demo()

'?變量聲明

Dim?strDisplayText?As?StringBuilder?'?保存輸出信息

Dim?strResName?As?String????????????'?保存目標(biāo)資源的名稱

'?變量初始化

strDisplayText?=?New?StringBuilder()

strResName?=?String.Empty

'?獲取所有資源

strDisplayText.AppendLine("文件中存在以下資源:")

For?Each?strName?As?String?In?Assembly.GetExecutingAssembly.GetManifestResourceNames()

strDisplayText.AppendLine("??"??strName)

'?獲得目標(biāo)資源的全名

If?strName.EndsWith("."??ResName)?Then

strResName?=?strName

End?If

Next

'?目標(biāo)資源不存在

strDisplayText.AppendLine()

If?strResName?=?String.Empty?Then

strDisplayText.AppendLine("抱歉,沒有找名為"""??ResName??"""的資源")

Else?'?復(fù)制資源的代碼

'?打開資源文件,在End?Using的時候自動關(guān)閉。

Using?ms?As?UnmanagedMemoryStream?=?Assembly.GetExecutingAssembly.GetManifestResourceStream(strResName)

'?打開磁盤文件,在End?Using的時候自動關(guān)閉。

Using?fs?As?New?FileStream("C:\"??ResName,?FileMode.Create)

'?變量聲明

Dim?Buffer(BufferSize?-?1)?As?Byte??'?復(fù)制文件時的緩沖數(shù)組

Dim?ReadCount?As?Integer????????????'?此次讀取數(shù)據(jù)的數(shù)量

'?還有數(shù)據(jù)可以讀取的情況,一直循環(huán)

ReadCount?=?ms.Read(Buffer,?0,?BufferSize)

While?ReadCount??0

fs.Write(Buffer,?0,?ReadCount)?'?寫入到磁盤文件

ReadCount?=?ms.Read(Buffer,?0,?BufferSize)

End?While

End?Using

End?Using

strDisplayText.AppendLine("文件已經(jīng)復(fù)制完畢。")

End?If

'?顯示消息

MessageBox.Show(strDisplayText.ToString())

End?Sub

Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load

Call?Demo()

End

End?Sub

End?Class

如果不用net use的方法,vb.net 有辦法訪問共享文件或者共享文件夾嗎

我不會VB,但是都是.net。c#的代碼稍微轉(zhuǎn)換一下就可以了。

C#實現(xiàn)訪問網(wǎng)絡(luò)共享文件夾,使用?WNetAddConnection2A?和?WNetCancelConnection2A。

在目標(biāo)服務(wù)器建立共享文件夾,建立訪問賬號test;

public?enum?ERROR_ID

{

ERROR_SUCCESS?=?0,??//?Success?

ERROR_BUSY?=?170,

ERROR_MORE_DATA?=?234,

ERROR_NO_BROWSER_SERVERS_FOUND?=?6118,

ERROR_INVALID_LEVEL?=?124,

ERROR_ACCESS_DENIED?=?5,

ERROR_INVALID_PASSWORD?=?86,

ERROR_INVALID_PARAMETER?=?87,

ERROR_BAD_DEV_TYPE?=?66,

ERROR_NOT_ENOUGH_MEMORY?=?8,

ERROR_NETWORK_BUSY?=?54,

ERROR_BAD_NETPATH?=?53,

ERROR_NO_NETWORK?=?1222,

ERROR_INVALID_HANDLE_STATE?=?1609,

ERROR_EXTENDED_ERROR?=?1208,

ERROR_DEVICE_ALREADY_REMEMBERED?=?1202,

ERROR_NO_NET_OR_BAD_PATH?=?1203

}

public?enum?RESOURCE_SCOPE

{

RESOURCE_CONNECTED?=?1,

RESOURCE_GLOBALNET?=?2,

RESOURCE_REMEMBERED?=?3,

RESOURCE_RECENT?=?4,

RESOURCE_CONTEXT?=?5

}

public?enum?RESOURCE_TYPE

{

RESOURCETYPE_ANY?=?0,

RESOURCETYPE_DISK?=?1,

RESOURCETYPE_PRINT?=?2,

RESOURCETYPE_RESERVED?=?8,

}

public?enum?RESOURCE_USAGE

{

RESOURCEUSAGE_CONNECTABLE?=?1,

RESOURCEUSAGE_CONTAINER?=?2,

RESOURCEUSAGE_NOLOCALDEVICE?=?4,

RESOURCEUSAGE_SIBLING?=?8,

RESOURCEUSAGE_ATTACHED?=?16,

RESOURCEUSAGE_ALL?=?(RESOURCEUSAGE_CONNECTABLE?|?RESOURCEUSAGE_CONTAINER?|?RESOURCEUSAGE_ATTACHED),

}

public?enum?RESOURCE_DISPLAYTYPE

{

RESOURCEDISPLAYTYPE_GENERIC?=?0,

RESOURCEDISPLAYTYPE_DOMAIN?=?1,

RESOURCEDISPLAYTYPE_SERVER?=?2,

RESOURCEDISPLAYTYPE_SHARE?=?3,

RESOURCEDISPLAYTYPE_FILE?=?4,

RESOURCEDISPLAYTYPE_GROUP?=?5,

RESOURCEDISPLAYTYPE_NETWORK?=?6,

RESOURCEDISPLAYTYPE_ROOT?=?7,

RESOURCEDISPLAYTYPE_SHAREADMIN?=?8,

RESOURCEDISPLAYTYPE_DIRECTORY?=?9,

RESOURCEDISPLAYTYPE_TREE?=?10,

RESOURCEDISPLAYTYPE_NDSCONTAINER?=?11

}

[StructLayout(LayoutKind.Sequential)]

public?struct?NETRESOURCE

{

public?RESOURCE_SCOPE?dwScope;

public?RESOURCE_TYPE?dwType;

public?RESOURCE_DISPLAYTYPE?dwDisplayType;

public?RESOURCE_USAGE?dwUsage;

[MarshalAs(UnmanagedType.LPStr)]

public?string?lpLocalName;

[MarshalAs(UnmanagedType.LPStr)]

public?string?lpRemoteName;

[MarshalAs(UnmanagedType.LPStr)]

public?string?lpComment;

[MarshalAs(UnmanagedType.LPStr)]

public?string?lpProvider;

}

public?class?NetworkConnection

{

[DllImport("mpr.dll")]

public?static?extern?int?WNetAddConnection2A?(NETRESOURCE[]?lpNetResource,?string?lpPassword,?string?lpUserName,?int?dwFlags);

[DllImport("mpr.dll")]

public?static?extern?int?WNetCancelConnection2A?(string?sharename,?int?dwFlags,?int?fForce);

public?static?int?Connect?(string?remotePath,?string?localPath,?string?username,?string?password)

{

NETRESOURCE[]?share_driver?=?new?NETRESOURCE[1];

share_driver[0].dwScope?=?RESOURCE_SCOPE.RESOURCE_GLOBALNET;

share_driver[0].dwType?=?RESOURCE_TYPE.RESOURCETYPE_DISK;

share_driver[0].dwDisplayType?=?RESOURCE_DISPLAYTYPE.RESOURCEDISPLAYTYPE_SHARE;

share_driver[0].dwUsage?=?RESOURCE_USAGE.RESOURCEUSAGE_CONNECTABLE;

share_driver[0].lpLocalName?=?localPath;

share_driver[0].lpRemoteName?=?remotePath;

Disconnect(localPath);

int?ret?=?WNetAddConnection2A(share_driver,?password,?username,?1);

return?ret;

}

public?static?int?Disconnect?(string?localpath)

{

return?WNetCancelConnection2A(localpath,?1,?1);

}

調(diào)用方式:

public?static?void?TestNetWorkConnection()

{

string?localpath?=?"X:";

//int?status?=?NetworkConnection.Connect(@"\\192.168.0.2\test",?localpath,?@"test",?"test");

int?status?=?NetworkConnection.Connect("\\\\192.168.0.2\\test",?localpath,?@"test",?"test");

if?(status?==?(int)ERROR_ID.ERROR_SUCCESS)

{

FileStream?fs?=?new?FileStream(localpath?+?@"\\123.txt",?FileMode.OpenOrCreate);

using?(StreamWriter?stream?=?new?StreamWriter(fs))

{

stream.WriteLine("你好呀,成功了");

stream.Flush();

stream.Close();

}

fs.Close();

}

else

{

Console.WriteLine(status);

}

NetworkConnection.Disconnect(localpath);

}

VB中實現(xiàn)文件共享

調(diào)用

net

share命令即可

在vb中

可用

shell

語句

,如

shell

"net

share

XXXXXX"

NET

SHARE

sharename

sharename=drive:path

[/USERS:number

|

/UNLIMITED]

[/REMARK:"text"]

[/CACHE:Manual

|

Documents|

Programs

|

None

]

sharename

[/USERS:number

|

/UNLIMITED]

[/REMARK:"text"]

[/CACHE:Manual

|

Documents

|

Programs

|

None]

{sharename

|

devicename

|

drive:path}

/DELETE

NET

SHARE

使網(wǎng)絡(luò)用戶可以使用某一服務(wù)器上的資源。

當(dāng)不帶選項使用本命令

時,它會列出該計算機上正在被共享的所有資源。對于每一種資源,Windows

會報告其設(shè)備名或路徑名,以及與之相關(guān)的描述性注釋。

sharename

指共享資源的網(wǎng)絡(luò)名。輸入

NET

SHARE

和一個共享名只會

顯示那個共享的有關(guān)信息。

drive:path

指定將被共享的目錄的絕對路徑。

/USERS:number

設(shè)置可以同時訪問共享資源的最大用戶數(shù)。

/UNLIMITED

指定用戶可以同時訪問共享資源的不受限制的數(shù)目。

/REMARK:"text"

添加一個有關(guān)資源的描述性注釋,應(yīng)將文本包含在引號中。

devicename

指一個或多個被共享名所共享的打印機

(LPT1:

LPT9:)。

/DELETE

終止資源的共享。

/CACHE:Automatic

啟用脫機客戶緩存和自動重新集成

/CACHE:Manual

啟用脫機客戶緩存和手動重新集成

/CACHE:No

告訴客戶脫機緩存不合適

NET

HELP

command

|

MORE

用于逐屏顯示幫助。

當(dāng)前題目:vb.net共享硬盤,win硬盤共享
鏈接地址:http://www.muchs.cn/article46/hcpheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、動態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)