嘿,我正在为我的智能手机开发一个小应用程序,使用 Windows Mobile 6。我试图获取所有当前正在运行的 processec,但方法 CreateToolhelp32Snapshot 总是返回 -1。所以现在我卡住了。我试图在调用 GetLastError() 方法时出错,但该方法返回 0 值。这是我的代码片段。
private const int TH32CS_SNAPPROCESS = 0x00000002;
[DllImport("toolhelp.dll")]
public static extern IntPtr CreateToolhelp32Snapshot(uint flags,
uint processid);
public static Process[] GetProcesses()
{
ArrayList procList = new ArrayList();
IntPtr handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if ((int)handle > 0)
{
try
{
PROCESSENTRY32 peCurr;
PROCESSENTRY32 pe32 = new PROCESSENTRY32();
// get byte array to pass to API call
byte[] peBytes = pe32.ToByteArray();
// get the first process
int retval = Process32First(handle, peBytes);
Run Code Online (Sandbox Code Playgroud) 我有一个自定义控件,它是列表的一部分.应显示的文本是通过为其Text属性赋值来设置的.在运行时,此文本从数据库加载.我想在文本前添加字符串"Toelichting:"(荷兰语为"说明").我可以通过将控件的FormatString属性设置为以下来完成此操作:
"Toelichting: {0}"
Run Code Online (Sandbox Code Playgroud)
现在,如果加载的文本是一个空字符串,我想显示"Toelichting: - ",所以最后加上一个短划线.否则,我想显示"Toelichting:MyText".是否可以向FormatString添加一些条件检查代码,以便我可以检查参数是否为空?
在哪里可以找到用于在Visual Studio中开发Compact Framework应用程序的.NET Compact Framework SDK?
有一个名为Contains的字符串方法.它允许您快速搜索字符串以查找另一个字符串.我需要在.netcf 2.0应用程序中使用它,但是根据MSDN,它在3.5框架之前不可用.
任何人都可以提供解决方案(C#)吗?
TIA Noble
我正在尝试处理.NET CF程序如下所示的其他线程上发生的错误:
static void Main()
{
Thread t = new Thread(Start);
t.Start();
...
}
void Start()
{
... Exception here
}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,在Start方法中放置try catch是不可能的.我如何在全局代码中处理它?
我们开始将VB6 WMS应用程序转换为.NET,其中一部分将是手持式扫描仪(例如RF和条形码)MC9090.
微软在Visual Studio 2008之后是否放弃了对Compact Framework的支持?
有哪些选项可用于在此设备上进行开发?
我正在使用 c# 紧凑框架和 vs2008。我面临 Lock 语句的问题。我的应用程序大部分时间都可以运行,但有时仍然挂起。
我尝试过这些
1) Lock(this)
2) lock (Core.Processor.Input.GPSIDInput.gps)
3) Monitor.TryEnter(Core.Processor.Input.GPSIDInput.gps);
try{}
finally{ Monitor.Exit(this); }
Run Code Online (Sandbox Code Playgroud)
为什么当我使用“try catch 块”时锁定失败时它不会出来。
GPS定位系统
[DllImport("coredll.dll")]
static extern int CloseHandle(IntPtr hObject);
public void Close()
{
try
{
lock (Core.Processor.Input.GPSIDInput.gps)
{
if (newLocationHandle != IntPtr.Zero){
CloseHandle(newLocationHandle);
newLocationHandle = IntPtr.Zero;
}......
}
}
catch (Exception excpt)
{
//stack trace
}
}
Run Code Online (Sandbox Code Playgroud)
GPSID输入.cs
namespace Core.Processor.Input
{
public class GPSIDInput
{
.......
public static Gps gps = new Gps();
public static void CloseGPS()
{
gps.Close();
}
} …Run Code Online (Sandbox Code Playgroud) 我必须为 WinCE 7.0 设备(MC3200 移动计算机)开发一个应用程序。谷歌搜索一段时间后,我发现 WinCE 开发只能从 VS 2005/2008 Pro(或更高版本)完成。我也在这里看到了一些答案,但是他们太老了,不值得考虑。
当向产品供应商询问时,他们说我可以使用 Windows Embedded Compact 2013 并在 VS 2012/2013 Pro(或更高版本)中为 WinCE 7.0 开发 C# 应用程序。
根据我的搜索,Windows Embedded Compact 2013本身就是一个操作系统,那么我如何在VS 2013 Pro中使用Windows Embedded Compact 2013来开发WinCE 7.0操作系统?我对 Windows 版本命名及其功能完全感到困惑。有人可以解释一下这个主题吗?
compact-framework windows-ce visual-studio windows-embedded-compact visual-studio-2013
如何使用C#获取Windows Mobile手机上任何驱动器的大小(免费,总计)?
我需要在设备上运行代码(而不是在连接的PC上)执行此操作.
我目前正在使用CF.NET在Windows Mobile中编写一个小应用程序.
该应用程序的行为与电子邮件应用程序非常相似,即我使用POP3从我的邮件服务器帐户下载邮件和附件,以存储在存储卡上,以便使用MIME工具进行进一步处理.
我的问题是下载大型附件,因为在某个时刻我得到一个OutOfMemory异常.我在前几天阅读了这里发布的以下问题和答案,从中发现了一些有趣的事情.由于我的附件可达4-5MB(mp3歌曲),我意识到我有严重的问题.然而,同时Pocket Outlook能够下载高达4-5MB的mp3歌曲而没有任何问题(使用WIFI连接)所以必须有办法做到这一点!
目前,我将下载缓冲区(转换为字符串)保存为一个简单的字符串变量.我尝试将缓冲区的内容添加到stringbuilder中,但我仍然得到OutOfMemory-exceptions.
我可以采取什么策略/技术来克服这个问题?
.net email memory-management compact-framework windows-mobile