如何屏蔽按回车自动退出?

  [问题提出]
  我是VC初学者,遇到不解问题..
  操作系统:WIN98 OR WIN2000
  开发工具:VC6。0
  在VC6中加入对话框,并放入编辑框,运行后,在编辑框中输入一些字母并按回车,程序自动退出,不知为什么??
对话框中的默认按钮已删除
  [解决方法]
  重载CDialog::OnOK();
  [程序实现]
  假设你已有了名为My的对话框工程.有一个Edit.在资源编辑(ResourceView)中双击此确定按钮,生成MyDlg::OnOK().
  void CMyDlg::OnOK()
  {
   // TODO: Add extra validation here
   
   //CDialog::OnOK();//此句注释掉.
  }
[解决方法2]//Hunpo326提供
重载CDialog::PreTranslateMessage(MSG* pMsg);
[程序实现]
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
   if(pMsg->message == WM_KEYDOWN)
    {
        switch(pMsg->wParam)
        {
        case VK_RETURN:    // 屏蔽回车
            return true;
        }
    }
    
    return CDialog::PreTranslateMessage(pMsg);
}
 
# launcher.py import subprocess import time import requests import os import sys def get_resource_path(relative_path): """获取资源真实路径,兼容 PyInstaller 打包""" try: base_path = sys._MEIPASS except Exception: base_path = os.path.dirname(os.path.abspath(__file__)) return os.path.join(base_path, relative_path) # ✅ 改为指向 backend 目录下的 Python 模块 BACKEND_DIR = get_resource_path("backend") FLUTTER_APP = get_resource_path("flutter_app\\ai_assistant.exe") PYTHON_EXECUTABLE = "python" # 或者用绝对路径 "python.exe" def wait_for_api(url, timeout=30): start_time = time.time() while time.time() - start_time < timeout: try: resp = requests.get(url, timeout=2) if resp.status_code == 200 and resp.json().get("status") == "ok": print("✅ API 已就绪") return True except Exception as e: print(f"❌ API 尚未就绪: {e}") time.sleep(1) return False def main(): print("🎮 启动 AI 助手整合包...") print(f"📌 当前工作目录: {os.getcwd()}") # 检查 backend 是否存在 if not os.path.exists(BACKEND_DIR): print(f"❌ 找不到 backend 目录: {BACKEND_DIR}") input("按回车退出...") return if not os.path.exists(FLUTTER_APP): print(f"❌ 找不到 Flutter 应用: {FLUTTER_APP}") input("按回车退出...") return # ✅ 使用 python -m backend.main 启动后端 print("🔧 启动 Python AI 助手服务...") try: process = subprocess.Popen( [PYTHON_EXECUTABLE, "-m", "backend.main"], cwd=os.path.dirname(BACKEND_DIR), creationflags=subprocess.CREATE_NEW_PROCESS_GROUP, env={**os.environ, "PYTHONPATH": os.path.dirname(BACKEND_DIR)} # 确保能 import ) except FileNotFoundError: print("❌ 找不到 Python 解释器,请安装 Python 或使用虚拟环境打包") input("按回车退出...") return except Exception as e: print(f"❌ 启动失败: {e}") input("按回车退出...") return print("⏳ 等待 API 就绪...") if not wait_for_api("http://127.0.0.1:5000/api/health"): print("❌ API 启动失败或超时") process.terminate() input("按回车退出...") return print(f"📱 启动 Flutter 前端: {FLUTTER_APP}") try: subprocess.Popen([FLUTTER_APP], cwd=os.path.dirname(FLUTTER_APP)) except Exception as e: print(f"❌ 启动 Flutter 失败: {e}") input("按回车退出...") return print("🎉 系统已启动,正在运行中...") try: while True: time.sleep(1) except KeyboardInterrupt: process.terminate() if __name__ == "__main__": main() 已有的launcher
最新发布
10-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值