当前位置: 首页 > news >正文

自己建网站做代理商鞍山天乙网络推广有限公司

自己建网站做代理商,鞍山天乙网络推广有限公司,兰州网络公司排名,宾馆做网站Rust练手项目#xff0c;写个有趣的小工具 代码 继续练习Rust, 写个小工具定时从一言网获取一段有趣的话并提示#xff0c;如下 练习以下Rust点 并发编程 Mutex, Arc指针使用HTTP请求Windows Gui 代码 Cargo.toml [package] name funny_word edition 20… Rust练手项目写个有趣的小工具 代码 继续练习Rust, 写个小工具定时从一言网获取一段有趣的话并提示如下 练习以下Rust点 并发编程 Mutex, Arc指针使用HTTP请求Windows Gui 代码 Cargo.toml [package] name funny_word edition 2021 version.workspace true authors.workspace true description.workspace true[dependencies] trayicon 0.2.0 winapi { version 0.3.9, features [winuser,windef,minwindef,shellapi,libloaderapi,commctrl,basetsd, ] } win-toast-notify 0.1.6 windows { version 0.58.0, features [Win32_Security,Win32_System_Threading,Win32_UI_WindowsAndMessaging, ] } reqwest { version 0.11, features [blocking] } [package] name funny_word edition 2021 version.workspace true authors.workspace true description.workspace true[dependencies] trayicon 0.2.0 winapi { version 0.3.9, features [winuser,windef,minwindef,shellapi,libloaderapi,commctrl,basetsd, ] } win-toast-notify 0.1.6 windows { version 0.58.0, features [Win32_Security,Win32_System_Threading,Win32_UI_WindowsAndMessaging, ] } reqwest { version 0.11, features [blocking] }main.rs #![windows_subsystem windows] use core::mem::MaybeUninit; use std::{sync::{Arc, Mutex},thread::sleep,time::Duration, }; use trayicon::*; use win_toast_notify::WinToastNotify; use winapi::um::winuser;fn main() {#[derive(Copy, Clone, Eq, PartialEq, Debug)]enum Events {RightClickTrayIcon,LeftClickTrayIcon,OneMinute,FiveMinute,FifteenMinute,HalfHour,OneHour,Exit,}let (sender, receiver) std::sync::mpsc::channel::Events();let icon_bytes include_bytes!(rust.ico);let mut tray_icon TrayIconBuilder::new().sender(move |e: Events| {let _ sender.send(*e);}).icon(Icon::from_buffer(icon_bytes, None, None).unwrap()).tooltip(没事喝点鸡汤吧).on_right_click(Events::RightClickTrayIcon).on_click(Events::LeftClickTrayIcon).menu(MenuBuilder::new().separator().submenu(提醒间隔,MenuBuilder::new().checkable(1分钟, true, Events::OneMinute).checkable(5分钟, false, Events::FiveMinute).checkable(15分钟, false, Events::FifteenMinute).checkable(半小时, false, Events::HalfHour).checkable(一小时, false, Events::OneHour),).separator().item(退出, Events::Exit),).build().unwrap();let _interval Arc::new(Mutex::new(1));let interval _interval.clone();std::thread::spawn(move || {receiver.iter().for_each(|m| match m {Events::RightClickTrayIcon {tray_icon.show_menu().unwrap();}Events::LeftClickTrayIcon {tray_icon.show_menu().unwrap();}Events::Exit {std::process::exit(0);}Events::OneMinute {let mut i interval.lock().unwrap();*i 1;tray_icon.set_menu_item_checkable(Events::OneMinute, true).unwrap();tray_icon.set_menu_item_checkable(Events::FiveMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::FifteenMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::HalfHour, false).unwrap();tray_icon.set_menu_item_checkable(Events::OneHour, false).unwrap();}Events::FiveMinute {let mut i interval.lock().unwrap();*i 5;tray_icon.set_menu_item_checkable(Events::OneMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::FiveMinute, true).unwrap();tray_icon.set_menu_item_checkable(Events::FifteenMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::HalfHour, false).unwrap();tray_icon.set_menu_item_checkable(Events::OneHour, false).unwrap();}Events::FifteenMinute {let mut i interval.lock().unwrap();*i 15;tray_icon.set_menu_item_checkable(Events::OneMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::FiveMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::FifteenMinute, true).unwrap();tray_icon.set_menu_item_checkable(Events::HalfHour, false).unwrap();tray_icon.set_menu_item_checkable(Events::OneHour, false).unwrap();}Events::HalfHour {let mut i interval.lock().unwrap();*i 30;tray_icon.set_menu_item_checkable(Events::OneMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::FiveMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::FifteenMinute, false).unwrap();tray_icon.set_menu_item_checkable(Events::HalfHour, true).unwrap();tray_icon.set_menu_item_checkable(Events::OneHour, false).unwrap();}Events::OneHour {let mut i interval.lock().unwrap();*i 60;tray_icon.set_menu_item_checkable(Events::OneMinute, false);tray_icon.set_menu_item_checkable(Events::FiveMinute, false);tray_icon.set_menu_item_checkable(Events::FifteenMinute, false);tray_icon.set_menu_item_checkable(Events::HalfHour, false);tray_icon.set_menu_item_checkable(Events::OneHour, true);}})});std::thread::spawn(move || loop {match reqwest::blocking::get(https://v1.hitokoto.cn?encodetext) {Ok(resp) match resp.text() {Ok(text) {WinToastNotify::new().set_title(来自一言网).set_messages(vec![text]).show().expect(发送通知失败!);}Err(e) {WinToastNotify::new().set_title(错误).set_messages(vec![format!(HTTP错误 {},e.status().unwrap_or_default())]).show().expect(发送通知失败!);}},Err(e) {WinToastNotify::new().set_title(获取网站内容失败错误).set_messages(vec![format!(HTTP错误 {},e.status().unwrap_or_default())]).show().expect(发送通知失败!);}}let mut _b 1;{// 加个大括号是为了尽快释放lock, 免得睡眠中(60 * (*i))一直占用锁点击右键菜单无反应let interval _interval.clone();let i interval.lock().unwrap();_b *i;}sleep(Duration::from_secs(60 * _b));});loop {unsafe {let mut msg MaybeUninit::uninit();let bret winuser::GetMessageA(msg.as_mut_ptr(), 0 as _, 0, 0);if bret 0 {winuser::TranslateMessage(msg.as_ptr());winuser::DispatchMessageA(msg.as_ptr());} else {break;}}} } rust.ico图标文件放在main.rs目录
http://www.hkea.cn/news/14335252/

相关文章:

  • 网站手机端页面怎么做的平面设计一个月多少工资
  • 网站检测报告哪里做网站设计制做报价
  • 汕头快速优化排名网站制作优化
  • 宏福建设工程有限公司网站英雄联盟最新赛事
  • 建设校园网站意义小说网站建设多少钱
  • 推荐邵阳网站建设百度云wordpress怎么搭建网站
  • 县级门户网站建设的报告中端网站建设公司
  • 公司网站建设费用包括哪些慈溪网站建设哪家好
  • 网站建设分工表wordpress延迟加载插件
  • 乐辰科技网站建设百度做的网站 如果不做推广了 网站还保留吗
  • 域名转移影响网站访问吗wordpress404页面跳转到首页
  • 视频网站建站费用番禺外贸型网站建设
  • 深圳网站建设是哪个平面设计现在怎么样
  • 苏州企业如何建站代运营公司
  • 网站未备案wordpress代价网站建设
  • 如何对网站进行改版北京做网站推广兼职
  • 温州英文网站建设淘宝客网站开发视频
  • 如何将网站上传到万网主机本地网站搭建软件
  • 网站开发怎么挣外快qq企业邮箱登录入口
  • 河南网站制作工作室深圳公司建立网站
  • 网站前台显示数据库指定分类怎么做php开发助手
  • .net flash网站模板网站建设详细设计
  • 网站加入购物车的代码怎样在百度做网站表白
  • 怎么自己做网站挂到百度上专业微网站建设
  • 医疗手机网站建设手机搭建网站
  • 建站快车的应用场景aso是什么意思
  • 南靖企业网站建设公司做网站好赚钱
  • 个人网站制作流程恒彩装饰和圣都哪个好
  • 做初中物理题目的网站虚拟主机装2个wordpress
  • 灵璧哪有做网站的淘宝联盟推广网站怎么做