查看连接过的WIFI密码方法汇总

本文是对忘记WIFI密码的情况如何查看提供解决方案:电脑和安卓手机上连接过的WIFI密码:

  1. 电脑上查看连接过的WIFI密码:
    方法1:通过“命令提示符”CMD查看(快捷键:Windows键+R)
    打开命令提示符cmd程序,建议右键以管理员权限打开程序。输入“netsh wlan show profiles”,此时接口上的WLAN文件上的配置文件列表都显示出来。
    例如下面的信息,BND-AL10就是我当前连接的手机热点。
    在这里插入图片描述
    我们可以查上面的任何一个WIFI密码。假设我现在要查WIFI名称为“BND-AL10”的WIFI密码,输入netsh wlan show profile name=“连接名” key=clear
    例如:netsh wlan show profile name =“BND-AL10” key=clear.(输入这段命令后结果如下):
    在这里插入图片描述
    方法2:在“网络和共享中心”中查询(此方法前提是必须先连接到要查询网络才可以查看密码)
    win10下:
    在这里插入图片描述
    鼠标右键这个WIFI图标,选中弹出的 “打开网络和Internet设置”:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

**方法3:**使用第三方软件WIFI密码查看器:(此类的软件有很多,这里以“WirelessKeyView v2.05”为例)
计算机所有连接过的WiFi名称和密码都显示出来了:
在这里插入图片描述

  1. 手机上查看当前连接的WIFI的密码:
    方法1:手机设置中查看,通过扫二维码的方式,有的手机有二维码,有的没有
    在这里插入图片描述
    在这里插入图片描述
    点击当前连接到wifi,会弹出二维码
    在这里插入图片描述
    把刚刚的二维码截图保存到相册,用QQ或者微信的扫一扫
    在这里插入图片描述
    这就是扫描后的内容。P:(代表password:),其后就是wifi密码啦!
    在这里插入图片描述
    方法2:
    目的:查看Android 手机已经连接 Wifi 的密码  找到系统文件地址  前提:手机已安装可查看系统文件的文件管理器,比如 Root Explorer。说到 root,有人可能觉得没有 root 就不能安装上述应用,其实不然,没有 root 不代表不能查看系统文件,只不过不能修改而已。
      步骤:
      1、安装Root Exploere
      2、打开Root Exploere,进入data/misc/wifi
      目录里有个wpa_supplicant.conf或者其他文件名以.conf结尾的文件,所有手机记住的wifi密码都在这个文件里。Android的wifi密码是明文保存的,我们只需要知道他在哪里就可以打开直接看了。
### 回答1: 以下是使用lvgl获取WiFi并输入密码连接的代码: ```c #include "lvgl.h" #include "esp_wifi.h" #include "esp_event.h" #include "esp_log.h" #include "esp_system.h" #include "esp_netif.h" #include "nvs_flash.h" #include "protocol_examples_common.h" static const char *TAG = "wifi"; static lv_obj_t *keyboard; static lv_obj_t *keyboard_ta; static lv_obj_t *wifi_list_ta; static lv_obj_t *ssid_ta; static lv_obj_t *password_ta; static esp_netif_t *wifi_netif = NULL; static void keyboard_event_cb(lv_obj_t *event_obj, lv_event_t event) { if (event == LV_EVENT_VALUE_CHANGED) { char buf[64]; lv_ta_get_text(event_obj, buf, sizeof(buf)); lv_ta_set_text(keyboard_ta, buf); } } static void update_wifi_list(void) { wifi_ap_record_t ap_info; lv_ta_set_text(wifi_list_ta, ""); lv_ta_set_cursor_type(wifi_list_ta, LV_CURSOR_NONE); lv_ta_set_one_line(wifi_list_ta, true); lv_ta_set_style(wifi_list_ta, LV_TA_STYLE_BG, lv_style_plain_color); lv_ta_set_style(wifi_list_ta, LV_TA_STYLE_SB, lv_style_plain_color); lv_ta_set_style(wifi_list_ta, LV_TA_STYLE_CURSOR, lv_style_plain_color); lv_ta_set_style(wifi_list_ta, LV_TA_STYLE_BORDER, lv_style_plain_color); wifi_scan_config_t scan_config = { .scan_type = WIFI_SCAN_TYPE_PASSIVE, }; esp_wifi_scan_start(&scan_config, true); uint16_t ap_count = 0; esp_wifi_scan_get_ap_num(&ap_count); if (ap_count == 0) { lv_ta_set_text(wifi_list_ta, "No Wi-Fi networks found"); return; } wifi_ap_record_t *ap_list = malloc(sizeof(wifi_ap_record_t) * ap_count); esp_wifi_scan_get_ap_records(&ap_count, ap_list); char buf[256]; for (int i = 0; i < ap_count; i++) { ap_info = ap_list[i]; snprintf(buf, sizeof(buf), "%s\n", (char *)ap_info.ssid); lv_ta_add_text(wifi_list_ta, buf); } free(ap_list); } static void wifi_connect(void) { wifi_config_t wifi_config = {0}; char ssid[64]; char password[64]; lv_ta_get_text(ssid_ta, ssid, sizeof(ssid)); lv_ta_get_text(password_ta, password, sizeof(password)); memcpy(wifi_config.sta.ssid, ssid, strlen(ssid)); memcpy(wifi_config.sta.password, password, strlen(password)); esp_wifi_disconnect(); esp_wifi_set_mode(WIFI_MODE_STA); esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config); esp_wifi_connect(); } static esp_err_t wifi_event_handler(void *ctx, system_event_t *event) { switch (event->event_id) { case SYSTEM_EVENT_STA_START: esp_wifi_connect(); break; case SYSTEM_EVENT_STA_GOT_IP: ESP_LOGI(TAG, "Got IP: %s", ip4addr_ntoa(&event->event_info.got_ip.ip_info.ip)); break; case SYSTEM_EVENT_STA_DISCONNECTED: ESP_LOGE(TAG, "Wi-Fi disconnected"); esp_wifi_connect(); break; default: break; } return ESP_OK; } void ### 回答2: 使用LVGL获取Wi-Fi并输入密码连接的代码如下: ```c #include "lvgl/lvgl.h" #include <stdio.h> // Wi-Fi相关的函数 // ... // Wi-Fi连接状态的回调函数 static void wifi_connect_cb(bool connected) { if (connected) { printf("Wi-Fi connected!\n"); // 连接成功后的操作 // ... } else { printf("Wi-Fi connection failed!\n"); // 连接失败后的操作 // ... } } // 连接Wi-Fi的界面 static void wifi_connect_screen(lv_obj_t *parent) { // 创建Wi-Fi名称输入框 lv_obj_t *wifi_label = lv_label_create(parent); lv_label_set_text(wifi_label, "Wi-Fi Name:"); lv_obj_align(wifi_label, NULL, LV_ALIGN_CENTER, 0, -30); lv_obj_t *wifi_textbox = lv_textbox_create(parent); lv_textbox_set_one_line(wifi_textbox, true); lv_textbox_set_cursor_hidden(wifi_textbox, false); lv_textbox_set_pwd_mode(wifi_textbox, false); lv_obj_align(wifi_textbox, NULL, LV_ALIGN_CENTER, 0, 0); // 创建密码输入框 lv_obj_t *password_label = lv_label_create(parent); lv_label_set_text(password_label, "Password:"); lv_obj_align(password_label, NULL, LV_ALIGN_CENTER, 0, 30); lv_obj_t *password_textbox = lv_textbox_create(parent); lv_textbox_set_one_line(password_textbox, true); lv_textbox_set_cursor_hidden(password_textbox, true); lv_textbox_set_pwd_mode(password_textbox, true); lv_obj_align(password_textbox, NULL, LV_ALIGN_CENTER, 0, 60); // 创建连接按钮 lv_obj_t *connect_button = lv_btn_create(parent); lv_obj_t *connect_button_label = lv_label_create(connect_button); lv_label_set_text(connect_button_label, "Connect"); lv_obj_set_event_cb(connect_button, wifi_connect_event_cb); lv_obj_align(connect_button, NULL, LV_ALIGN_CENTER, 0, 120); // ... } // Wi-Fi连接事件的回调函数 static void wifi_connect_event_cb(lv_obj_t *obj, lv_event_t event) { if (event == LV_EVENT_PRESSED) { // 获取Wi-Fi名称和密码 lv_obj_t *wifi_textbox = lv_obj_get_child(parent, NULL); lv_obj_t *password_textbox = lv_obj_get_child(parent, wifi_textbox); const char *wifi_name = lv_textbox_get_text(wifi_textbox); const char *password = lv_textbox_get_text(password_textbox); // 连接Wi-Fi //wifi_connect(wifi_name, password, wifi_connect_cb); } } int main(void) { // 初始化LVGL lv_init(); // 创建顶层容器 lv_obj_t *screen = lv_scr_act(); // 创建连接Wi-Fi界面 wifi_connect_screen(screen); while(1) { // 更新LVGL lv_task_handler(); } return 0; } ``` 以上的代码使用LVGL库创建了一个连接Wi-Fi的界面,并通过回调函数进行Wi-Fi连接。在界面中,用户可以输入Wi-Fi名称和密码,点击"Connect"按钮后,将获取到的Wi-Fi名称和密码传递给连接函数进行Wi-Fi连接操作。连接结果将通过回调函数返回给用户。 需要注意的是,以上代码中的Wi-Fi相关函数和实现细节并未提供,因此需要根据具体的开发环境和Wi-Fi模块进行相应的修改和补充。 ### 回答3: 使用LVGL获取WiFi并输入密码连接的代码可以参考以下示例: ```c #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include "lvgl/lvgl.h" #include "lv_examples/lv_examples.h" #include "esp_wifi.h" lv_obj_t *pw_label; lv_obj_t *kb; void wifi_connect(const char *ssid, const char *password) { wifi_config_t wifi_config = { .sta = { .ssid = "", .password = "" }, }; strncpy((char *)wifi_config.sta.ssid, ssid, sizeof(wifi_config.sta.ssid)); strncpy((char *)wifi_config.sta.password, password, sizeof(wifi_config.sta.password)); esp_wifi_set_mode(WIFI_MODE_STA); esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config); esp_wifi_start(); esp_wifi_connect(); } static void event_handler(lv_obj_t *keyboard, lv_event_t event) { if(event == LV_EVENT_CANCEL) { lv_kb_set_ta(kb, NULL); lv_obj_del_async(kb); } else if(event == LV_EVENT_APPLY) { const char *password = lv_textarea_get_text(pw_label); wifi_connect("MyWiFi", password); // 替换为实际WiFi名称 lv_kb_set_ta(kb, NULL); lv_obj_del_async(kb); } } void create_password_keyboard(lv_obj_t *parent) { kb = lv_keyboard_create(parent, NULL); lv_obj_set_size(kb, lv_disp_get_hor_res(NULL), lv_disp_get_ver_res(NULL) / 2); lv_keyboard_set_map(kb, LV_KEYBOARD_MODE_TEXT); lv_obj_set_event_cb(kb, event_handler); lv_obj_set_user_data(kb, pw_label); } void password_textarea_event_cb(lv_obj_t *textarea, lv_event_t event) { if(event == LV_EVENT_CLICKED) { create_password_keyboard(lv_scr_act()); } } void create_password_screen() { lv_obj_t *scr = lv_disp_get_scr_act(NULL); pw_label = lv_textarea_create(scr, NULL); lv_obj_set_width(pw_label, lv_disp_get_hor_res(NULL) - 50); lv_obj_align(pw_label, NULL, LV_ALIGN_CENTER, 0, 0); lv_textarea_set_pwd_mode(pw_label, true); lv_obj_set_event_cb(pw_label, password_textarea_event_cb); lv_textarea_set_text(pw_label, ""); lv_textarea_set_one_line(pw_label, true); lv_textarea_set_cursor_hidden(pw_label, true); lv_scr_load(scr); } int main() { lv_init(); lv_disp_drv_t *disp_drv = lv_disp_drv_alloc(); lv_disp_drv_init(disp_drv); disp_drv->flush_cb = your_display_flush_function; ... lv_disp_t *disp = lv_disp_drv_register(&disp_drv); create_password_screen(); while(1) { lv_task_handler(); delay_ms(5); // 替换为合适的延时函数 } return 0; } ``` 上述代码是一个汇总示例,展示了使用LVGL创建一个WiFi密码输入场景的简单方法。具体使用方式可能根据你的项目需求和硬件平台的不同而有所调整,请根据实际情况进行适当的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒不了的星期八

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值