using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Threading;
using System.Xml;
using ComPDFKit.NativeMethod;
using Compdfkit_Tools.Helper;
namespace PDFViewer
{
///
/// Interaction logic for App.xaml
///
public partial class App: Application
{
static public bool DefaultPDFLoaded = false;
public static List OpenedFilePathList = new List();
public App()
{
this.DispatcherUnhandledException += App_DispatcherUnhandledException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
}
private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
{
var ex = e.Exception as Exception;
if (ex != null)
{
MessageBox.Show("发生Task未处理异常:" + ex.Message + "\n" + ex.StackTrace, "系统错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e.ExceptionObject is System.Exception)
{
Exception ex = (System.Exception)e.ExceptionObject;
MessageBox.Show("发生非UI线程异常:" + ex.Message + "\n" + ex.StackTrace, "系统错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
e.Handled = true;
MessageBox.Show("发生UI线程异常:" + e.Exception.Message + "\n" + e.Exception.StackTrace, "系统错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
protected override void OnStartup(StartupEventArgs e)
{
string str = this.GetType().Assembly.Location;
base.OnStartup(e);
LicenseVerify();
}
private static bool LicenseVerify()
{
bool result = false;
result = CPDFSDKVerifier.LoadNativeLibrary();
if (!result)
return false;
SDKLicenseHelper sdkLicenseHelper = new SDKLicenseHelper();
LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify(sdkLicenseHelper.key, sdkLicenseHelper.secret);
if (verifyResult != LicenseErrorCode.LICENSE_ERR_SUCCESS)
return false;
return result;
}
}
}