diff -cr Desktop/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter.vb Documents/Visual Studio 2005/Projects/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter.vb
*** Desktop/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter.vb Sun Jun 17 17:06:52 2007
--- Documents/Visual Studio 2005/Projects/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter.vb Thu Jul 30 23:36:13 2009
***************
*** 887,892 ****
--- 887,895 ----
' 「登録先フォルダ」
m_ContextMenu.MenuItems.Add(targetShortcutDesc.BrowseTargetFolderMenuItem)
+ ' 管理者として実行
+ m_ContextMenu.MenuItems.Add(targetShortcutDesc.ExecuteRunasMenuItem)
+
' セパレータ
m_ContextMenu.MenuItems.Add(New Sylpheen.Controls.SeparatorMenuItem)
diff -cr Desktop/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter_ShortcutDesc.vb Documents/Visual Studio 2005/Projects/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter_ShortcutDesc.vb
*** Desktop/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter_ShortcutDesc.vb Sat Jun 16 00:43:42 2007
--- Documents/Visual Studio 2005/Projects/Sylpheen version 3.06/Sylpheen/Plugins/LightExecuter/LightExecuter_ShortcutDesc.vb Sun Aug 2 13:05:13 2009
***************
*** 160,165 ****
--- 160,166 ----
Execute
ShowProperty
BrowseTargetFolder
+ ExecuteRunas
End Enum
***************
*** 233,239 ****
Public ReadOnly Property Icon() As System.Drawing.Icon Implements Sylpheen.Controls.MenuItem.IIconedMenuItem.Icon
Get
! Return m_Icon
End Get
End Property
--- 234,250 ----
Public ReadOnly Property Icon() As System.Drawing.Icon Implements Sylpheen.Controls.MenuItem.IIconedMenuItem.Icon
Get
!
! If m_Effect = MenuClickEffect.ExecuteRunas Then
!
! Return SystemIcons.Shield
!
! Else
!
! Return m_Icon
!
! End If
!
End Get
End Property
***************
*** 257,262 ****
--- 268,277 ----
m_ShortcutDesc.BrowseTargetFolder()
+ Case MenuClickEffect.ExecuteRunas
+
+ m_ShortcutDesc.Execute(True)
+
End Select
Catch ex As ShortcutTargetNotFoundException
***************
*** 283,288 ****
--- 298,307 ----
MyBase.Text = String.Format("'{0}'のあるフォルダを表示", m_ShortcutDesc.DisplayName)
+ Case MenuClickEffect.ExecuteRunas
+
+ MyBase.Text = String.Format("'{0}'を管理者として実行", m_ShortcutDesc.DisplayName)
+
End Select
End Sub
***************
*** 654,659 ****
--- 673,686 ----
End Get
End Property
+ Private m_ExecuteRunasMenuItem As ShortcutDescMenuItem
+
+ Public ReadOnly Property ExecuteRunasMenuItem() As ShortcutDescMenuItem
+ Get
+ Return m_ExecuteRunasMenuItem
+ End Get
+ End Property
+
#End Region
#Region "起動回数"
***************
*** 924,929 ****
--- 951,957 ----
m_ExecuteMenuItem = New ShortcutDescMenuItem(Me, ShortcutDescMenuItem.MenuClickEffect.Execute)
m_ShowPropertiesMenuItem = New ShortcutDescMenuItem(Me, ShortcutDescMenuItem.MenuClickEffect.ShowProperty)
m_BrowseTargetFolderMenuItem = New ShortcutDescMenuItem(Me, ShortcutDescMenuItem.MenuClickEffect.BrowseTargetFolder)
+ m_ExecuteRunasMenuItem = New ShortcutDescMenuItem(Me, ShortcutDescMenuItem.MenuClickEffect.ExecuteRunas)
End Sub
***************
*** 1083,1102 ****
'''
Public Sub Execute(ByVal arguments As String)
If IO.File.Exists(m_FullPath) OrElse IO.Directory.Exists(m_FullPath) Then
If String.Empty.Equals(arguments) Then
! ' コマンドを送る
! SylpheenMain.CommandInvoker.Enqueue(New ExecuteShortcutCommand(Me))
Else
! ' コマンドを送る
! SylpheenMain.CommandInvoker.Enqueue(New ExecuteShortcutCommand(Me, arguments))
End If
Else
' パスで指定されたファイル、ディレクトリが見つからない場合
--- 1111,1156 ----
'''
Public Sub Execute(ByVal arguments As String)
+ Execute(arguments, False)
+
+ End Sub
+
+ '''
+ ''' 起動する。
+ '''
+ Public Sub Execute(ByVal isRunas As Boolean)
+
+ Execute(String.Empty, isRunas)
+
+ End Sub
+
+ '''
+ ''' 起動する。
+ '''
+ Public Sub Execute(ByVal arguments As String, ByVal isRunas As Boolean)
+
If IO.File.Exists(m_FullPath) OrElse IO.Directory.Exists(m_FullPath) Then
+ Dim command As ExecuteShortcutCommand
+
If String.Empty.Equals(arguments) Then
! command = New ExecuteShortcutCommand(Me)
Else
! command = New ExecuteShortcutCommand(Me, arguments)
End If
+ If isRunas Then
+
+ command.ProcessStartInfo.Verb = "runas"
+
+ End If
+
+ SylpheenMain.CommandInvoker.Enqueue(command)
+
Else
' パスで指定されたファイル、ディレクトリが見つからない場合
diff -cr Desktop/Sylpheen version 3.06/Sylpheen/SylpheenCore/Commands_UtilityCommands.vb Documents/Visual Studio 2005/Projects/Sylpheen version 3.06/Sylpheen/SylpheenCore/Commands_UtilityCommands.vb
*** Desktop/Sylpheen version 3.06/Sylpheen/SylpheenCore/Commands_UtilityCommands.vb Mon Jun 18 21:56:16 2007
--- Documents/Visual Studio 2005/Projects/Sylpheen version 3.06/Sylpheen/SylpheenCore/Commands_UtilityCommands.vb Thu Jul 30 23:34:01 2009
***************
*** 75,81 ****
Public Overrides Sub Execute()
! Process.Start(m_ProcessStartInfo)
End Sub
--- 75,89 ----
Public Overrides Sub Execute()
! Try
!
! Process.Start(m_ProcessStartInfo)
!
! Catch ex As Exception
!
! ' UACによって起動失敗することを考えてスルー
!
! End Try
End Sub