问个发消息的问题Windows系统(通用4篇)由网友“jiazhong”投稿提供,下面是小编给各位读者分享的问个发消息的问题Windows系统,欢迎大家分享。
篇1:问个发消息的问题Windows系统
我想做到SEND一个MSG给一个用户,让用户第一时间看到这个MSG 如果用SNDBRKMSG的话,如果这个用户不在线,当他登陆的时候,这条消息也不会弹出来,必须DSPMSG才能看到, 怎么样才能做到当这个用户登陆的时候,让这个消息第一时间弹
我想做到SEND一个MSG给一个用户,让用户第一时间看到这个MSG
如果用SNDBRKMSG的话,如果这个用户不在线,当他登陆的时候,这条消息也不会弹出来,必须DSPMSG才能看到。
怎么样才能做到当这个用户登陆的时候,让这个消息第一时间弹出来显示给用户??? :em06: :em06:
zzzddd 回复于:-03-21 15:27:19改它的usrprf,让他的Delivery . . . . . . . . . . . . DLVRY *BREAK ,这样就可以了!
xuguopeng 回复于:2005-03-21 17:09:53那个我已经试过了 不行的
如果这个用户他在系统里面,SNDBRKMSG他会马上看到
可如果他不在线,过后登陆到系统的时候,这条消息是不弹出来的
只能用DSPMSG看才行。。。。。。。。。
Ginger 回复于:2005-03-21 18:49:08[quote:0cd0f247ca=“zzzddd”]改它的usrprf,让他的Delivery . . . . . . . . . . . . DLVRY *BREAK ,这样就可以了![/quote:0cd0f247ca]
这样改了后,sndmsg后确实是可以了,但问题也来了,所有的消息都会弹出来,如JOB结束的MSG,这样会很烦~
PS: sndbrkmsg偶没有找到发送给USR的选项啊,好像是只能发给station吧,请教如用该CMD发给USR应如何操作?
TKS!
mamei 回复于:2005-03-22 09:22:45前段时间,我鼓捣过这个,
写了一个CL
回去我把源码给你参考一下!!
xuguopeng 回复于:2005-03-22 10:08:19我想能否设置发送MSG的Severity code呢??
如果可以设置Severity code的话 就可以更改Severity code filter来取得自己要的消息了。。。
zzzddd 回复于:2005-03-22 11:03:28应该可以的亚!你可以自己定义消息吧!
xuguopeng 回复于:2005-03-22 11:34:38知道了~ 发个消息还的建MSGF
YZG 回复于:2005-03-23 12:04:03我试做了一个.
命令界面
效果画面
YZG 回复于:2005-03-23 12:16:28第一步:修改用户登录的初始程序
初始程序代码如下:
/************************************************** */
/* CLP - INTPGM - INITIAL PROGRAM */
/************************************************** */
PGM
DCL VAR(&MSGQ) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGQLIB) TYPE(*CHAR) LEN(10)
RTVUSRPRF MSGQ(&MSGQ) MSGQLIB(&MSGQLIB)
CHGMSGQ MSGQ(&MSGQLIB/&MSGQ) DLVRY(*BREAK) +
PGM(YAOLIB/RCVBRKMSG)
CALL PGM(QSYS/QCMD)
RETURN
ENDPGM
YZG 回复于:2005-03-23 12:23:28第二步: 建立MESSAGE接受程序
代码如下:
/* ************************************************* */
/* CLP - RCVBRKMSG - RECEIVE BREAK MESSAGE */
/* ************************************************* */
PGM PARM(&MSGQ &MSGQLIB &MSGKEY)
DCL VAR(&MSGQ ) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGQLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGKEY ) TYPE(*CHAR) LEN(4)
DCL VAR(&MSGDTA ) TYPE(*CHAR) LEN(200)
DCL VAR(&MSGID ) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGF ) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGTXT ) TYPE(*CHAR) LEN(200)
DCL VAR(&BLANK ) TYPE(*CHAR) LEN(78)
DCL VAR(&INDEX ) TYPE(*DEC) LEN(2 0) VALUE(78)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))
/* ************************************************* */
/* RECEIVE BREAK MESSAGE */
/* ************************************************* */
RCVMSG MSGQ(&MSGQLIB/&MSGQ) +
MSGKEY(&MSGKEY) +
RMV(*YES) +
MSG(&MSGTXT) +
MSGDTA(&MSGDTA) +
MSGID(&MSGID) +
MSGF(&MSGF) +
SNDMSGFLIB(&MSGFLIB)
/* ************************************************* */
/* RECEIVE BREAK MESSAGE */
/* ************************************************* */
IF COND(&MSGID = ' ') THEN(DO)
CHGVAR VAR(&MSGID ) VALUE('CPF9898')
CHGVAR VAR(&MSGFLIB) VALUE('QSYS')
CHGVAR VAR(&MSGF ) VALUE('QCPFMSG')
CHGVAR VAR(&MSGDTA ) VALUE(&MSGTXT)
ENDDO
/* ************************************************* */
/* AS STATUS MESSAGE TO RESEND */
/* ************************************************* */
LOOP: CHGVAR VAR(&MSGDTA) VALUE(%SST(&BLANK 1 &INDEX) +
*CAT &MSGTXT)
SNDPGMMSG MSGID(&MSGID) +
MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGDTA) +
TOPGMQ(*EXT) +
MSGTYPE(*STATUS)
CHGVAR VAR(&INDEX) VALUE(&INDEX - 2)
IF COND(&INDEX *GT 0) THEN(GOTO CMDLBL(LOOP))
SNDPGMMSG MSGID(&MSGID) +
MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGTXT) +
TOPGMQ(*EXT) +
MSGTYPE(*STATUS)
RETURN
ERROR: RCVMSG MSGDTA(&MSGDTA) +
MSGID(&MSGID) +
MSGF(&MSGF)
SNDPGMMSG MSGID(&MSGID) +
MSGF(&MSGF) +
MSGDTA(&MSGDTA) +
MSGTYPE(*ESCAPE)
ENDPGM
YZG 回复于:2005-03-23 12:25:59第三步:建立CMD
代码如下:
/* ************************************************************* */
/* COMMAND - SNDCMSG - SEND COLOR MESSAGE */
/* */
/* COPYRIHGT (C) 2005 YAO ZHONGGUANG. ALL RIGHTS RESERVED. */
/* ************************************************************* */
CMD PROMPT('Send Colored Message')
PARM KWD(USER) +
TYPE(*NAME) +
LEN(10) +
PROMPT('User')
PARM KWD(MSG) +
TYPE(*CHAR) +
LEN(80) +
PROMPT('Message')
PARM KWD(COLOR) +
TYPE(*CHAR) +
LEN(1) +
RSTD(*YES) +
DFT(*WHITE) +
SPCVAL((*GREEN X'20') +
(*WHITE X'22') +
(*RED X'28') +
(*TURQUOISE X'30') +
(*YELLOW X'32') +
(*PINK X'38') +
(*BLUE X'3A')) +
PROMPT('Color')
YZG 回复于:2005-03-23 12:27:06第四步:建立CMD所执行的CLP
代码如下:
/* ************************************************************* */
/* CLP - SNDCMSGC - SEND COLOR MESSAGE */
/* */
/* COPYRIHGT (C) 2005 YAO ZHONGGUANG. ALL RIGHTS RESERVED. */
/* ************************************************************* */
PGM PARM(&USER &MSG &COLOR)
DCL VAR(&USER ) TYPE(*CHAR) LEN(10)
DCL VAR(&MSG ) TYPE(*CHAR) LEN(80)
DCL VAR(&COLOR ) TYPE(*CHAR) LEN( 1)
DCL VAR(&MSGF ) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGID ) TYPE(*CHAR) LEN( 7)
DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(80)
DCL VAR(&MSGTXT) TYPE(*CHAR) LEN(82)
DCL VAR(&WHITE ) TYPE(*CHAR) LEN( 1) VALUE(X'22')
DCL VAR(&NORMAL) TYPE(*CHAR) LEN( 1) VALUE(X'20')
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))
/* ************************************************************* */
/* */
/* ************************************************************* */
CHKOBJ OBJ(&USER) OBJTYPE(*USRPRF)
CHGVAR VAR(&MSGTXT) VALUE(&MSG)
IF COND(&COLOR *NE &WHITE) THEN(DO)
CHGVAR VAR(&MSGTXT) +
VALUE(&COLOR *TCAT &MSGTXT)
ENDDO
SNDMSG MSG(&MSGTXT) TOUSR(&USER)
RETURN
/* ************************************************************* */
/* */
/* ************************************************************* */
ERROR: RCVMSG MSGDTA(&MSGDTA) +
MSGID(&MSGID) +
MSGF(&MSGF)
SNDPGMMSG MSGID(&MSGID) +
MSGF(&MSGF) +
MSGDTA(&MSGDTA) +
MSGTYPE(*ESCAPE)
ENDPGM
YZG 回复于:2005-03-23 12:35:08以下是用户登录成功后的画面.
qingzhou 回复于:2005-03-23 12:56:41[quote:c3bb799d6c=“xuguopeng”]知道了~ 发个消息还的建MSGF[/quote:c3bb799d6c]
1、ADDLIBLE LIB_Name
2、WRKMSGF USRMSG
3、12=Work with message description
4、F6=Add
5、Input :
●Message identifier;
●First-level message text;
●Severity code
xuguopeng 回复于:2005-03-23 13:11:40YGZ和QINGZHOU说的都不错
YGZ的CLP不错,但我的要求没那么烦琐拉~ 建一个MSGF就搞定了,
。。。。
我只是要通过WRKACTJOB的结果校验CPU的使用以及PGM的状态
如果PGM有MSGW时,发出BREAK消息,并写JOBLOG
同时也CHECK QSYSOPR中的*INQ的MSG
我试过用API获得CPU的使用率,但好象返回的结果都不理想,基本都是0
原文转自:www.ltesting.net
篇2:问个关于系统MSG的问题?Windows系统
请问:在系统中msgid为CPF开头的msg存放在那个msgfile中? xuguopeng 回复于:-02-17 14:49:34 QCPFMSG smileknight 回复于:2004-02-17 15:48:39 qcpfmsg 红像 回复于:2004-02-17 17:34:58 用DSPMSGDDETAIL(*BASIC)OUTPUT(*PRINT)然后到SPLF里面找QCPF
请问:在系统中msgid为CPF开头的msg存放在那个msg file 中?
xuguopeng 回复于:2004-02-17 14:49:34QCPFMSG
smileknight 回复于:2004-02-17 15:48:39qcpfmsg
红像 回复于:2004-02-17 17:34:58用DSPMSGD DETAIL(*BASIC) OUTPUT(*PRINT) 然后到SPLF里面找QCPFMSG, 拖到桌面就可以看. 当字典查很方便的...
XFIVE 回复于:2004-02-18 11:16:43IBM 的Referrance 上有的查起来很方便的!!
michael9406 回复于:2004-02-18 23:04:49use the online help.. only press F1 .. ha ha you will see.
stephenxie 回复于:2004-02-19 14:01:56好像以前的贴子里说明得很明白了!
bbs.chinaunix.net/forum/viewtopic.php?t=222910&highlight=stephenxie2003
stephenxie2003 回复于:2004-02-19 14:17:05[quote:a413abdb9d=“红像”]用DSPMSGD DETAIL(*BASIC) OUTPUT(*PRINT) 然后到SPLF里面找QCPFMSG, 拖到桌面就可以看. 当字典查很方便的...[/quote:a413abdb9d]
SPLF里面产成的是QPCSMPRT?
原文转自:www.ltesting.net
篇3:windows系统权限问题
最近在工作中,经常会因为各种系统的访问问题,而遇到很多的权限问题,所以系统的了解下windows 系统的权限问题,也是挺好的,方便解决一些配置问题。
DOS跟WinNT的权限的分别
DOS是个单任务、单用户的操作系统。但是我们能说DOS没有权限吗?不能!当我们打开一台装有DOS操作系统的计算机的时候,我们就拥有了这个操作系统的管理员权限,而且,这个权限无处不在。所以,我们只能说DOS不支持权限的设置,不能说它没有权限。随着人们安全意识的提高,权限设置随着NTFS的发布诞生了。
WindowsNT里,用户被分成许多组,组和组之间都有不同的权限,当然,一个组的用户和用户之间也可以有不同的权限。下面我们来谈谈NT中常见的用户组。
Administrators,管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。分配给该组的默认权限允许对整个系统进行完全控制。所以,只有受信任的人员才可成为该组的成员。
PowerUsers,高级用户组,Power Users 可以执行除了为 Administrators 组保留的任务外的其他任何操作系统任务,
分配给 PowerUsers 组的默认权限允许 Power Users 组的成员修改整个计算机的设置。但Power Users 不具有将自己添加到 Administrators组的权限。在权限设置中,这个组的权限是仅次于Administrators的。
Users:普通用户组,这个组的用户无法进行有意或无意的改动。因此,用户可以运行经过验证的应用程序,但不可以运行大多数旧版应用程序。Users组是最安全的组,因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料。Users 组提供了一个最安全的程序运行环境。在经过 NTFS格式化的卷上,默认安全设置旨在禁止该组的成员危及操作系统和已安装程序的完整性。用户不能修改系统注册表设置、操作系统文件或程序文件。Users可以关闭工作站,但不能关闭服务器。Users 可以创建本地组,但只能修改自己创建的本地组。
Guests:来宾组,按默认值,来宾跟普通Users的成员有同等访问权,但来宾帐户的限制更多。
Everyone:顾名思义,所有的用户,这个计算机上的所有用户都属于这个组。
其实还有一个组也很常见,它拥有和Administrators一样、甚至比其还高的权限,但是这个组不允许任何用户的加入,在察看用户组的时候,它也不会被显示出来,它就是SYSTEM组。系统和系统级的服务正常运行所需要的权限都是靠它赋予的。由于该组只有这一个用户SYSTEM,也许把该组归为用户的行列更为贴切。
最后,经常用的是Run as administrator。需要继续深入了解啊。。前面的一些分组,之后也该去深入了解更具体。先说个大概了。。
篇4:问个简单的问题,怎样能够取到文件的中间部分?Windows系统
如文件a.txt有10W行,怎么取中间40000-50000行 dragonlong 回复于:2004-02-27 15:27:24 脑袋里忽然冒出一个笨方法: head-50000a.txt|tail-10001 lansworld 回复于:2004-02-27 15:34:36 tail不能取大于20k的数据,不行 谢谢,还有别的方法吗 lansworld 回复于
如文件a.txt有10W行,怎么取中间40000-50000行
dragonlong 回复于:2004-02-27 15:27:24脑袋里忽然冒出一个笨方法:
head -50000 a.txt | tail -10001
lansworld 回复于:2004-02-27 15:34:36tail 不能取大于20k的数据,不行
谢谢,还有别的方法吗
lansworld 回复于:2004-02-27 16:29:33已经请教到了一个方法:
cat a.txt | sed “40001,50000w a_1.txt” >/dev/null
dragonlong 回复于:2004-02-27 16:44:33那
sed -n '40001,50000p' a.txt >a_1.txt
也应该可以吧?
williamCU 回复于:2004-02-27 18:35:04[quote:5c42f03ca2=“lansworld”]已经请教到了一个方法:
cat a.txt | sed “40001,50000w a_1.txt” >/dev/null[/quote:5c42f03ca2]
感谢分享!!!
希望这里的每个人都能像你这样:
将问题的最终解决方案告诉大家,而不是有了问题就来问,拿到答案就消失了,
问个简单的问题,怎样能够取到文件的中间部分?Windows系统
,
事实上这里的80%的问题都是不了了之,最终答案只有提问人自己知道。
这是不是一种悲哀。。
对付这样的人,也有办法-请大大们以后不回答他的问题。。
Janson-Chen 回复于:2004-02-27 23:45:31是啊,大家在解决问题后,尽量更够将解决方法告诉大家。大家都学会了,以后避免走弯路嘛。
lansworld 回复于:2004-05-08 16:05:21perl -p -i -e 's/HZA2/HZA4/g' $994_DEST/*.txt
.netzh 回复于:2004-05-09 13:30:18[quote:d7523b82f7=“williamCU”]
感谢分享!!!
希望这里的每个人都能像你这样:
将问题的最终解决方案告诉大家,而不是有了问题就来问,拿到答案就消失了。
事实上这里的80%的问题都是不了了之,最终答案只有提问人自己知道。
这是不是一种..........[/quote:d7523b82f7]
强烈支持
原文转自:www.ltesting.net
★ 春节中的准备作文
★ 请问,HP终端上用来配置核心参数的那个程序叫什么?Windows系统
★ 个人周工作汇报

【问个发消息的问题Windows系统(通用4篇)】相关文章:
立夏时节祝福语 立夏祝福语2024-03-29
计算机基础课程教学总结2023-05-14
建筑设计实习周记2024-03-09
建筑工程实习周记参考2023-09-19
点赞虽好,更应发声的随笔2023-03-28
22年新年贺词2022-05-06
计算机生产实习报告2023-07-02
苹果落地教案2022-07-21
立夏朋友圈文案句子2022-04-30
《苹果落地》教学设计2023-03-20