Integrated PowerPoint support
This commit is contained in:
parent
941525025e
commit
a3ddb4d9e6
@ -102,6 +102,9 @@
|
|||||||
<PackageReference Include="ModernWpfUI">
|
<PackageReference Include="ModernWpfUI">
|
||||||
<Version>0.9.4</Version>
|
<Version>0.9.4</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
<PackageReference Include="Newtonsoft.Json">
|
||||||
|
<Version>13.0.1</Version>
|
||||||
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<COMReference Include="Microsoft.Office.Core">
|
<COMReference Include="Microsoft.Office.Core">
|
||||||
|
@ -46,15 +46,15 @@
|
|||||||
<Button Name="BtnExit" Content="退出" FontFamily="Microsoft YaHei UI"
|
<Button Name="BtnExit" Content="退出" FontFamily="Microsoft YaHei UI"
|
||||||
Margin="0,0,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
Margin="0,0,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
||||||
Click="BtnExit_Click" Foreground="Black" Background="#7F909090"/>
|
Click="BtnExit_Click" Foreground="Black" Background="#7F909090"/>
|
||||||
<TextBlock Text="自动
粗细" Margin="0,10,0,0"
|
<TextBlock Text="自动
粗细" Visibility="Collapsed" Margin="0,10,0,0"
|
||||||
FontSize="14" HorizontalAlignment="Center"
|
FontSize="14" HorizontalAlignment="Center"
|
||||||
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"/>
|
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"/>
|
||||||
<Viewbox Height="30">
|
<Viewbox Height="30" Visibility="Collapsed">
|
||||||
<ui:ToggleSwitch Name="ToggleSwitchAutoWeight" Header="" Width="40.5"
|
<ui:ToggleSwitch Name="ToggleSwitchAutoWeight" Header="" Width="40.5"
|
||||||
FontFamily="Microsoft YaHei UI" FontSize="19"
|
FontFamily="Microsoft YaHei UI" FontSize="19"
|
||||||
OnContent="" OffContent="" Toggled="ToggleSwitchAutoWeight_Toggled"/>
|
OnContent="" OffContent="" Toggled="ToggleSwitchAutoWeight_Toggled"/>
|
||||||
</Viewbox>
|
</Viewbox>
|
||||||
<TextBlock Text="老魏
模式" Margin="0,5,0,0"
|
<TextBlock Text="老魏
模式" Margin="0,10,0,0"
|
||||||
FontSize="14" HorizontalAlignment="Center"
|
FontSize="14" HorizontalAlignment="Center"
|
||||||
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"/>
|
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"/>
|
||||||
<Viewbox Height="30">
|
<Viewbox Height="30">
|
||||||
@ -65,7 +65,7 @@
|
|||||||
<Button Name="BtnThickness" Content="粗细" Visibility="Collapsed" FontFamily="Microsoft YaHei UI"
|
<Button Name="BtnThickness" Content="粗细" Visibility="Collapsed" FontFamily="Microsoft YaHei UI"
|
||||||
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
||||||
Click="BtnThickness_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
Click="BtnThickness_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
||||||
<Button Name="BtnErase" Content="橡皮" FontFamily="Microsoft YaHei UI"
|
<Button Name="BtnErase" Content="橡皮" Visibility="Collapsed" FontFamily="Microsoft YaHei UI"
|
||||||
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
||||||
Click="BtnErase_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
Click="BtnErase_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
||||||
<Button Name="BtnSwitchTheme" Content="深色" FontFamily="Microsoft YaHei UI"
|
<Button Name="BtnSwitchTheme" Content="深色" FontFamily="Microsoft YaHei UI"
|
||||||
@ -100,6 +100,12 @@
|
|||||||
<Button x:Name="BtnCheckPPT" Visibility="Collapsed" Content="检查" FontFamily="Microsoft YaHei UI"
|
<Button x:Name="BtnCheckPPT" Visibility="Collapsed" Content="检查" FontFamily="Microsoft YaHei UI"
|
||||||
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
||||||
Click="BtnCheckPPT_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
Click="BtnCheckPPT_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
||||||
|
<Button x:Name="BtnPPTSlideShow" Visibility="Collapsed" Content="从头
放映" FontFamily="Microsoft YaHei UI"
|
||||||
|
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
||||||
|
Click="BtnPPTSlideShow_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
||||||
|
<Button x:Name="BtnPPTSlideShowEnd" Visibility="Collapsed" Content="结束
放映" FontFamily="Microsoft YaHei UI"
|
||||||
|
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
||||||
|
Click="BtnPPTSlideShowEnd_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="#7F909090"/>
|
||||||
<StackPanel Name="StackPanelPPTControls" Visibility="Collapsed">
|
<StackPanel Name="StackPanelPPTControls" Visibility="Collapsed">
|
||||||
<Button x:Name="BtnPPTSlidesUp" Content="↑" FontFamily="Microsoft YaHei UI"
|
<Button x:Name="BtnPPTSlidesUp" Content="↑" FontFamily="Microsoft YaHei UI"
|
||||||
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
|
||||||
|
@ -16,6 +16,10 @@ using System.Windows.Navigation;
|
|||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
using Microsoft.Office.Interop.PowerPoint;
|
using Microsoft.Office.Interop.PowerPoint;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using Application = System.Windows.Application;
|
||||||
|
using System.Timers;
|
||||||
|
using System.Threading;
|
||||||
|
using Timer = System.Timers.Timer;
|
||||||
|
|
||||||
namespace Ink_Canvas
|
namespace Ink_Canvas
|
||||||
{
|
{
|
||||||
@ -27,8 +31,14 @@ namespace Ink_Canvas
|
|||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
timerCheckPPT.Elapsed += TimerCheckPPT_Elapsed;
|
||||||
|
timerCheckPPT.Interval = 1000;
|
||||||
|
timerCheckPPT.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Timer timerCheckPPT = new Timer();
|
||||||
|
|
||||||
private void Button_Click(object sender, RoutedEventArgs e)
|
private void Button_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
Close();
|
Close();
|
||||||
@ -170,6 +180,8 @@ namespace Ink_Canvas
|
|||||||
//}
|
//}
|
||||||
|
|
||||||
loadPenCanvas();
|
loadPenCanvas();
|
||||||
|
|
||||||
|
BtnHideInkCanvas_Click(BtnHideInkCanvas, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void back_HotKey(object sender, ExecutedRoutedEventArgs e)
|
private void back_HotKey(object sender, ExecutedRoutedEventArgs e)
|
||||||
@ -183,20 +195,20 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
private void KeyExit(object sender, ExecutedRoutedEventArgs e)
|
private void KeyExit(object sender, ExecutedRoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (isInkCanvasVisible)
|
//if (isInkCanvasVisible)
|
||||||
{
|
//{
|
||||||
Main_Grid.Visibility = Visibility.Hidden;
|
// Main_Grid.Visibility = Visibility.Hidden;
|
||||||
isInkCanvasVisible = false;
|
// isInkCanvasVisible = false;
|
||||||
|
// //inkCanvas.Strokes.Clear();
|
||||||
|
// WindowState = WindowState.Minimized;
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// Main_Grid.Visibility = Visibility.Visible;
|
||||||
|
// isInkCanvasVisible = true;
|
||||||
// inkCanvas.Strokes.Clear();
|
// inkCanvas.Strokes.Clear();
|
||||||
WindowState = WindowState.Minimized;
|
// WindowState = WindowState.Maximized;
|
||||||
}
|
//}
|
||||||
else
|
|
||||||
{
|
|
||||||
Main_Grid.Visibility = Visibility.Visible;
|
|
||||||
isInkCanvasVisible = true;
|
|
||||||
inkCanvas.Strokes.Clear();
|
|
||||||
WindowState = WindowState.Maximized;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Window_KeyDown(object sender, KeyEventArgs e)
|
private void Window_KeyDown(object sender, KeyEventArgs e)
|
||||||
@ -243,6 +255,8 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Buttons - Color
|
||||||
|
|
||||||
int inkColor = 0;
|
int inkColor = 0;
|
||||||
|
|
||||||
private void ColorSwitchCheck()
|
private void ColorSwitchCheck()
|
||||||
@ -262,7 +276,7 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
inkColor = 0;
|
inkColor = 0;
|
||||||
forceEraser = false;
|
forceEraser = false;
|
||||||
if (currentMode == 2)
|
if (BtnSwitchTheme.Content.ToString() == "浅色")
|
||||||
{
|
{
|
||||||
inkCanvas.DefaultDrawingAttributes.Color = Colors.White;
|
inkCanvas.DefaultDrawingAttributes.Color = Colors.White;
|
||||||
}
|
}
|
||||||
@ -330,6 +344,8 @@ namespace Ink_Canvas
|
|||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
int BoundsWidth = 6;
|
int BoundsWidth = 6;
|
||||||
|
|
||||||
private void Main_Grid_TouchDown(object sender, TouchEventArgs e)
|
private void Main_Grid_TouchDown(object sender, TouchEventArgs e)
|
||||||
@ -458,19 +474,23 @@ namespace Ink_Canvas
|
|||||||
int slidescount = 0;
|
int slidescount = 0;
|
||||||
private void BtnCheckPPT_Click(object sender, RoutedEventArgs e)
|
private void BtnCheckPPT_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
//try
|
try
|
||||||
//{
|
{
|
||||||
pptApplication = Marshal.GetActiveObject("PowerPoint.Application") as Microsoft.Office.Interop.PowerPoint.Application;
|
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application");
|
||||||
//pptApplication.SlideShowWindows[1].View.Next();
|
//pptApplication.SlideShowWindows[1].View.Next();
|
||||||
|
|
||||||
if (pptApplication != null)
|
if (pptApplication != null)
|
||||||
{
|
{
|
||||||
//获得演示文稿对象
|
//获得演示文稿对象
|
||||||
presentation = pptApplication.ActivePresentation;
|
presentation = pptApplication.ActivePresentation;
|
||||||
|
pptApplication.SlideShowBegin += PptApplication_SlideShowBegin;
|
||||||
|
pptApplication.SlideShowNextSlide += PptApplication_SlideShowNextSlide;
|
||||||
|
pptApplication.SlideShowEnd += PptApplication_SlideShowEnd;
|
||||||
// 获得幻灯片对象集合
|
// 获得幻灯片对象集合
|
||||||
slides = presentation.Slides;
|
slides = presentation.Slides;
|
||||||
// 获得幻灯片的数量
|
// 获得幻灯片的数量
|
||||||
slidescount = slides.Count;
|
slidescount = slides.Count;
|
||||||
|
memoryStreams = new MemoryStream[slidescount + 2];
|
||||||
// 获得当前选中的幻灯片
|
// 获得当前选中的幻灯片
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -486,39 +506,172 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (pptApplication == null) throw new Exception();
|
if (pptApplication == null) throw new Exception();
|
||||||
|
//BtnCheckPPT.Visibility = Visibility.Collapsed;
|
||||||
StackPanelPPTControls.Visibility = Visibility.Visible;
|
StackPanelPPTControls.Visibility = Visibility.Visible;
|
||||||
//}
|
}
|
||||||
//catch
|
catch
|
||||||
//{
|
{
|
||||||
|
//BtnCheckPPT.Visibility = Visibility.Visible;
|
||||||
|
StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
||||||
|
MessageBox.Show("未找到幻灯片");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TimerCheckPPT_Elapsed(object sender, ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application");
|
||||||
|
|
||||||
|
if (pptApplication != null)
|
||||||
|
{
|
||||||
|
timerCheckPPT.Stop();
|
||||||
|
//获得演示文稿对象
|
||||||
|
presentation = pptApplication.ActivePresentation;
|
||||||
|
pptApplication.PresentationClose += PptApplication_PresentationClose;
|
||||||
|
pptApplication.SlideShowBegin += PptApplication_SlideShowBegin;
|
||||||
|
pptApplication.SlideShowNextSlide += PptApplication_SlideShowNextSlide;
|
||||||
|
pptApplication.SlideShowEnd += PptApplication_SlideShowEnd;
|
||||||
|
// 获得幻灯片对象集合
|
||||||
|
slides = presentation.Slides;
|
||||||
|
// 获得幻灯片的数量
|
||||||
|
slidescount = slides.Count;
|
||||||
|
memoryStreams = new MemoryStream[slidescount + 2];
|
||||||
|
// 获得当前选中的幻灯片
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 在普通视图下这种方式可以获得当前选中的幻灯片对象
|
||||||
|
// 然而在阅读模式下,这种方式会出现异常
|
||||||
|
slide = slides[pptApplication.ActiveWindow.Selection.SlideRange.SlideNumber];
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// 在阅读模式下出现异常时,通过下面的方式来获得当前选中的幻灯片对象
|
||||||
|
slide = pptApplication.SlideShowWindows[1].View.Slide;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pptApplication == null) throw new Exception();
|
||||||
|
//BtnCheckPPT.Visibility = Visibility.Collapsed;
|
||||||
|
|
||||||
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
|
{
|
||||||
|
BtnPPTSlideShow.Visibility = Visibility.Visible;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
//StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
//StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
||||||
// MessageBox.Show("未找到幻灯片");
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
//}
|
{
|
||||||
|
BtnPPTSlideShow.Visibility = Visibility.Collapsed;
|
||||||
|
});
|
||||||
|
timerCheckPPT.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PptApplication_PresentationClose(Presentation Pres)
|
||||||
|
{
|
||||||
|
timerCheckPPT.Start();
|
||||||
|
BtnPPTSlideShow.Visibility = Visibility.Collapsed;
|
||||||
|
BtnPPTSlideShowEnd.Visibility = Visibility.Collapsed;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PptApplication_SlideShowBegin(SlideShowWindow Wn)
|
||||||
|
{
|
||||||
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
|
{
|
||||||
|
StackPanelPPTControls.Visibility = Visibility.Visible;
|
||||||
|
BtnPPTSlideShow.Visibility = Visibility.Collapsed;
|
||||||
|
BtnPPTSlideShowEnd.Visibility = Visibility.Visible;
|
||||||
|
StackPanelMain.Margin = new Thickness(10, 0, 10, 10);
|
||||||
|
});
|
||||||
|
previousSlideID = Wn.View.CurrentShowPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PptApplication_SlideShowEnd(Presentation Pres)
|
||||||
|
{
|
||||||
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
|
{
|
||||||
|
BtnPPTSlideShow.Visibility = Visibility.Visible;
|
||||||
|
BtnPPTSlideShowEnd.Visibility = Visibility.Collapsed;
|
||||||
|
StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
||||||
|
StackPanelMain.Margin = new Thickness(10, 0, 10, 55);
|
||||||
|
inkCanvas.Strokes.Clear();
|
||||||
|
if (Main_Grid.Background != Brushes.Transparent)
|
||||||
|
{
|
||||||
|
BtnHideInkCanvas_Click(BtnHideInkCanvas, null);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
int previousSlideID = 0;
|
||||||
|
MemoryStream[] memoryStreams = new MemoryStream[50];
|
||||||
|
|
||||||
|
private void PptApplication_SlideShowNextSlide(SlideShowWindow Wn)
|
||||||
|
{
|
||||||
|
if (Wn.View.CurrentShowPosition != previousSlideID)
|
||||||
|
{
|
||||||
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
|
{
|
||||||
|
MemoryStream ms = new MemoryStream();
|
||||||
|
inkCanvas.Strokes.Save(ms);
|
||||||
|
ms.Position = 0;
|
||||||
|
memoryStreams[previousSlideID] = ms;
|
||||||
|
|
||||||
|
inkCanvas.Strokes.Clear();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (memoryStreams[Wn.View.CurrentShowPosition].Length > 0)
|
||||||
|
{
|
||||||
|
inkCanvas.Strokes = new System.Windows.Ink.StrokeCollection(memoryStreams[Wn.View.CurrentShowPosition]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{ }
|
||||||
|
});
|
||||||
|
previousSlideID = Wn.View.CurrentShowPosition;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BtnPPTSlidesUp_Click(object sender, RoutedEventArgs e)
|
private void BtnPPTSlidesUp_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
|
if (currentMode == 1)
|
||||||
|
{
|
||||||
|
GridBackgroundCover.Visibility = Visibility.Hidden;
|
||||||
|
currentMode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
slides[5].Select();
|
pptApplication.SlideShowWindows[1].View.Application.SlideShowWindows[1].Activate();
|
||||||
slide = slides[5];
|
pptApplication.SlideShowWindows[1].View.Previous();
|
||||||
pptApplication.SlideShowWindows[0].View.Previous();
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
//BtnCheckPPT.Visibility = Visibility.Visible;
|
||||||
StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BtnPPTSlidesDown_Click(object sender, RoutedEventArgs e)
|
private void BtnPPTSlidesDown_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
|
if (currentMode == 1)
|
||||||
|
{
|
||||||
|
GridBackgroundCover.Visibility = Visibility.Hidden;
|
||||||
|
currentMode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pptApplication.SlideShowWindows[0].View.Next();
|
pptApplication.SlideShowWindows[1].View.Application.SlideShowWindows[1].Activate();
|
||||||
|
pptApplication.SlideShowWindows[1].View.Next();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
//BtnCheckPPT.Visibility = Visibility.Visible;
|
||||||
StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
StackPanelPPTControls.Visibility = Visibility.Collapsed;
|
||||||
MessageBox.Show(ex.ToString());
|
//MessageBox.Show(ex.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -526,6 +679,30 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void BtnPPTSlideShow_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
new Thread(new ThreadStart(() => {
|
||||||
|
//presentation.SlideShowSettings.StartingSlide = 1;// pptApplication.ActiveWindow.Selection.SlideRange.SlideNumber;
|
||||||
|
//presentation.SlideShowSettings.EndingSlide = 1;
|
||||||
|
presentation.SlideShowSettings.Run();
|
||||||
|
})).Start();
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BtnPPTSlideShowEnd_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
new Thread(new ThreadStart(() => {
|
||||||
|
try
|
||||||
|
{
|
||||||
|
pptApplication.SlideShowWindows[1].View.Exit();
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
})).Start();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum HotkeyModifiers
|
enum HotkeyModifiers
|
||||||
|
Loading…
Reference in New Issue
Block a user