欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vb.net虛擬桌面,win 虛擬桌面

VB.NET怎么修改桌面墻紙。利用修改注冊表的方法。

'核心代碼

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供金臺網(wǎng)站建設(shè)、金臺做網(wǎng)站、金臺網(wǎng)站設(shè)計、金臺網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、金臺企業(yè)網(wǎng)站模板建站服務(wù),10余年金臺做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

Try

'將MyFileName指定為一個圖片文件的文件名

Dim MyFileName As String = "E:\VS工程\源代碼及工程文件\Wannacry\Wannacry\bin\Debug\fil.bmp"

If Not System.IO.File.Exists(MyFileName) Then

Return

End If

Dim MyReg As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser

MyReg = MyReg.OpenSubKey("Control Panel\Desktop", True)

MyReg.SetValue("WallPaper", MyFileName)

MyReg.SetValue("TitleWallPaper", "2")

MyReg.Close()

MessageBox.Show("設(shè)置注冊表操作成功,重新啟動計算機(jī)后即可生效!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

Catch ex As Exception

MessageBox.Show(ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Try

怎么用VB.NET2005編程實現(xiàn)在桌面隨機(jī)位置顯示隨機(jī)不同的圖片,一下顯示一種圖片),望高手幫忙,

當(dāng)程序運行的時候你可以將窗體作為Form的背景圖,然后創(chuàng)建一個類,類繼承Picture,然后用一個線程不停的創(chuàng)建這個類,再使用Form中的鼠標(biāo)點擊事件,或者退出程序,或者清除掉所有的類

VB.NET編寫的窗體如何能夠接管WIN的桌面,只有退出窗體才能回到WIN桌面?

可以實現(xiàn)啊,只要獲得管理員權(quán)限。

首先API獲取桌面和任務(wù)欄的窗口句柄,把兩者都隱藏。

再使自身窗體(無邊框)充滿整個屏幕,并位于最底層就可以了。

退出的時候恢復(fù)顯示桌面圖標(biāo)。

vb.net如何做一個類似手機(jī)桌面的效果,就是可以托一下就換一個桌面,還要有拖動的效果。

我暈。。。

1樓,樓主說的是類似手機(jī)桌面,不是說些手機(jī)程序(雖然.net確實可以寫手機(jī)程序(蛋疼。。))

2樓,為啥不直接改變?nèi)萜鞯腖eft。。。。

切入正題,大致思路:

用一個容器,如Panel來盛裝所有控件,Panel的MouseMove事件中通過e.Button判斷左鍵按下來實現(xiàn)拖動的效果,然后在計時器中更改Panel的Location。(這樣做很簡單,但效率非常低)

要流暢的話,就自己寫一個容器控件,內(nèi)部的子控件全部自己繪制(實現(xiàn)一些輕量級的控件類),不過工作量較大

五子棋游戲程序設(shè)計(VB)

五子棋的AI構(gòu)想 有句話叫“當(dāng)局者迷,旁觀者清?!保@句話在由AI所控制的計算機(jī)玩家上是不成立的,因為計算機(jī)必須知道有那些獲勝方式,并計算出每下一步棋到棋盤上任一格子的獲勝幾率,也就是說,一個完整的五子棋的AI構(gòu)想必須:

 

1、能夠知道所有的獲勝組合; 2、建立和使用獲勝表; 3、設(shè)定獲勝的分?jǐn)?shù); 4、使電腦具有攻擊和防守的能力; 一、求五子棋的獲勝組合 在一場五子棋的游戲中,計算機(jī)必須要知道有那些的獲勝組合,因此我們必須求得獲勝組合的總數(shù)。我們假定當(dāng)前的棋盤為10*10。 (1)計算水平方向的獲勝組合數(shù),每一列的獲勝組合是:6,共10列,所以水平方向的獲勝組合數(shù)為:6*10=60 (2)計算垂直方向的獲勝組合總數(shù),每一行的獲勝組合是:6,共10行,則垂直方向的獲勝組合數(shù)為:6*10=60 (3)計算正對角線方向的獲勝組合總數(shù),正對角線上的獲勝組合總數(shù)為6+(5+4+3+2+1)*2=36 (4)計算反對角線方向的獲勝組合總數(shù),反對角線上的獲勝組合總數(shù)為6+(5+4+3+2+1)*2=36 ,這樣所有的獲勝組合數(shù)為:60+60+36+36=192 二、建立和使用獲勝表 我們已經(jīng)計算出了一個10*10的五子棋盤會有192種獲勝方式,這樣我們可以利用數(shù)組建立獲勝表,獲勝表的主要作用是:1,判斷當(dāng)前的獲勝方式是否有效;2,判斷當(dāng)前的獲勝方式中到底有多少子落入該獲勝組合中。詳細(xì)的使用您將在后面的程序中可以看出。 三,分?jǐn)?shù)的設(shè)定 在游戲中為了讓計算機(jī)能夠決定下一步最佳的走法,必須先計算出計算機(jī)下到棋盤上任一空格的分?jǐn)?shù),而其中最高分?jǐn)?shù)便是計算機(jī)下一步的最佳走法。 原理:我們判定當(dāng)前討論的空格與當(dāng)前討論的點有幾種獲勝的方式,有幾種該空格就加幾分。這種原理初聽起來似乎是無法入手,沒關(guān)系,當(dāng)您了解我們后面的程序后您就會明白這種決策原理了。 這種決策有一些缺陷,因為如果只根據(jù)這個模型設(shè)計,就有可能出現(xiàn)電腦或玩家有三個子連成一線的時候,計算機(jī)卻判斷不出,它認(rèn)為其他某些空格是當(dāng)前的獲勝的最佳位置而不去攻擊或防守。沒關(guān)系我們完全可以通過一個加強(qiáng)算法來改變當(dāng)前的分值情況,也就是說當(dāng)電腦或玩家有三個子或四個子連成一線時,我們通過加強(qiáng)算法將當(dāng)前與三個子或四個子有關(guān)的空格的分值提高,從而可以彌補這一缺憾。 四、攻擊與防守 以上的方式,事實上計算機(jī)只是計算出了最佳的攻擊位置,為了防守我們還應(yīng)計算當(dāng)前玩家的最佳的攻擊位置。這樣有什么用呢?道理很簡單,如果玩家最佳攻擊位置的分?jǐn)?shù)大于計算機(jī)最佳攻擊位置上的分?jǐn)?shù),那么計算機(jī)就將下一步的棋子擺在玩家的最佳攻擊位上以阻止玩家的進(jìn)攻,否則計算機(jī)便將棋子下在自己的最佳攻擊位置上進(jìn)行攻擊。 事實上,這個AI構(gòu)想是很強(qiáng)大的如果你不是很厲害的五子棋高手的話,可能很快會被計算機(jī)打敗。我在聯(lián)眾上可是中級棋手啊,跟這種構(gòu)想打的時候勝率也不是很高。 使用vb.net編寫五子棋 一、編寫前的準(zhǔn)備: 1、用計算機(jī)的思想描述整個下棋的過程 考慮步驟: (1)為了簡便我們可以先讓電腦先走第一步棋,電腦每走一步就會封掉許多玩家的獲勝可能情況。 (2)當(dāng)玩家走棋的時候我們首先應(yīng)該考慮玩家走棋的合法性。 (3)如果合法,那么玩家也會封掉許多電腦的獲勝的可能情況。 (4)電腦的思考路徑:首先判斷當(dāng)前玩家和電腦的所有獲勝組合是否需要進(jìn)行加強(qiáng)賦值,

是進(jìn)行加強(qiáng)賦值,否則進(jìn)行普通的賦值。 (5)比較當(dāng)前玩家和電腦誰的分值最大。將分值最大的點作為電腦的下一步走法。 2、利用vb.net窗體和圖形工具建立五子棋的棋盤界面 (1)添加一個picturebox控件 作用:使用picturebox控件繪制棋子和棋盤 (2)添加一個label控件 作用:顯示當(dāng)前的獲勝標(biāo)志,也就是當(dāng)某一方獲勝或和棋時顯示此標(biāo)簽。 (3)添加一個mainmenu控件 作用:控制游戲的開始或結(jié)束 (4)添加一個mediaplay組件 作用:使程序可以播放音樂。 3、設(shè)置整體框價 我們采取10*10的棋盤,為主要的平臺。利用數(shù)組定義整個棋盤桌面,利用數(shù)組定義獲勝組合以及獲勝標(biāo)志等。 二,聲明全局?jǐn)?shù)組和變量 定義虛擬桌面: Dim table(9, 9) As Integer 定義當(dāng)前玩家桌面空格的分?jǐn)?shù): Dim pscore(9, 9) As Integer 定義當(dāng)前電腦桌面空格的分?jǐn)?shù): Dim cscore(9, 9) As Integer 定義玩家的獲勝組合: Dim pwin(9, 9, 191) As Boolean 定義電腦的獲勝組合: Dim cwin(9, 9, 191) As Boolean 定義玩家的獲勝組合標(biāo)志: Dim pflag(191) As Boolean 定義電腦的獲勝組合標(biāo)志:

Dim cflag(191) As Boolean 定義游戲有效標(biāo)志: Dim theplayflag As Boolean 三、初始化游戲 '*****************************************************************************

'** 模塊名稱: initplayenvironment

'**

'** 描述: 此函數(shù)主要功能如下:

'** 1. 設(shè)置背景音樂。

'** 2. 設(shè)置游戲狀態(tài)有效。

'** 3. 初始化游戲狀態(tài)標(biāo)簽。

'** 4. 直接指定電腦的第一步走法。

'** 5. 初始化基本得分桌面。

'** 6. 電腦和玩家獲勝標(biāo)志初始化。

'** 7. 初始化所有獲勝組合。

'** 8. 重新設(shè)定玩家的獲勝標(biāo)志。

'**

'*****************************************************************************

Sub initplayenvironment()

player.FileName = ".\music\zhyu01.mid"

player.Play()

theplayflag = True

'游戲有效

Label1.Visible = False

'游戲狀態(tài)標(biāo)簽不顯示

PictureBox1.Refresh()

'清空picturebox1的內(nèi)容

yuandian(130, 130)

'調(diào)用繪圖函數(shù)繪制當(dāng)前電腦先走的位置

Dim i, j, m, n As Integer

For i = 0 To 9

For j = 0 To 9

table(i, j) = 0

Next

Next

'桌面初始化

For i = 0 To 191

pflag(i) = True

cflag(i) = True

Next

'獲勝標(biāo)志初始化

table(4, 4) = 1

'由于我們設(shè)定電腦先手,并下了4,4位所以將其值設(shè)為1

''' ******** 初始化獲勝組合 ********

n = 0

For i = 0 To 9

For j = 0 To 5

For m = 0 To 4

pwin(j + m, i, n) = True

cwin(j + m, i, n) = True

Next

n = n + 1

Next

Next

For i = 0 To 9

For j = 0 To 5

For m = 0 To 4

pwin(i, j + m, n) = True

cwin(i, j + m, n) = True

Next

n = n + 1

Next

Next

For i = 0 To 5

For j = 0 To 5

For m = 0 To 4

pwin(j + m, i + m, n) = True

cwin(j + m, i + m, n) = True

Next

n = n + 1

Next

Next

For i = 0 To 5

For j = 9 To 4 Step -1

For m = 0 To 4

pwin(j - m, i + m, n) = True

cwin(j - m, i + m, n) = True

Next

n = n + 1

Next

Next

''' ******** 初始化獲勝組合結(jié)束 ********

For i = 0 To 191

If pwin(4, 4, i) = True Then

pflag(i) = False

End If

Next

'由于電腦已下了4,4位所以我們需要重新設(shè)定玩家的獲勝標(biāo)志

End Sub

四,處理鼠標(biāo)事件 '*****************************************************************************

'** 模塊名稱: themousedown

'**

'** 描述: 此函數(shù)主要實行以下功能:

'** 1. 判定當(dāng)前游戲標(biāo)志是否有效。

'** 2. 將實際坐標(biāo)轉(zhuǎn)化成虛擬坐標(biāo)。

'** 3. 繪制玩家的棋子。

'** 4. 執(zhí)行檢查獲勝函數(shù)。

'** 5. 執(zhí)行電腦算法函數(shù)。

'**

'*****************************************************************************

Sub themousedown(ByVal x As Integer, ByVal y As Integer)

If theplayflag = False Then

Exit Sub

End If

'檢查游戲狀態(tài)是否有效

Dim i, j As Integer

Dim zhx, zhy As Integer

zhx = Int((x - 10) / 30)

zhy = Int((y - 10) / 30)

For i = 0 To 9

For j = 0 To 9

If table(zhx, zhy) 0 Then

Exit Sub

End If

Next

Next

'檢查當(dāng)前鼠標(biāo)點擊的格子是否有效

Dim mycolor As Color

Dim g As System.Drawing.Graphics

g = PictureBox1.CreateGraphics

mycolor = Color.White

Dim brush1 As System.Drawing.Brush = New SolidBrush(mycolor)

g.FillEllipse(brush1, zhx * 30 + 10, zhy * 30 + 10, 30, 30)

'繪制玩家的棋子

table(zhx, zhy) = 2

For i = 0 To 191

If cwin(zhx, zhy, i) = True Then

cflag(i) = False

End If

Next

'重設(shè)電腦的獲勝標(biāo)志

checkwin()

'檢查當(dāng)前玩家是否獲勝

diannao()

'調(diào)用電腦算法

End Sub 五、獲勝檢查算法。 '*****************************************************************************

'** 模塊名稱: checkwin

'**

'** 描述: 此模塊執(zhí)行以下功能:

'** 1. 檢查是否和棋。

'** 2. 檢查電腦是否獲勝。

'** 3. 檢查玩家是否獲勝。

'**

'*****************************************************************************

Sub checkwin()

Dim i, j, k, m, n As Integer

Dim ca As Integer

Dim pa As Integer

Dim cnormal As Integer = 0

For i = 0 To 191

If cflag(i) = False Then

cnormal = cnormal + 1

End If

Next

If cnormal = 190 Then

Label1.Visible = True

Label1.Text = "和棋,請重新開始!"

PictureBox1.Refresh()

theplayflag = False

Exit Sub

End If

'設(shè)定和棋規(guī)則

For i = 0 To 191

If cflag(i) = True Then

ca = 0

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 1 Then

If cwin(j, k, i) = True Then

ca = ca + 1

End If

End If

Next

Next

If ca = 5 Then

Label1.Visible = True

Label1.Text = "電腦獲勝,請重新開始"

PictureBox1.Refresh()

theplayflag = False

Exit Sub

End If

End If

Next

'檢查電腦是否獲勝

For i = 0 To 191

If pflag(i) = True Then

pa = 0

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 2 Then

If pwin(j, k, i) = True Then

pa = pa + 1

End If

End If

Next

Next

If pa = 5 Then

Label1.Visible = True

Label1.Text = "玩家獲勝,請重新開始"

PictureBox1.Refresh()

theplayflag = False

Exit Sub

End If

End If

Next

'檢查玩家是否獲勝

End Sub  六、電腦算法 '*****************************************************************************

'** 模塊名稱: diannao

'**

'** 描述: 此程序主要執(zhí)行以下功能:

'** 1. 初始化賦值系統(tǒng)。

'** 2. 賦值加強(qiáng)算法。

'** 3. 計算電腦和玩家的最佳攻擊位。

'** 4. 比較電腦和玩家的最佳攻擊位并決定電腦的最佳策略。

'** 5. 執(zhí)行檢查獲勝函數(shù)。

'**

'***************************************************************************** Sub diannao()

Dim i, j, k, m, n As Integer

Dim dc As Integer

Dim cab As Integer

Dim pab As Integer

For i = 0 To 9

For j = 0 To 9

pscore(i, j) = 0

cscore(i, j) = 0

Next

Next

'初始化賦值數(shù)組

''' ******** 電腦加強(qiáng)算法 ********

For i = 0 To 191

If cflag(i) = True Then

cab = 0

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 1 Then

If cwin(j, k, i) = True Then

cab = cab + 1

End If

End If

Next

Next

Select Case cab

Case 3

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 0 Then

If cwin(m, n, i) = True Then

cscore(m, n) = cscore(m, n) + 5

End If

End If

Next

Next

Case 4

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 0 Then

If cwin(m, n, i) = True Then

yuandian(m * 30 + 10, n * 30 + 10)

table(m, n) = 1

For dc = 0 To 191

If pwin(m, n, dc) = True Then

pflag(dc) = False

checkwin()

Exit Sub

End If

Next

End If

End If

Next

Next

End Select

End If

Next

For i = 0 To 191

If pflag(i) = True Then

pab = 0

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 2 Then

If pwin(j, k, i) = True Then

pab = pab + 1

End If

End If

Next

Next

Select Case pab

Case 3

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 0 Then

If pwin(m, n, i) = True Then

pscore(m, n) = pscore(m, n) + 30

End If

End If

Next

Next

Case 4

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 0 Then

If pwin(m, n, i) = True Then

yuandian(m * 30 + 10, n * 30 + 10)

table(m, n) = 1

For dc = 0 To 191

If pwin(m, n, dc) = True Then

pflag(dc) = False

checkwin()

Exit Sub

End If

Next

End If

End If

Next

Next

End Select

End If

Next

''' ******** 電腦加強(qiáng)算法結(jié)束 ******** ' ******** 賦值系統(tǒng) ********

For i = 0 To 191

If cflag(i) = True Then

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 0 Then

If cwin(j, k, i) = True Then

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 1 Then

If cwin(m, n, i) = True Then

cscore(j, k) = cscore(j, k) + 1

End If

End If

Next

Next

End If

End If

Next

Next

End If

Next

For i = 0 To 191

If pflag(i) = True Then

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 0 Then

If pwin(j, k, i) = True Then

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 2 Then

If pwin(m, n, i) = True Then

pscore(j, k) = pscore(j, k) + 1

End If

End If

Next

Next

End If

End If

Next

Next

End If

Next

''' ******** 賦值系統(tǒng)結(jié)束 ********

''' ******** 分值比較算法 ********

Dim a, b, c, d As Integer

Dim cs As Integer = 0

Dim ps As Integer = 0

For i = 0 To 9

For j = 0 To 9

If cscore(i, j) cs Then

cs = cscore(i, j)

a = i

b = j

End If

Next

Next

For i = 0 To 9

For j = 0 To 9

If pscore(i, j) ps Then

ps = pscore(i, j)

c = i

d = j

End If

Next

Next

If cs ps Then

yuandian(a * 30 + 10, b * 30 + 10)

table(a, b) = 1

For i = 0 To 191

If pwin(a, b, i) = True Then

pflag(i) = False

End If

Next

Else

yuandian(c * 30 + 10, d * 30 + 10)

table(c, d) = 1

For i = 0 To 191

If pwin(c, d, i) = True Then

pflag(i) = False

End If

Next

End If

''' ******** 分值比較算法結(jié)束 ********

checkwin()

End Sub 七、繪制棋子 '*****************************************************************************

'** 模塊名稱: yuandian

'**

'** 描述: 此函數(shù)主要進(jìn)行電腦棋子的繪制。

'**

'***************************************************************************** Sub yuandian(ByVal x As Integer, ByVal y As Integer)

Dim mycolor As Color

Dim g As System.Drawing.Graphics

g = PictureBox1.CreateGraphics

Dim zhx, zhy As Integer

zhx = Int((x - 10) / 30)

zhy = Int((y - 10) / 30)

mycolor = Color.Black

Dim brush1 As System.Drawing.Brush = New SolidBrush(mycolor)

g.FillEllipse(brush1, zhx * 30 + 10, zhy * 30 + 10, 30, 30)

End Sub

vb.net 模擬 Win + D 顯示桌面

顯示桌面的本質(zhì)是個系統(tǒng) Shell(IShellDispatch4.ToggleDesktop()),所以只需要調(diào)用這個 Shell 就好了,用不著模擬按鍵。

項目引用 C:\Windows\System32\shell32.dll,參考代碼:

Dim?objShel?As?Shell32.ShellClass?=?New?Shell32.ShellClass()

CType(objShel,?Shell32.IShellDispatch4).ToggleDesktop()

文章題目:vb.net虛擬桌面,win 虛擬桌面
路徑分享:http://chinadenli.net/article42/hohphc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、靜態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計服務(wù)器托管

廣告

聲明:本網(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)

成都網(wǎng)站建設(shè)