请教几个问题(有一点难度)

webptg 2000-01-05 08:33:00
最近我在用VB做一工业控制界面(用工控机控制)。在考虑到
不用鼠标的情况下,有一些问题请教大师:
1.当我用方向键进行控件焦点切换时,焦点到达最后一个控件时
,再按方向键时,将找不到焦点,但按tab键可找回焦点。我希望
按方向亦能进行焦点切换;
2。我希望在应用程序里增加自动关机功能;
3。开机启动后即运行该应用程序。我在计划任务中增加了该应用程序,但开机运行后,该应用程序没有获得焦点,不能响应键盘事件。(工控机上的触摸键)。
不知那位大师做过工业控制界面,请给小弟一点建议。多谢!!
...全文
386 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
webptg 2000-01-21
  • 打赏
  • 举报
回复
安全关机我是这样用的:shell "c:\windows\rundll32.exe user.exe,exitwindows"
不知有没有更好的方法?
渤海海峡 2000-01-07
  • 打赏
  • 举报
回复
ExitWindowsEx

VB声明
Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
说明
退出windows,并用特定的选项重新启动
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
uFlags Long,指定下述一个或多个标志(用OR运算符合并到一起)
EWX_FORCE 强迫中止没有响应的进程
EWX_LOGOFF 中止进程,然后注销
EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以)
EWX_REBOOT 重新引导系统
EWX_SHUTDOWN 关闭系统
dwReserved Long,保留,设为零
注解
这个函数调用后会立刻返回,系统关闭过程是在后台进行的。注意先中止自己的应用程序,使关闭过程更显平顺。当然,您的进程必须有足够的优先权,否则也不能执行这种操作
hephaestus 2000-01-07
  • 打赏
  • 举报
回复
难道不知道有VB API Viewer?
即使没有,有API格式,还不能翻译?
int,long,ULONG,DWORD=long
short int=integer
LPCTSTR=string
BOOL=boolean
BYTE,CHAR,UCHAR=Byte
such as
int *iNum=iNum as long
int iNum=byval iNum as long
...
webptg 2000-01-07
  • 打赏
  • 举报
回复
kxy在吗?
我的意思是怎样在vb模块中对此函数(ExitwindowEx)进行声明,
即 Declare Function ....Lib ...的形式。
webptg 2000-01-07
  • 打赏
  • 举报
回复
kxy在吗?
我的意思是怎样在vb模块中对此函数(ExitwindowEx)进行声明,
即 Declare Function ....Lib ...的形式。
webptg 2000-01-07
  • 打赏
  • 举报
回复
不是pc键盘!
upstream 2000-01-07
  • 打赏
  • 举报
回复
第一个问题:
响应光标键,按你的要求切换焦点。
第三个问题:
面板按键是怎么实现的?是键盘吗?
webptg 2000-01-06
  • 打赏
  • 举报
回复
ExitWindowEx模块声明部分的格式如何,请指教。
flaw 2000-01-06
  • 打赏
  • 举报
回复
可以考虑将你的程序作为系统外壳(shell),修改注册表即可,具体的资料网上肯定找得到。
webptg 2000-01-06
  • 打赏
  • 举报
回复
我们做的这一软件为专用软件,主要用来工厂生产过程的自动控制(环境较为恶劣),
控制时只使用工控机面板上的按键,所以给编程带来了一些麻烦。
平台为windows98,软件用vb6开发。因为考虑到不用鼠标,则开机时程序能自动加载
,程序退出时亦应安全关机。
webptg 2000-01-06
  • 打赏
  • 举报
回复
我的意思是怎样在vb模块中对此函数(ExitwindowEx)进行声明,
即 Declare Function ....Lib ...的形式。
GoldWood 2000-01-06
  • 打赏
  • 举报
回复
能否把问题说的详细点吗?
1.开发环境(硬件,软件);
2.VB的版本;
3.问题的细节。
E-mail:ahbei@sh163a.sta.net.cn
kxy 2000-01-06
  • 打赏
  • 举报
回复
以下是windows API 的帮助
The ExitWindowsEx function either logs off, shuts down, or shuts down and restarts the system.

BOOL ExitWindowsEx(

UINT uFlags, // shutdown operation
DWORD dwReserved // reserved
);


Parameters

uFlags

Specifies the type of shutdown. This parameter must be some combination of the following values:

Value Meaning
EWX_FORCE Forces processes to terminate. When this flag is set, Windows does not send the messages WM_QUERYENDSESSION and WM_ENDSESSION to the applications currently running in the system. This can cause the applications to lose data. Therefore, you should only use this flag in an emergency.
EWX_LOGOFF Shuts down all processes running in the security context of the process that called the ExitWindowsEx function. Then it logs the user off.
EWX_POWEROFF Shuts down the system and turns off the power. The system must support the power-off feature.Windows NT: The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section. Windows 95: Security privileges are not supported or required.
EWX_REBOOT Shuts down the system and then restarts the system. Windows NT: The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section. Windows 95: Security privileges are not supported or required.
EWX_SHUTDOWN Shuts down the system to a point at which it is safe to turn off the power. All file buffers have been flushed to disk, and all running processes have stopped. Windows NT: The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section. Windows 95: Security privileges are not supported or required.


dwReserved

Reserved; this parameter is ignored.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The ExitWindowsEx function returns as soon as it has initiated the shutdown. The shutdown or logoff then proceeds asynchronously.
During a shutdown or log-off operation, applications that are shut down are allowed a specific amount of time to respond to the shutdown request. If the time expires, Windows displays a dialog box that allows the user to forcibly shut down the application, to retry the shutdown, or to cancel the shutdown request. If the EWX_FORCE value is specified, Windows always forces applications to close and does not display the dialog box.

The ExitWindowsEx function sends a separate notification message, CTRL_SHUTDOWN_EVENT or CTRL_LOGOFF_EVENT as the situation warrants, to console processes. A console process routes these messages to its HandlerRoutine functions, which are added and removed by calls to the SetConsoleCtrlHandler function. ExitWindowsEx sends these notification messages asynchronously; thus, an application cannot assume that the console notification messages have been handled when a call to ExitWindowsEx returns.

Windows NT: To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege. For more information about security privileges, see Privileges.
Windows 95: Security privileges are not supported or required.

See Also

AdjustTokenPrivileges, ExitWindows, HandlerRoutine, SetConsoleCtrlHandler
kxy 2000-01-05
  • 打赏
  • 举报
回复
写windows hook不是一两句就能说清楚的,建议你找书来看.window编程的书
都有.
如果你作的是专用软件,可以这样解决,不用编程,但是要保证你的程序安装后机器中不要
按装其他的自运行软件.
windows自运行一般有两个方法
1)在启动菜单中加入

2)HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
中加入
,保证你的程序是最后一个运行的.
webptg 2000-01-05
  • 打赏
  • 举报
回复
kxy,能否将第三个问题的解决方案写得更详细些。谢谢!
kxy 2000-01-05
  • 打赏
  • 举报
回复
1)截获WM_KEYDOWN,使用SetFocus
2)ExitWindowEx (windowsApi 的函数看help即可);
3)作一个window hook吧,就是使用钩子,有按件就 SetWindowPos 吧
你的程序激活.
购课请咨询qq2326321088 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台用java实现客服消息相关功能。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,要求有java基础,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧