線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:950
推到 Plurk!
推到 Facebook!

修改記憶體資料

尚未結案
水中鳥
一般會員


發表:4
回覆:2
積分:1
註冊:2009-03-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-03-07 12:05:18 IP:59.120.xxx.xxx 訂閱
請問一下
要如何將MapViewOfFile指令後要怎麼將此位置的BYTE資料寫入到另一個記憶體位置
我測試過用

[code delphi]
PByte($400000)^:=$EB;
[/code]

這樣卻不行

[code delphi]
F_map :=OpenFileMapping(FILE_MAP_READ,FALSE,(AAA));
F_hmap :=MapViewOfFile(F_map,FILE_MAP_READ,0,0,0);
PByte($400000)^:=PByte(F_hmap)^;
[/code]

只能寫入單一BYTE,但是整個Map的區域要怎麼寫入???
謝謝
以上問題我已經找到答案了,可以用以下方法暫時解決
[code delphi]
CopyMemory(Pointer($400000),Pointer(integer(F_hmap)),20000);
[/code]
但是問題又來了當我關閉共享後,$400000位置的記憶體資料卻變成為0,不知是否有解決方案
我關閉共享方式

[code delphi]
// UnmapViewOfFile(F_hmap); <----使用後記憶體位置$400000資料為0
// CloseHandle(F_map); <----使用後記憶體位置$400000資料為0
[/code]
編輯記錄
水中鳥 重新編輯於 2009-03-08 00:03:20, 註解 無‧
系統時間:2024-05-15 3:10:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!