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