0

我编写了一个简单的 wpf 应用程序来处理 TCPIP 和串行通信。在应用程序的第一个版本中,我使用了一个带有连接按钮的“GUI”等等。此版本在平板电脑上运行。平板电脑是装有 Windows 8 的 ThinkPad。

该应用程序的第二个版本应该在没有任何 GUI 的情况下运行,但带有任务栏图标。我能够创建任务栏图标等等。该应用程序在我的电脑上完美运行。它可以在平板电脑上安装该应用程序,但它只是无法运行。

有人知道为什么应用程序无法打开吗?

在下面你可以找到一些源代码,我是如何创建图标的等等。在 Visual Studio 项目中,我禁用了如下所示的“主窗口”

xml代码

Title="MainWindow" Height="350" Width="525" Visibility="Hidden">

c# - 代码

public MainWindow()
  {
     InitializeComponent();

     // Initailize Menu
     this.components = new System.ComponentModel.Container();
     this.contextMenu1 = new System.Windows.Forms.ContextMenu();
     this.menuItem1 = new System.Windows.Forms.MenuItem();
     this.menuItem2 = new System.Windows.Forms.MenuItem();
     this.menuItem3 = new System.Windows.Forms.MenuItem();
     this.menuItem4 = new System.Windows.Forms.MenuItem();

     // Initialize contextMenu1
     this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem1 });
     this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem2 });
     this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem3 });
     this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem4 });

     // Initialize Menu Items
     this.menuItem3.Index = 0;
     this.menuItem3.Text = "Connect";
     this.menuItem3.Click += new System.EventHandler(this.Connect);
     //
     this.menuItem2.Index = 1;
     this.menuItem2.Text = "Disconnect";
     this.menuItem2.Click += new System.EventHandler(this.Disconnect);
     //
     this.menuItem4.Index = 2;
     this.menuItem4.Text = "About";
     this.menuItem4.Click += new System.EventHandler(this.About);
     //
     this.menuItem1.Index = 3;
     this.menuItem1.Text = "Exit";
     this.menuItem1.Click += new System.EventHandler(this.Exit);

     // Create the NotifyIcon.
     this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);

     // The Icon property sets the icon that will appear
     // in the systray for this application.
     notifyIcon1.Icon = new Icon("icon.ico");

     // The ContextMenu property sets the menu that will
     // appear when the systray icon is right clicked.
     notifyIcon1.ContextMenu = this.contextMenu1;

     // The Text property sets the text that will be displayed,
     // in a tooltip, when the mouse hovers over the systray icon.
     notifyIcon1.Text = "Icon Test";
     notifyIcon1.Visible = true;

     //Handle the Click event
     notifyIcon1.MouseUp += new MouseEventHandler(ShowContextMenu);
  }

编辑

应用程序在平板电脑上启动时是否可能需要 System.Windows.Input using 指令?由于与另一个 using 指令发生冲突,我不得不排除该指令。

还有一个问题。我相信它是一个 Windows 8 错误。该应用程序在我的 Win7 机器上运行,但在 Win8 笔记本和 Win8 平板电脑上都没有。

4

0 回答 0