1
作者:ah, 2007-06-08
9
1.初始化转90度:
10
//Sets the screen orientation to portrait.
11
Microsoft.WindowsCE.Forms.SystemSettings.ScreenOrientation = Microsoft.WindowsCE.Forms.ScreenOrientation.Angle90;
12
13
2.
14
// Removes Minimize (X) and Close(OK) buttons.
15
// Caution: Only way to close the application
16
// is with the Running Programs memory options under Settings.
17
this.ControlBox = false;
18
19
3.背景
20
protected override void OnPaint(PaintEventArgs e)
21
{
22
//Get image compiled as an embedded resource.
23
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
24
25
// Note that the name for the embedded resource
26
// is case sensitive and must match the file name.
27
Bitmap backgroundImage = new Bitmap(asm.GetManifestResourceStream("MySnippets.images.wallpaper.bmp"));
28
//backgroundImage = new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("AYMove.images.indexbg.jpg"));
29
30
e.Graphics.DrawImage(backgroundImage, this.ClientRectangle, new Rectangle(0, 0, backgroundImage.Width, backgroundImage.Height), GraphicsUnit.Pixel);
31
}
32
33
5.取得平台:
34
private string GetDeviceName()
35
{
36
return System.Net.Dns.GetHostName();//ppc or smtphone
37
}
38
39
6.取到程序路径
40
private string GetApplicationDirectory()
41
{
42
return System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
43
}
44
45
7.Set CenterForm
46
private void CenterForm()
47
{
48
//Set the desired form size.
49
this.FormBorderStyle = FormBorderStyle.None;
50
this.Size = new Size(200, 200);
51
this.BackColor = Color.Wheat;
52
this.FormBorderStyle = FormBorderStyle.None;
53
//Get the size of the screen for centering the form.
54
Rectangle rectS = Screen.PrimaryScreen.Bounds;
55
this.Location = new Point(Convert.ToInt32((rectS.Width - this.Width) / 2), Convert.ToInt32((rectS.Height - this.Height) / 2));
56
}
57
58
8.
59
private void SetInputMethod()
60
{
61
// Sets the input method to Letter Recognizer.
62
foreach (Microsoft.WindowsCE.Forms.InputMethod method in inputPanel1.InputMethods)
63
{
64
if (method.Name == "Letter Recognizer")
65
{
66
inputPanel1.CurrentInputMethod = method;
67
break;
68
}
69
}
70
}
71
72
9.
73
//Set up file extension filters for a
74
//DocumentList and set the initial folder
75
void SetupDocList()
76
{
77
documentList1.Parent = this;
78
documentList1.Filter = " |*.*| |*.txt;*.xml| |*.pwi;*.pdt| |*.pxl; *.psw| |*.jpg;*.gif;*.bmp| |*.wav;*.wmv;*.mpg;";
79
documentList1.FilterIndex = 0;
80
documentList1.SelectedDirectory = "Program Files";
81
}
82
83
private void DocList_DocumentActivated(Object sender, Microsoft.WindowsCE.Forms.DocumentListEventArgs docevent)
84
{
85
// Add code to open the selected file.
86
87
}
88
89
private void DocList_DeletingDocument(object sender, Microsoft.WindowsCE.Forms.DocumentListEventArgs docevent)
90
{
91
// Add code to close any instances of the file.
92
}
93
94
private void DocList_SelectedDirectoryChanged(object sender, System.EventArgs e)
95
{
96
// Add code to access the selected folder to open and close files.
97
}
98
99
10.private void SendNotification(string message)
100
{
101
// Set the Text property to the HTML string.
102
notification1.Text = message;
103
104
// Get the icon as an embedded resource.
105
// Note that the icon must be added to the project as an embedded resource.
106
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
107
108
109
// Note that the name for the embedded resource
110
// is case sensitive and must match the file name.
111
System.IO.Stream stream = asm.GetManifestResourceStream("PocketPCApplication1.notify.ico");
112
notification1.Icon = new Icon(stream, 16, 16);
113
114
// If the notification is canceled, its icon remains
115
// available for later activating the notification.
116
notification1.InitialDuration = 10;
117
notification1.Visible = true;
118
}
119
120
11.
121
private void LoadPicture()
122
{
123
Bitmap bmpSource;
124
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
125
126
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
127
try
128
{
129
bmpSource = new Bitmap(asm.GetManifestResourceStream("DeviceApplication1.mypicture.bmp"));
130
pictureBox1.Image = bmpSource;
131
}
132
catch (NullReferenceException ex)
133
{
134
}
135
}
136
137
12.
138
public int CTL_CODE(int DeviceType, int Func, int Method, int Access)
139
{
140
return (DeviceType << 16) | (Access << 14) | (Func << 2) | Method;
141
}
142
143
[System.Runtime.InteropServices.DllImport("Coredll.dll")]
144
static extern int KernelIoControl(int dwIoControlCode, IntPtr lpInBuf, int nInBufSize, IntPtr lpOutBuf, int nOutBufSize, ref int lpBytesReturned);
145
146
private int ResetPocketPC()
147
{
148
const int FILE_DEVICE_HAL = 257;
149
const int METHOD_BUFFERED = 0;
150
const int FILE_ANY_ACCESS = 0;
151
152
int bytesReturned = 0;
153
int IOCTL_HAL_REBOOT = CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS);
154
155
return KernelIoControl(IOCTL_HAL_REBOOT, IntPtr.Zero, 0, IntPtr.Zero, 0, ref bytesReturned);
156
}
157
158
13.
159
160
// Shortens the height of a ListBox when the SIP
161
// (Soft Input Panel) is displayed so that the vertical
162
// scroll bar of the ListBox is not obscured by the SIP.
163
164
// Size the ListBox to about the height of the form.
165
// Put the TextBox to the upper right or left of the list box.
166
167
// When the TextBox receives focus, the SIP is enabled.
168
// When the ListBox receives focus, the SIP is disabled.
169
170
int ListBoxFullHeight = 0;
171
// Call this method from the constructor,
172
// or Form_Load event, of your form
173
174
private void SetListBoxFullHeight()
175
{
176
// Determine the original height of the list box.
177
ListBoxFullHeight = listBox1.Height;
178
}
179
180
// The InputPanel.EnabledChanged event
181
// occurs whenever the SIP is enabled or disabled.
182
private void inputPanel1_EnabledChanged(Object sender, System.EventArgs e)
183
{
184
Rectangle VisibleRect;
185
186
if (inputPanel1.Enabled == false)
187
{
188
// The SIP is disabled, so the height of the ListBox
189
// is set to its original full height (ListBoxFullHeight).
190
listBox1.Height = ListBoxFullHeight;
191
}
192
else
193
{
194
// The SIP is enabled, so the height of the ListBox
195
// is set to the height of the visible desktop area,
196
// minus 10 pixels for padding.
197
VisibleRect = inputPanel1.VisibleDesktop;
198
listBox1.Height = VisibleRect.Height - 20;
199
}
200
}
201
private void textBox1_GotFocus(Object sender, System.EventArgs e)
202
{
203
// Display the SIP for entering text.
204
inputPanel1.Enabled = true;
205
}
206
207
private void listBox1_GotFocus(Object sender, System.EventArgs e)
208
{
209
// Hide the SIP.
210
inputPanel1.Enabled = false;
211
}
212
213
14.
214
public class Sound
215
{
216
byte[] sbytes;
217
string fn;
218
private enum Flags
219
{
220
SND_SYNC = 0,
221
SND_ASYNC = 1,
222
SND_NODEFAULT = 2,
223
SND_MEMORY = 4,
224
SND_LOOP = 8,
225
SND_NOSTOP = 16,
226
SND_NOWAIT = 8192,
227
SND_ALIAS = 65536,
228
SND_ALIAS_ID = 1114112,
229
SND_FILENAME = 131072,
230
SND_RESOURCE = 262148
231
}
232
233
[System.Runtime.InteropServices.DllImport("CoreDll.dll", EntryPoint = "PlaySound")]
234
public static extern int WCE_PlaySound(string szSound, IntPtr hMod, int flags);
235
236
[System.Runtime.InteropServices.DllImport("CoreDll.dll", EntryPoint = "PlaySound")]
237
public static extern int WCE_PlaySoundBytes(byte[] szSound, IntPtr hMod, int flags);
238
239
// This class has two overloads. You can either
240
// pass a file name or a stream of the sound file.
241
242
// Construct the Sound object to play sound data from the specified file.
243
public Sound(string fileName)
244
{
245
fn = fileName;
246
}
247
248
// Construct the Sound object to play sound data from the specified stream.
249
public Sound(System.IO.Stream stream)
250
{
251
// read the data from the stream
252
sbytes = new byte[System.Convert.ToInt32(stream.Length)];
253
stream.Read(sbytes, 0, (Convert.ToInt32(stream.Length)));
254
}
255
// Play the sound
256
public void Play()
257
{
258
// If a file name has been registered, call WCE_PlaySound,
259
// otherwise call WCE_PlaySoundBytes.
260
if (!((fn) == null))
261
{
262
WCE_PlaySound(fn, IntPtr.Zero, Convert.ToInt32(Flags.SND_ASYNC | Flags.SND_FILENAME));
263
}
264
else
265
{
266
WCE_PlaySoundBytes(sbytes, IntPtr.Zero, Convert.ToInt32(Flags.SND_ASYNC | Flags.SND_MEMORY));
267
}
268
}
269
}
270
271
15.
272
public enum HashMethod { MD5, SHA1, SHA384 }
273
274
public string GenerateHashDigest(string source, HashMethod algorithm)
275
{
276
HashAlgorithm hashClass = null;
277
switch (algorithm)
278
{
279
case HashMethod.MD5:
280
hashClass = new MD5CryptoServiceProvider();
281
break;
282
case HashMethod.SHA1:
283
hashClass = new SHA1CryptoServiceProvider();
284
break;
285
case HashMethod.SHA384:
286
hashClass = new System.Security.Cryptography.SHA384Managed();
287
break;
288
default:
289
// Error case.
290
break;
291
}
292
293
byte[] byteValue = Encoding.UTF8.GetBytes(source);
294
byte[] hashValue = hashClass.ComputeHash(byteValue);
295
296
return Convert.ToBase64String(hashValue);
297
}
1
16.
2
/// <summary>
3
/// This structure represents a date and time using individual members for
4
/// the month, day, year, weekday, hour, minute, second, and millisecond.
5
/// </summary>
6
public struct SYSTEMTIME
7
{
8
/// <summary>
9
/// Specifies the current year.
10
/// </summary>
11
public ushort wYear;
12
/// <summary>
13
/// Specifies the current month; January = 1, February = 2, and so on.
14
/// </summary>
15
public ushort wMonth;
16
/// <summary>
17
/// Specifies the current day of the week; Sunday = 0, Monday = 1, and so on.
18
/// </summary>
19
public ushort wDayOfWeek;
20
/// <summary>
21
/// Specifies the current day of the month.
22
/// </summary>
23
public ushort wDay;
24
/// <summary>
25
/// Specifies the current hour.
26
/// </summary>
27
public ushort wHour;
28
/// <summary>
29
/// Specifies the current minute.
30
/// </summary>
31
public ushort wMinute;
32
/// <summary>
33
/// Specifies the current second.
34
/// </summary>
35
public ushort wSecond;
36
/// <summary>
37
/// Specifies the current millisecond.
38
/// </summary>
39
public ushort wMilliseconds;
40
}
41
42
/// <summary>
43
/// This function retrieves the current system date and time. The system time
44
/// is expressed in Coordinated Universal Time (UTC).
45
/// </summary>
46
/// <param name="lpSystemTime">[out] Pointer to a SYSTEMTIME structure to
47
/// receive the current system date and time.</param>
48
[DllImport("coredll.dll")]
49
public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);
50
51
/// <summary>
52
/// This function sets the current system time and date. The system time is
53
/// expressed in Coordinated Universal Time (UTC).
54
/// </summary>
55
/// <param name="lpSystemTime">[in] Pointer to a SYSTEMTIME structure that
56
/// contains the current system date and time.</param>
57
/// <returns></returns>
58
[DllImport("coredll.dll")]
59
public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime);
60
61

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

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

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
