小编Ste*_*lla的帖子

关闭旧的应用程序实例

我正在开发一个程序,其中只有一个实例可以运行.我知道我可以应用互斥锁来防止多个实例运行.

但我想要它,所以如果一个新的应用程序实例运行,它应该终止旧的.可执行文件将始终具有相同的名称.

我已经尝试在表单加载事件上运行以下命令;

    Process[] pname = Process.GetProcessesByName(AppDomain.CurrentDomain.FriendlyName.Remove(AppDomain.CurrentDomain.FriendlyName.Length - 4));

    if (pname.Length > 1)
    {
        pname[0].Kill();
    }
Run Code Online (Sandbox Code Playgroud)

哪个实际有效.....每次蓝月亮一次.说真的,它工作..第一次,第二次应用程序将根本不加载.如果我运行它大约5次,它可能会运行.

它似乎不太可靠,是否有人可能有更优雅的解决方案?

谢谢!

c#

5
推荐指数
1
解决办法
2305
查看次数

一种来回摇摆价值的方法

我正在做一个小游戏,我有一些我想要升高和降低的物体.对象移动到Y的最大值 - >对象移动到Y的最小值 - >重复.我对如何做到这一点有一个大概的想法,我会把它放在一个计时器/我的更新方法中.

if(Y >= max)
{
    direction = "down";
}
if(y =< min)
{
    direction = "up";
}

if(direction == "up") Y -= speed;
if(direction == "down") Y += speed;
Run Code Online (Sandbox Code Playgroud)

(也可以使用bool of course,但为了隐瞒)

但感觉我只是在重新发明轮子,是否有任何机会内置方法/数学函数自动执行此操作?例如.SomeFunction(min,max,increment).我正在使用XNA框架,因此内置的功能也是受欢迎的.

c# xna

2
推荐指数
1
解决办法
79
查看次数

标签 统计

c# ×2

xna ×1