Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询按钮事件上是否安装了Office 365,然后根据返回值执行代码(WPF/C#app)_C#_Wpf_Events_Office365 - Fatal编程技术网

查询按钮事件上是否安装了Office 365,然后根据返回值执行代码(WPF/C#app)

查询按钮事件上是否安装了Office 365,然后根据返回值执行代码(WPF/C#app),c#,wpf,events,office365,C#,Wpf,Events,Office365,背景:我正在创建一个应用程序,允许我们的其他技术人员在一个简单的GUI中快速安装十几个程序。我将这些应用程序的安装程序嵌入到我的主程序中。(这并不重要) 我创建了一个单独的类文件(IsOfficeInstalled.cs),当用户单击按钮安装Office时,会调用该文件。以下是该文件中的代码: class IsOfficeInstalled { public static bool check() { RegistryKey ke

背景:我正在创建一个应用程序,允许我们的其他技术人员在一个简单的GUI中快速安装十几个程序。我将这些应用程序的安装程序嵌入到我的主程序中。(这并不重要)

我创建了一个单独的类文件(
IsOfficeInstalled.cs
),当用户单击按钮安装Office时,会调用该文件。以下是该文件中的代码:

 class IsOfficeInstalled
    {
        public static bool check()
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe");
            if (key != null)
            {
                key.Close();
            }
            return key != null; }}
在我的
MainWindow.xaml
文件中,我试图调用“IsOfficeInstalled”函数,并根据返回值执行两个操作之一。这就是我困惑的地方。“我的按钮”事件中的代码如下所示:

 private void btn_InstallOffice_Click(object sender, RoutedEventArgs e)
    if (IsOfficeInstalled.check())
    {
        //If yes, then perform some code
    }
    else
    {
       //If no, then perform some different code
    }

我需要帮助的地方是,从“ISOFICEINSTALLED”函数返回真/假结果,这样我在“btn_InstallOffice_Click”函数中的代码将知道要执行的条件

我不确定我是否理解你的问题。你在寻找一个简单的if语句吗

private void btn_InstallOffice_Click(object sender, RoutedEventArgs e)
{ 
    if (IsOfficeInstalled.check())
    {
        //If yes, then perform some code
    }
    else
    {
       //If no, then perform some different code
    }
}

我不确定我是否理解你的问题。你在寻找一个简单的if语句吗

private void btn_InstallOffice_Click(object sender, RoutedEventArgs e)
{ 
    if (IsOfficeInstalled.check())
    {
        //If yes, then perform some code
    }
    else
    {
       //If no, then perform some different code
    }
}

我试图找出如何从第一个函数获取/传递返回值,以便button事件知道根据true或false执行什么代码。看起来您已经在return语句中执行了。如果密钥为null,则返回false。如果要将结果存储在变量中以备将来使用,只需按如下方式分配:
bool isInstalled=IsOfficeInstalled.check()我试图找出如何从第一个函数获取/传递返回值,以便button事件知道基于true或false执行什么代码。看起来您已经在return语句中执行了。如果密钥为null,则返回false。如果要将结果存储在变量中以备将来使用,只需按如下方式分配:
bool isInstalled=IsOfficeInstalled.check()