Blame view

SunVoteARSPPT/Forms/FrmAboutCustomVote.cs 3.85 KB
20c0108c   wutaian   xx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  ///--------------------------------------------------------------------------
  ///   名:FrmAboutCustomVote.cs
  /// 功能描述:关于
  /// 
  /// 
  /// 创建标识:杨斌 2010-08-23
  /// 修改:杨斌 2013-03-26
  ///--------------------------------------------------------------------------
  
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  using System.Windows.Forms;
  using System.Diagnostics;
  using System.Runtime.InteropServices;
  using System.Management;
  
  
  namespace SunVoteARSPPT
  {
      public partial class FrmAboutCustomVote : Form
      {
          public FrmAboutCustomVote()
          {
              InitializeComponent();
  
              ////多语言初始化控件文本
              //GlobalInfo.SysLanguage.SetLanguage("FrmAboutUs", this);
  
              string bitInfo = "_32bit";//默认32
              string proInfo = System.Reflection.Assembly.GetExecutingAssembly().GetName().ProcessorArchitecture.ToString();
              if (proInfo.IndexOf("64") >= 0)
              {
                  bitInfo = "_64bit";
              }
              else if (proInfo == "MSIL")
              {
                  if (GetOSBit() == 64)
                  {
                      bool retVal = false;
                      IsWow64Process(Process.GetCurrentProcess().Handle, out retVal);
                      if (!retVal)
                          bitInfo = "_64bit";
                  }
              }
  
              lblVerNoInfo.Text = "V " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();// +bitInfo;
              //+ System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Minor.ToString() + "."
              //+ System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Build.ToString();
              //lblSysVersion.Text = lblSysVersion.Text + " " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();//去掉Beta,杨斌 2011-09-28
  
              lblEmailInfo.Click += new EventHandler(lblEmailInfo_Click);
              lblSiteInfo.Click += new EventHandler(lblSiteInfo_Click);
          }
  
          public static int GetOSBit()
          {
              try
              {
                  string addressWidth = String.Empty;
                  ConnectionOptions mConnOption = new ConnectionOptions();
                  ManagementScope mMs = new ManagementScope(@"\\localhost", mConnOption);
                  ObjectQuery mQuery = new ObjectQuery("select AddressWidth from Win32_Processor");
                  ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(mMs, mQuery);
                  ManagementObjectCollection mObjectCollection = mSearcher.Get();
                  foreach (ManagementObject mObject in mObjectCollection)
                  {
                      addressWidth = mObject["AddressWidth"].ToString();
                  }
                  return Int32.Parse(addressWidth);
              }
              catch (Exception ex)
              {
                  Console.WriteLine(ex.ToString());
                  return 32;
              }
          }
  
          [DllImport("kernel32.dll")]
          public static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool lpSystemInfo);
  
          private void FrmAboutEasyTest_KeyDown(object sender, KeyEventArgs e)
          {
              if (e.KeyCode == Keys.Escape)//杨斌 2012-03-13
                  this.Close();
          }
  
          private void lblSiteInfo_Click(object sender, EventArgs e)
          {
              try
              {
                  System.Diagnostics.Process.Start(((Label)sender).Text);
              }
              catch { }
          }
  
          private void lblEmailInfo_Click(object sender, EventArgs e)
          {
              System.Diagnostics.Process.Start("mailto:" + ((Label)sender).Text);
          }
  
          private void FrmAboutEasyTest_Load(object sender, EventArgs e)
          {
  
          }
  
  
      }
  }