2008年9月15日 星期一

Windows 抓圖 API

相關函式…

HWND findChild = FindWindow( NULL, "視窗標題" );
HWND dc = ::GetWindowDC( findChild );

使用這個 DC HANDLE 來作圖形的拷貝動作

但是由於 windows 有外框、標題列等問題,所以實際抓圖的位要作細部的調整
使用 GetSystemMetrics WIN API,例如…

    int nCaptionY = ::GetSystemMetrics(SM_CYCAPTION);         //dialog的標題列
    int nBorderX = ::GetSystemMetrics(SM_CXEDGE)+1;         //BORDERX
    int nBorderY = ::GetSystemMetrics(SM_CYEDGE)+1;         //BORDERY

才可以準確得知,CLIENT 畫布的位置。

2008年9月9日 星期二

Samba Server 新增使用者

adduser id
smbpasswd -a id
若有 libssl.so.2 找不到 可找找底下替代 lib

ln -s /usr/lib/libssl.so.0.9.6 /usr/lib/libssl.so.2

ln -s /usr/lib/libcrypto.so.0.9.6 /usr/lib/libcrypto.so.2

2008年9月8日 星期一

POSTFIX 增加郵件群組的功能

nano /etc/postfix/main.cf
===================================
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
===================================

nano aliases
===================================
maillist: aaa, bbb, ccc, ddd, eee
===================================

postalias /etc/aliases
postfix reload                    <== 如果 main.cf 有改到的話則需要重啟

使用VBS修改電腦IP、DNS、電腦名稱、工作群組


strComputer="."
strmask="255.255.255.128" 
dim ipv,gateway,lan,pcname
gateway="220.229.105.129"
ipv="220.229.105.123"
pcname="pc123"

Set objWMIService=GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters=objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strIPAddress=Array(ipv)
strSubnetMask=Array(strmask)
strGateway = Array(gateway) '修改預設閘道
strDNS=Array("61.56.211.185","211.78.130.2","168.95.1.1") '// 三組 DNS

For Each objNetAdapter in colNetAdapters 
errEnable=objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)'ip,子網路遮罩
errGateways = objNetAdapter.SetGateways(strGateway) '預設閘道
errDns=objNetAdapter.SetDNSServerSearchOrder(strDNS)'dns
Next

Set objWMIService = GetObject("winmgmts:" _
     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
   ("Select * from Win32_ComputerSystem")

For Each objComputer in colComputers
     err = ObjComputer.Rename( pcname )'機器名稱
     ReturnValue = objComputer.JoinDomainOrWorkGroup("WORKGROUP")'工作群組
Next

2008年8月21日 星期四

MYSQL 支援 Transation

一、資料庫引擎要改成 InnoDB。

二、流程…

mysql_query('BEGIN TRANSACTION_NAME');

mysql_query('SELECT * FROM whatever...')
mysql_query('UPDATE blah blah...')

if(check for errors) {
mysql_query('ROLLBACK');
} else {
mysql_query('COMMIT');
}

2008年8月13日 星期三

專案列表

找個時間把開發過的案子程式要點記下來…

FPPA專案:
BatteryCharge-充電裝置自動充放電控制
BLDC-直流無刷馬達AD調速控制
FanControl-超微風風扇控制含定時、IR
GenFreq-方波頻率偵測即時計算
LightFailAlert-汽車燈號故障警示器、RF
PWM-RGB-Bar-三色PWM燈飾
PWM燈控-LED燈亮度調節控制
MP3Rider-MP3模組撥放音樂
RGBLight-RGB LED燈控制
RGBW-LED-四色LED燈控制
SPWM吊扇-無段風扇控制
VolControl-飛梭旋鈕訊號控制音量
三合一車燈-三合一車燈
立式16吋溫控無段風扇-無段溫控風扇控制
風扇節能調速器-風扇控制器
腳踏車警示燈-LED燈控制器
檯燈燈控-LED亮度控制器
雙頭風扇-風扇控制器
雞尾酒機-刨冰、擾拌定時控制器
TimerDevice-通用定時器

PIC專案:
sosLight-三合一車燈
FreqGen-頻率產生器
LedBar-LED燈控制器
PowerControl-電源輸出控制器
RFLightControl-RF號控制裝置
spwm-SPWM風扇PIC版
TimerDevice-通用定時器PIC版

ELAN專案:
PWMLED-RGB LED燈控制
TimerDevice-通用定時器ELAN版

VirtualBox 空間減肥

sdelete64 -z c: VBoxManage  modifymedium  disk  "/Users/fellow/VirtualBox VMs/Win10/Win10.vdi"  --compact *.vdi 路徑可以在 VirtualBox 儲...