移动开发 在pda程序中使用xml文件保存程序配置设置 2008-03-26 15:05
<?xml version="1.0" encoding="utf-8" ?>
<Setting>
<Item Key="PDAServer">
<value>http://10.116.196.224/PDAServer/Service.asmx</value>
</Item>
</Setting>
Public Function GetUrl() As String
Dim xmlNode As XmlNode
Try
XmlDoc = New XmlDocument()
XmlDoc.Load(Path)
xmlNode = XmlDoc.SelectSingleNode("//Item[@Key='PDAServer']")
Return xmlNode.InnerText.ToString
Catch ex As Exception
' Throw ex
Return String.Empty
End Try
End Function
Public Function SaveUrl(ByVal Url As String) As Boolean
Dim xmlNode As XmlNode
Try
XmlDoc = New XmlDocument()
XmlDoc.Load(Path)
xmlNode = XmlDoc.SelectSingleNode("//Item[@Key='PDAServer']")
xmlNode.InnerText = Url
XmlDoc.Save(Path)
Return True
Catch ex As Exception
Throw ex
Finally
End Try
End Function
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace ResetPocketPC
{
class ResetPocketPC
{
public const uint FILE_DEVICE_HAL = 0x00000101;
public const uint METHOD_BUFFERED = 0;
public const uint FILE_ANY_ACCESS = 0;
public uint CTL_CODE(uint DeviceType, uint Function, uint Method, uint Access)
{
return ((DeviceType << 16) | (Access << 14) | (Function << 2) | Method);
}
[DllImport("Coredll.dll")]
public extern static uint KernelIoControl
(
uint dwIoControlCode,
IntPtr lpInBuf,
uint nInBufSize,
IntPtr lpOutBuf,
uint nOutBufSize,
ref uint lpBytesReturned
);
//调用此方法软重启
public uint ResetPocketPC()
{
uint bytesReturned = 0;
uint IOCTL_HAL_REBOOT = CTL_CODE(FILE_DEVICE_HAL, 15,METHOD_BUFFERED, FILE_ANY_ACCESS);
return KernelIoControl(IOCTL_HAL_REBOOT, IntPtr.Zero, 0,IntPtr.Zero, 0, ref bytesReturned);
}
}
}
//调用
private void button1_Click(object sender, EventArgs e)
{
DialogResult r = MessageBox.Show(
"你确定要重启吗?",
"Test",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2
);
if (r == DialogResult.Yes)
{
ResetMobile RsMobile = new ResetMobile();
RsMobile.ResetPocketPC();
}
}