2021年8月6日 星期五

忘記Windows10 登入密碼,除了重灌以外,還可以怎麼做系列貳




方法貳、使用Windows 10 安裝光碟

程序步驟:
01.將Windows 10 安裝光碟放入光碟機中,並設定光碟機開機-> 修復您的電腦
02.疑難排解->命令提示字元-> X:\Sources
03.輸入DISKPART 來查看磁碟機狀態
04.輸入LIST VOL 來顯示磁碟區清單,確認是否有系統C槽
05.輸入EXIT 來離開DISKPART
06.輸入 C: 來進入C槽
07.輸入cd windows\system32\ 來進入c:\windows\system32\ 目錄
08.輸入 copy sethc.exe c:\ 來複製sethc.exe到c:\
09.輸入 copy cmd.exe sethc.exe 來複製cmd.exe 並取代原先sethc.exe
10.輸入 shutdown -r -t 1 來重新開機
11.按下 shift鍵五次以上,就會出現命令列視窗
12.輸入 net user <帳號> <新密碼> 
     例如目前帳號MARK,則輸入 net user MARK 123
     則帳號MARK 密碼更改為 123
13.若是不清楚目前帳號,則可以用 net user 就可查詢目前使用的帳戶名稱


程序詳細步驟:
01.將Windows 10 安裝光碟放入光碟機中,並設定光碟機開機-> 修復您的電腦

02.疑難排解->命令提示字元-> X:\Sources

03.輸入DISKPART 來查看磁碟機狀態

04.輸入LIST VOL 來顯示磁碟區清單,確認是否有系統C槽

05.輸入EXIT 來離開DISKPART

06.輸入 C: 來進入C槽

07.輸入cd windows\system32\ 來進入c:\windows\system32\ 目錄

08.輸入 copy sethc.exe c:\ 來複製sethc.exe到c:\

09.輸入 copy cmd.exe sethc.exe 來複製cmd.exe 並取代原先sethc.exe

10.輸入 shutdown -r -t 1 來重新開機

11.按下 shift鍵五次以上,就會出現命令列視窗

12.輸入 net user <帳號> <新密碼> 
     例如目前帳號MARK,則輸入 net user MARK 123
     則帳號MARK 密碼更改為 123

13.若是不清楚目前帳號,則可以用 net user 就可查詢目前使用的帳戶名稱

資料來源:
文章:



2021年8月2日 星期一

忘記Windows10 登入密碼,除了重灌以外,還可以怎麼做系列壹



方法壹、使用Lazesoft軟體進行移除密碼:
一、各步驟整理總表如下:
2.下載後安裝
3.執行 Lazesoft Recovery Suite Home Edition -> 建立 lsboot.iso
4.設定Windows 10虛擬機以lsboot.iso開機
   (1)虛擬光碟機設定lsboot.iso
   (2)開機
   (3)開機後看到 vmware 字樣,要按下 F2(一直按)
   (4)進入BIOS,選擇虛擬光碟機
   (5)選擇Lazesoft Live CD
5.進入 WinPE,選擇 Password Recovery
6.移除Windows 10虛擬機的光碟機設定
7.Windows 10虛擬機開機
8.由於Windows 10虛擬機的使用者m 密碼已經重設,就會直接進入桌面

二、各步驟詳解如下:

2.下載後安裝







3.執行 Lazesoft Recovery Suite Home Edition -> 建立 lsboot.iso




4.設定Windows 10虛擬機以lsboot.iso開機
   (1)虛擬光碟機設定lsboot.iso
  
   (2)開機
   (3)開機後看到 vmware 字樣,要按下 F2(一直按)
   (4)進入BIOS,選擇虛擬光碟機
   (5)選擇Lazesoft Live CD

5.進入 WinPE,選擇 Password Recovery

6.移除Windows 10虛擬機的光碟機設定
7.Windows 10虛擬機開機
8.由於Windows 10虛擬機的使用者m 密碼已經重設,就會直接進入桌面

2021年7月11日 星期日

Xubuntu 20.04.2 x64 用shell 安裝Apache、MySQL、PHP、Geany、Bluefish、Chrome 與 Visual Studio Code

現在用shell 安裝下列步驟1~7的套件。
檔案名稱:Xub2004LAMP.sh
檔案內容:
#!/bin/bash
apt install -y apache2 apache2-utils
apt install mariadb-server mariadb-client
apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
a2enmod php7.4
systemctl restart apache2
apt install phpmyadmin
apt install -y geany
apt install -y bluefish
apt install software-properties-common apt-transport-https wget
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
apt install code
clear
echo "請下指令  sudo mysql_secure_installation ,完成最後MySQL密碼設定"

1.安裝 Apache
$sudo apt install -y apache2 apache2-utils

2.安裝 MySQL
$sudo apt install mariadb-server mariadb-client
$sudo mysql_secure_installation

3.安裝 PHP
$sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
$sudo a2enmod php7.4
$sudo systemctl restart apache2

4.安裝phpMyAdmin
$sudo apt install phpmyadmin

5.安裝Geany
$sudo apt install -y geany

6.安裝Bluefish
$sudo apt install -y bluefish

7.安裝Chrome
$wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$sudo apt install ./google-chrome-stable_current_amd64.deb

8.安裝Visual Studio Code
$sudo apt install software-properties-common apt-transport-https wget
$wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
$sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
$sudo apt install code


9.安裝Visual Studio Code 套件 
EditorConfig for VS Code
統一專案中檔案的編輯風格

ESLint
編輯器會自動幫你檢查 coding style,需搭配 .eslintrc 檔

Git History
方便查看 Git 紀錄以及檔案歷史,包括 Line History,並可直接連結到變更的檔案。

Git Lens
版本控紀錄,一目了然誰在什麼時間點修改檔案

Path Intellisense
輸入 / 編輯器會自動查詢該目錄底下建議路徑

Path Autocomplete for Visual Studio Code
路徑自動補完

Preview on Web Server
前端開發時預覽的好幫手

vscode-icons
幫你 VS Code 檔案與資料夾 icon 美化

DotENV
讓 .env 檔也有 syntax 效果

Markdown All in One
一應俱全的 Markdown 工具,包括 highlight、快速鍵、自動補完、預覽

Docker
方便管理及操作 Docker Image、Container 的官方工具

YAML
讓 VSCode 支援 YAML 格式

Guides
在程式開關符號(例如左右大括號)拉一條線,方便識別程式區塊

Auto Close Tag
自動把右括號或結束標籤補上

資料來源:


2021年7月2日 星期五

C++ Pointer 與 Array 的相關範例筆記

觀念:
指標是用來指向記憶體位址的,可用*設指標變數跟取指向位址的值。&就是取變數記憶體位址。

陣列宣告
資料型態 陣列名稱[陣列長度];
int A[10];

程式名稱:
程式碼:

資料來源:
1.C++ Array of Pointers



C++ Class 的範例筆記

程式名稱:ClassRectangle01.cpp
程式內容:

#include <iostream>
using namespace std;

class CRectangle {
int x,y;
  public:
     void set_values (int a,int b) {
        x = a;
y = b;
}
     int area(void){
      return x*y;
}
};

int main() {

  CRectangle rect;
  rect.set_values(3,4);
  cout << " area: " << rect.area();
}

建構子
建構子 constructor, 它透過一個與 class 同名的函數來定義。當且僅當要生成一個 class 的新的物件的 時候或給該 class 的一個物件分配記憶體的時候,這個建構子將自動被調用。。一個建構子永遠沒有返回值,也不用宣告成 void。

程式名稱:ClassRectangle02.cpp
程式內容:
#include <iostream>
using namespace std;

class CRectangle {
int width,height;
public:
CRectangle (int a, int b) {
width = a;
height = b;
}
int area(void) {
return width*height;
} 
};

int main() {
CRectangle rect01 (3,4),rect02 (5,6);
        cout << " rect01 area:" << rect01.area()<< endl;
        cout << " rect02 area:" << rect02.area()<< endl;
}

解構子
解構子 destructor 完成相反的功能。它在 objects 被從記憶體中釋放的時候被自動 調用。釋放可能是因為它存在的範圍已經結束了(例如,如果 object 被定義為一 個函數內的 local (區域) 物件變數,而該函數結束了);或者是因為它是一個動 態分配的物件,而被使用運算子 delete 釋放了。 解構子必頇與 class 同名,加上水波號 tilde (~) 首碼,一樣必頇無返回值。

程式名稱:ClassRectangle03.cpp
程式內容:
#include <iostream>

using namespace std;

class CRectangle {
int *width,*height;
public:
CRectangle (int a, int b) {
width = new int;
height = new int;
*width = a;
*height = b;
}
~CRectangle (){
delete width;
delete height;
}; 
int area(void) {
return *width * *height;
} 
};

int main() {
CRectangle rect01 (3,4),rect02 (5,6);
    cout << " rect01 area:" << rect01.area()<< endl;
    cout << " rect02 area:" << rect02.area()<< endl;
}



2021年6月30日 星期三

資料結構關於堆疊Stack例題、佇列Queue例題筆記

堆疊Stack

觀念:
LIFO(last in first out) 後進先出

常用方法:
stack<int> sk 建立一個int型別的stack
sk.size()         堆疊元素數量
sk.empty() 判斷堆疊是否為空
sk.push(x) 從堆疊「頂端」加入一個元素x
sk.pop()         刪除堆疊頂端元素
sk.top()         取得堆疊頂端元素

題目:
EX_01:10進位轉2進位(以STL stack實作)。11->1011

程式碼:

#include <iostream>
#include <stack>

using namespace std;

int main() {
    stack<int> sk;   
    int n;
    cin >> n;
    while (n>0) {                     // n大於0 
    sk.push(n%2);               // 將n除以2的餘數push進堆疊 
    n=n/2;                           // 將n除以2 
}
while (!sk.empty()) {    // 堆疊內還有元素 
cout << sk.top();   // 印出堆疊頂端元素 
sk.pop();                // 將堆疊頂端元素移除 
}
cout <<endl;
}

佇列Queue

觀念:
FIFO(first in first out) 先進先出

常用的方法
queue<int> qe        建立一個int型別的queue
qe.size()                佇列元素數量
qe.empty()        判斷是否為空
qe.push(x)        從佇列「後端」加入一個元素x
qe.pop()                從「前端」刪除一個元素
qe.front()                取得前端元素
qe.back()                取得後端元素

題目:
EX_02:ZeroJudge e183: 10940 - Throwing cards away II  
給你一疊有1~n編號的牌(1在最上面,n在最下面),在牌數大於1的時候執行以下操作:「丟掉最上面的牌,並把現在最上面的的牌放到最下面。」
求最後剩下的那張牌編號為?(7->6、10->4)

程式碼:
#include <iostream>
#include <queue>

using namespace std;

int main() {
queue<int> q;
int i,n,p;
cin >> n;
for(i=1;i<=n;i++) {
q.push(i);           // 將牌的編號(1 2 3 …)依序push入佇列
}
while(q.size() > 1) {   // 當佇列size>1時繼續執行
q.pop();            // 將最上面的牌丟掉
q.push(q.front());  // 將次張牌重新放入佇列尾端
q.pop();            // 將次張牌丟掉
}
cout << q.front();      // 印出剩下的那張牌

}


Z 字型編排問題

 問題描述:8X8的矩陣,有著如下編排:

今天要將編排的方式寫成C++的程式碼,分析如下:
下方圖片內容檔:Z 字型編排問題
換句話說,只有四種動作。



資料來源:










只要點兩下就能將 彰化縣EIP系統全校學生帳號總表 依 各班級 分成 各班級學生帳號總表

系列文章: 1. 只要點兩下就能產出彰化縣Cloud School 學生帳號密碼匯入彰化縣EIP系統學生帳號密碼的CSV 1. https://skjhcreator.blogspot.com/2025/08/cloud-school-eipcsv.html 2. 只要點兩下就能...