我编写了一个简单的 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 平板电脑上都没有。