#region 私有变量
private int heightMax, widthMax;//窗体的最大高度和宽度
public int StayTime = 1;//定时器时间间隔
#endregion #region 封装窗体高度宽度
public int HeightMax
{
set
{
heightMax = value;
}
get
{
return heightMax;
}
} public int WidthMax
{
set
{
widthMax = value;
}
get
{
return widthMax;
}
}
#endregion #region 窗体加载事件
public AttentionProgram()
{
InitializeComponent();
}
private void AttentionProgram_Load(object sender, EventArgs e)
{
#region 窗体d出用到的数据
Screen[] screens = ScreenAllScreens; //得到所有显示器 Screen screen = screens[0]; //得到显示器对象 thisLocation = new Point(screenWorkingAreaWidth - thisWidth, screenWorkingAreaHeight - thisHeight);//初始化当前的消息提示窗体的坐标位置 thistimer2Interval = StayTime;//初始化第二个计时器 与第一个计时器的时间间隔
#endregion }
#endregion #region 定时器事件
private void timer1_Tick(object sender, EventArgs e)
{
ScrollUp();
}
private void timer2_Tick(object sender, EventArgs e)
{
thisGetReleaseInfo();
thistimer2Enabled = false;//禁用第二计时器,启用第三计时器
thistimer3Enabled = true;
}
private void timer3_Tick(object sender, EventArgs e)
{
ScrollDown();
}
#endregion #region 方法
public void ScrollShow()
{
thisHeight = 0; //初始化当前移动窗体的高度
thisShow(); //将其显示出来
thistimer1Enabled = true; //开始调用第一个计时器 }
private void ScrollDown()
{
if (thisHeight > 35)
{
thisHeight = thisHeight - 10;
thisLocation = new Point(thisLocationX, thisLocationY + 10); //得到当前的坐标位置
}
else
{
thistimer3Enabled = false;
thisClose();
}
}
private void ScrollUp()
{
if (thisHeight < heightMax)//判断当前的高度是不是小于最大高度,如果是的,就增加高度
{
thisHeight = thisHeight + 10; thisLocation = new Point(thisLocationX, thisLocationY - 10);//设置当前窗体的坐标位置
}
else
{
thistimer1Enabled = false; //当前高度不小于最大高度时,就将计时器一禁用,启用计时器二 thistimer2Enabled = true;
}
}
打开记事本,然后将下面的代码复制进去,然后打开记事本的“文件”菜单,选择“另存为”,在d出的窗口中将“保存类型”这一栏选择为“所有文件”,然后在“文件名”这一栏改为 任意文件名vbs
注意:后缀名一定要填成"vbs"(或者"vbe"也可以)!
保存的路径随意,你可以选择保存在桌面上(建议如此)
这时在你刚才保存的路径下就会出现一个名为“任意文件名vbs”(在没有隐藏文件扩展名的情况下)的文件
然后你双击运行这个“任意文件名vbs”的程序后会没有任何反应(无任何界面d出),但过了两分钟之后你想要达到的效果就出现了
复制下面的代码:
dim wshobj
set wshobj=createobject("wscriptshell")
wscriptsleep 120000
wshobjrun "cmdexe /c ntsd /c q /pn QQexe",0,true
楼上的批处理代码在某些 *** 作系统上会出现错误,比如:Microsoft Windows XP Home Edition(XP家庭版)
这个版本上不支持"tasklist和taskkill这两个命令"
strComputer = ""
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService _
ExecNotificationQuery("select from _instancecreationevent " _
& " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcessesNextEvent
If objLatestProcessTargetInstanceName = "nocrossproxyexe" Then
objLatestProcessTargetInstanceTerminate
End If
这个程序的作用只要一发现crossproxyexe进程就关闭,但然你想关闭这个程序也是可以的!
在任务管理器中关闭WScriptexe就可以了!
使用END语句
End 语句不调用 Unload、QueryUnload、或 Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。窗体和类模块中的 Unload、QueryUnload、和 Terminate 事件代码未被执行。类模块创建的对象被破坏,由 Open 语句打开的文件被关闭,并且释放程序所占用的内存。其它程序的对象引用无效。
End 语句提供了一种强迫中止程序的方法。Visual Basic 程序正常结束应该卸载所有的窗体。只要没有其它程序引用该程序公共类模块创建的对象并无代码执行,程序将立即关闭。
icelaker - 秀才 二级 和 xzp1984 - 见习魔法师 二级都是用UNLOAD方法
当所占内存另有它用,或需要重新设置窗体、控件的属性为初始值时,就有必要卸载窗体或控件。
在卸载窗体前,会发生 Query_Unload 事件过程,然后是 Form_Unload 事件过程。在其中任一过程中设置 cancel 参数为 True 可防止窗体被卸载。若为 MDIForm 对象,先发生 MDIForm 对象的 Query_Unload 事件过程,接着是各 MDI 子窗体 的 Query_Unload 事件过程和 Form_Unload 事件过程,最后是 MDIForm 对象的 Form_Unload 事件过程。
当窗体卸载之后,所有在运行时 放到该窗体上的控件都不再是可访问的。在设计时放到该窗体上的控件将保持不变;但是,当窗体重新加载时,在运行时对这些控件及其属性的任何更改将丢失。所有对于窗体属性的更改也将丢失。对窗体上任何控件的访问会导致窗体重新加载。
注意 在卸载窗体时,只有显示的部件被卸载。和该窗体模块相关联的代码还保持在内存中。
只有在运行时添加到窗体上的控件数组元素才能用 Unload 语句卸载。重新加载被卸载的控件时,其属性会被重新初始化。
换句话说,UNLOAD方法只是关闭一个窗口,并没有真正退出
以上是关闭的使用方法,至于时间,查看系统时间或者自动记数(使用STATIC变量)完成定时
1、在设定好timer的时间,并在他的激活事件中加入一条
end
语句,将它的enabled设为False
2、在click事件中将timerenabled
设为true
出现这种情况与溢出造成的有关 ,可以设置断点观察下,在哪里自动关闭。常见的容易溢出的原因是第一个是数组下标越界,第二个是除数为0当然还有其他的。
常见的原因因为程序没有设置暂停,运行完了之后,就自动关闭。可以在程序最后加上getchar();或者 system(pause)。实现程序暂停的效果。
pause是cmd中的一个命令,通过system函数调用执行。这样程序会在执行这个之后结束,换句话说就是按任意键退出,而不会直接退出。
扩展资料
C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单;
初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。
关键字又称为保留字,就是已被C语言本身使用,不能作其它用途使用的字。例如关键字不能用作变量名、函数名等标识符。
数据类型关键字:
short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)
long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)
long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)
signed:修饰整型数据,有符号数据类型。(C89标准新增)
unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的初始且唯一的方式。(C99标准新增)
复杂类型关键字:
struct:结构体声明。(K&R时期引入)
union:联合体声明。(K&R时期引入)
enum:枚举声明。(C89标准新增)
typedef:声明类型别名。(K&R时期引入)
sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)
inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)
以上就是关于用C#语言编写一个简单程序,要求点击关闭的时候窗口慢慢消失然后自动关闭,求准确代码。全部的内容,包括:用C#语言编写一个简单程序,要求点击关闭的时候窗口慢慢消失然后自动关闭,求准确代码。、求能让软件运行一会自动关的bat或vbs程序。。。不晓得有没、求一个可以自动关闭某进程的程序代码 要求:最好是用vbs,程序进程不要一次性的要长时间存在,一发现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)