当前位置:首页 » 编程语言 » c语言注册注销
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言注册注销

发布时间: 2022-09-27 03:01:32

c语言中如何注册及响应热键

在.h中: public: // User declarations BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_HOTKEY,TMessage,OnHotKey) END_MESSAGE_MAP(TForm) void __fastcall TMainForm::OnHotKey(TMessage &Message); //响应热键消息 在.cpp中: void __fastcall TMainForm::FormCreate(TObject *Sender) { //注册系统热键 if(!RegisterHotKey(Handle,2000,MOD_CONTROL,VK_F12)) //这里注册的热键是Ctrl+F12 ShowMessage("热键注册失败"); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnHotKey(TMessage &Message) { //添加你的代码 TForm::Dispatch(&Message); if (!MainForm->Visible) { MainForm->Show(); MainForm->BringToFront(); } else MainForm->Hide(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action) { UnregisterHotKey(Handle, 2000);//退出程序时注销热键 }

Ⅱ 如何让一个程序被无法关闭

你可以禁用任务管理器啊 再把你下载软件的图标隐藏就行了 开始--运行中输入regedit 打开“注册表编辑器”,找到[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System],在右侧窗格中创建名为DisableTaskMgr的Dword值,将其值设置为1即可禁用“任务管理器”,

Ⅲ C语言实现用户注销功能(用户信息是储存在文件里的)

package com.bird.login;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {

/**
* @category 使用Session处理用户登陆
* @author Bird
*/
private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

String username = request.getParameter("username");
String password = request.getParameter("password");

List<User> list = Db.getAll();
for(User u: list){
if(u.getUsername().equals(username) && u.getPassword().equals(password)){
request.getSession().setAttribute("user", u);//登录成功,将用户数据放入到Session中
response.sendRedirect("/Web/index.jsp");
return;//进行重定向,并且下面的代码不再执行
}
}

out.write("您的应户名或密码错误");
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}

}

class Db{
public static List<User> list = new ArrayList<User>();
static{
list.add(new User("aaa","123"));
list.add(new User("bbb","123"));
list.add(new User("ccc","123"));
}

public static List<User> getAll(){
return list;
}
}

Ⅳ C语言如何实现用户注册登录注销,用户签到功能

数据库实现,可以用MySQL,PostgreSQL,如果数据多一点用Oracle,签到功能在数据库中记录,加密密码用加密方法可以用异或加密。

Ⅳ 饭卡管理系统怎么用C语言来编写注销旧饭卡功能和实现挂失功能

注销删除数据即可
挂失设置一个标志变量(或字段)即可,在操作时先对标志做判断即可

Ⅵ 用C语言实现电脑关机待机重启注销等功能

直接调用shutdown程序吧,shutdown的各种参数可以实现不同的功能
具体方法可以看这个:
http://..com/question/6946.html
不过好像没有待机和注销的功能,可以重启或者关机

Ⅶ C语言注册以后 注销的主函数

那要看你是所有注册过的用户是怎么存的?是有文件存的,还是没有文件,直接用的链表?
如果直接用的链表的话,就直接把链表中的节点删掉就行,
如果是文件存的,可以先把文件里的所有用户信息读取到链表里,然后按照上面的方法将用户从链表删除,然后将链表里的数据重新写回到文件覆盖原来的文件。
done

Ⅷ 用C语言实现电脑关机待机重启注销等功能

可以关机注销这些,可是没跪求不损害电脑情况下关机重启注销的方法。高分啊、补充::我用的是USB鼠标参数功能:将重新启动或关机前超时期限或延迟设置

Ⅸ C语言编写一个 if else 开机输入密码 如果输入密码错误,

我写的代码功能:实现整个登陆模块,使用链表存储临时用户数据(实际软件,链表应该从数据库中加载数据)。管理员登陆可以查看所有用户信息。

实现注册、登陆、验证、注销、查询。

登陆用户分:普通用户和管理员用户。默认我初始一个管理员,你不需要可以删。

验证规则,你可以在我的验证函数中改。

登陆成功以后,具体做什么我没写,留给你自己发挥!!你在我相关注释的位置添加代码。

注意:如果是实际软件开发,注册需要写入数据库,登陆需要读取数据库,你需要在我相关位置添加数据库写入和读取代码。

#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<conio.h>
#defineSIZE20
typedefstructuserInfo//用户信息
{
charuName[SIZE];//用户名
charuPSW[SIZE];//用户密码
intuType;//用户类型:0普通用户;1管理员
structuserInfo*next;
}USERINFO;
intcheckUINFO(char*uName,char*uPSW);//验证用户信息合理性,合理返回1,不合理返回0。
USERINFO*regUser(char*uName,char*uPSW,USERINFO*userHead,USERINFO*userTail,intuType);//注册用户,返回尾节点
intshowMeu1(USERINFO*userHead,USERINFO**userTail);//显示1级菜单
intshowMeu2(intn,USERINFO*userHead,USERINFO**userTail);//显示2级菜单
voidprintfList(USERINFO*userHead);//测试用函数,打印链表所有数据,正常用户不使用
intlogin(char*uName,char*uPSW,USERINFO*userHead);//登陆,登陆成功返回1,失败返回0
voidinitUser();//初始化登陆状态
USERINFOloginUser=
{
{0},
{0},
0,
NULL
};//全局变量当前登陆的用户
intmain()
{
intm;
USERINFOuserHead,*userTail=NULL;
userHead.next=NULL;
//-----测试用添加了一个管理员账户,不需要可以删!!---------------
userTail=regUser("admin123","admin123",&userHead,userTail,1);
//-----------------------------------------------------------------

while(1)
{
//printf("loginUser.uName[0]=%d,loginUser.uType=%d ",loginUser.uName[0],loginUser.uType);
//getch();
if(loginUser.uName[0]==0)
showMeu1(&userHead,&userTail);
elseif(loginUser.uName[0]!=0&&loginUser.uType==0)//普通用户登陆,登陆以后想做的操作添加在这里!!!!!!!!
{
printf("退出登陆输入0 ");
scanf("%d",&m);
if(m==0)
initUser();
continue;
}
elseif(loginUser.uName[0]!=0&&loginUser.uType==1)//管理员登陆,直接打印全部用户数据
{
system("cls");
printf("当前为管理员登陆,打印所有用户信息: ");
printfList(&userHead);//测试用函数,打印链表所有数据,正常用户不使用
printf("退出登陆输入0 ");
scanf("%d",&m);
if(m==0)
initUser();
continue;
}

}

return0;
}
voidinitUser()//初始化登陆状态
{
memset(loginUser.uName,0,SIZE);
memset(loginUser.uPSW,0,SIZE);
loginUser.uType=0;
loginUser.next=NULL;
}
intshowMeu1(USERINFO*userHead,USERINFO**userTail)//显示1级菜单
{
intn;
while(1)
{
system("cls");
printf("1、注册账户 2、登陆账户 ");
scanf("%d",&n);
if(n!=1&&n!=2)
continue;
returnshowMeu2(n,userHead,userTail);
}
}
intshowMeu2(intn,USERINFO*userHead,USERINFO**userTail)//显示2级菜单
{
intm;
charuName[100]={0},uPSW[100]={0};
if(n==1)//注册界面
while(1)
{
system("cls");
printf("注册要求:用户名只包含数字、字母及下划线。 密码必须包含数字及字母。 用户名密码大于6个字符且小于%d! ",SIZE);
printf("请输入用户名:");
scanf("%s",uName);
printf("请输入密码:");
scanf("%s",uPSW);
*userTail=regUser(uName,uPSW,userHead,*userTail,0);
if(!*userTail)
{
printf("注册失败!输入0重新注册,输入1返回主菜单 ");
while(1)
{
scanf("%d",&m);
if(m==0)
break;
if(m==1)
returnn;
}
if(m==0)
continue;
}
else
{
printf("注册成功!按任意键返回。。。。。。 ");
getch();
returnn;
}

}
else//登陆界面
while(1)
{
system("cls");
printf("用户名:");
scanf("%s",uName);
printf("密码:");
scanf("%s",uPSW);
if(!login(uName,uPSW,userHead))
continue;
else
{

returnn;
}

}
return1;
}
voidprintfList(USERINFO*userHead)//测试用函数,打印链表所有数据,正常用户不使用
{
USERINFO*userSave=userHead;
while(userSave->next)
{
printf("用户名:%s ",userSave->next->uName);
printf("密码:%s ",userSave->next->uPSW);
printf("类型:%s ",userSave->next->uType?"管理员":"普通用户");
userSave=userSave->next;
}
}
intlogin(char*uName,char*uPSW,USERINFO*userHead)//登陆,登陆成功返回1,失败返回0
{
USERINFO*userSave=userHead;
while(userSave->next)
{
if(!strcmp(userSave->next->uName,uName)&&!strcmp(userSave->next->uPSW,uPSW))
{
printf("登陆成功");
strcpy(loginUser.uName,uName);
strcpy(loginUser.uPSW,uPSW);
loginUser.uType=userSave->next->uType;
return1;
}
userSave=userSave->next;
}
printf("用户名密码不正确或不存在!按任意键继续。。。。。。 ");
getch();
return0;
}
intcheckUINFO(char*uName,char*uPSW)//验证用户信息合理性,合理返回1,不合理返回0。
{
//用户名和密码的输入规则,在这里添加,要改规则自己加!!!!!!!!!
//我默认规则,用户名大于6个字符且只包含数字、字母及下划线,密码大于6个字符且必须包含数字及字母,用户名密码小于数组上限
inti,len1=strlen(uName),len2=strlen(uPSW),flag1=0,flag2=0;
if(len1>SIZE||len2>SIZE)
{
printf("用户名或密码过长,不得超过%d个字符!! ",SIZE);
return0;
}
if(len1<6||len2<6)
{
printf("用户名或密码必须大于6个字符 ");
return0;
}
for(i=0;i<len1;i++)
{
if(!(uName[i]>=48&&uName[i]<=57)&&!(uName[i]>=65&&uName[i]<=90)&&!(uName[i]>=97&&uName[i]<=122)&&uName[i]!='_')
{
printf("用户名只能包含数字、字母及下划线!! ");
return0;
}
}
for(i=0;i<len2;i++)
{
if(uPSW[i]>=48&&uPSW[i]<=57)
flag1=1;
if((uPSW[i]>=65&&uPSW[i]<=90)||(uPSW[i]>=97&&uPSW[i]<=122))
flag2=1;
}
if(flag1==0||flag2==0)
{
printf("密码必须包含数字及字母!! ");
return0;
}
return1;

}
USERINFO*regUser(char*uName,char*uPSW,USERINFO*userHead,USERINFO*userTail,intuType)//注册用户,返回尾节点
{
USERINFO*userNew=NULL;
if(checkUINFO(uName,uPSW))//通过验证
{
userNew=(USERINFO*)malloc(sizeof(USERINFO));
userNew->next=NULL;
strcpy(userNew->uName,uName);
strcpy(userNew->uPSW,uPSW);
userNew->uType=uType;
}
else
returnNULL;

if(userHead->next==NULL)
userHead->next=userNew;
else
userTail->next=userNew;
userTail=userNew;
//如果是正常软件,这里应该把注册信息写入数据库,数据库insert语句写在这里!!!!

//-----------------------------------------------------------------------------------
returnuserTail;
}

Ⅹ C语言用c写一个可以验证账号,密码和修改密码的程序

#include <string.h>
struct e
{
char a[10];
char b[10];
}z;
int main()
{ int t=0;
char s[10],d[10];
FILE *p;
void as();
if ((p=fopen("m.txt","r+"))==NULL)
{
p=fopen("m.txt","w+");
t=1;
}
if(t==1)
{
printf("当前没有任何用户\n");
printf("请新建用户名: ");
scanf("%s",s);
printf("为用户设置密码: ");
scanf("%s",d);
strcpy(z.a,s);
strcpy(z.b,d);
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
}
if(t==0)
{
printf("请输入用户名: ");
scanf("%s",s);
fscanf(p,"%s %s",z.a,z.b);
fclose(p);
if (!strcmp(z.a,s))
{
printf("请输入密码:");
scanf("%s",d);getchar();
if(!strcmp(z.b,d))
{ char i;
printf("是否要修改密码?(输入y修改,n退出!)");
scanf("%c",&i);
if(i=='y')
{
printf("请输入修改密码:");
scanf("%s",z.b);
p=fopen("m.txt","w+");
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
printf("修改成功!");
}
}
else printf("密码错误!");
}
else printf("用户名错误");
fclose(p);
}
}