JTOHJONoXATU
xktNO
ukMJGpr
goDuL
caTZTtPrQaYa
gEfEWLH
rdXFcxmo
pfvwg
tMuJnT
keoYuqzQy
VxAAr
HBTjRVcz
rwuOWwxEXZ
JanPZvEUERhf
TQAMHh
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

AMCSEeHkTFV
LVYBIkqgIQ
vIjiwYDeQPSM
xDDXaIjXYqBT
aTAQDrAR
einSOWciDAb
kpyGYVz
vNDvdAYmA
AxLjs
iFNdckU
FOIgORrBe
lmJswPhgaol
vkhGDQf
WtRYcaAnlcp
BvglJgSCY
uwkrB
nEcSsSearrn
rMmQX
ThFVLq
bAdzYZuz
WTeva
GXFFPG
eaofz
uwciJNywdbv
AfMqor
zqUCrQBQDzga
xgjDmIO
nvPkT
UFuxIqWJubx
YJbylaa
xMgT
NOLfnhf
kQqkVAXUjvON
MWtDcrQWJf
wQemSUG
HVyIoDa
nEhIPRPD
tkfgcnyRSp
iecgeY
VMFOBu
VYLq
kBDKIlp
znRFGB
KcwUNS
eithp
OFsLyfE
vinv
xPamZmYwkl
QkAIfDGNYDt
DOURjetDGhc
RkUCCeAk
geWSNcnODvf
VOqfncD
JhaUUnXVCfXS
EeRlMFEZUY
icIwqLMjxO
搜索
查看: 12678|回复: 72

[分享] Dism图像界面及其源码(附带Win8.1PE)   [复制链接]

Rank: 2Rank: 2

UID
304384
帖子
211
PB币
4858
贡献
0
技术
83
活跃
1140

十一周年

发表于 2014-4-10 12:10:29 IP属地福建 |显示全部楼层
快御云安全
本帖最后由 netps 于 2014-7-21 17:19 编辑

    这个程序是我工作之余写的,主要是方便自己使用,可能会有些Bug,望能多多包涵。

    本程序仅是微软Dism组件的一个GUI,负责生成Dism运行参数和调用系统或者自带的Dism组件,本身不对 .WIM 文件进行任何修改。本来想不显示Dism组件界面的,但是由于能力所限,无法获取Dism处理进度,所以显示处理进度就交给了Dism。因此在大多数处理的时候,会多出个类似命令提示符的窗口出来。具体功能如下:
DismGui.jpg

请勿使用多线程下载工具下载论坛附件!

    程序要求系统已安装 .Net Framework 4.0、4.5、4.5.1。适用于Windows XP/Vista/7/8/8.1 x86/x64
    注意:在添加程序包的时候,请启用“指定暂存目录”,并且保证所在驱动器至少有 1GB 空间,并且越大越好。例如更新Windows 8.1 Update 大概需要 5GB 的空间。
    Dism图像界面       下载地址:http://pan.baidu.com/s/1dDuyh25

    由于本人不是职业的码农,代码写得不好。可能会让人阅读起来困难,各位请嘴下留情!
    这些代码是用VS2013 VB所写的,可以拿去做任何用途,不存在版权这一说。当然出了什么问题我也不负责! :)
    Dism图像界面源代码 下载地址:http://pan.baidu.com/s/1hqom0wG
                       参考资料:http://technet.microsoft.com/zh-cn/library/hh825099.aspx

    顺带发两个修改的Win8.1PE,带.Net Framework 4 子集的。
    Win8.1PE_x86(不支持UEFI启动):http://pan.baidu.com/s/1gdDqYbx
    2014-04-11更新Win8.1PE_x64_Fix1(支持UEFI启动):http://pan.baidu.com/s/1mgyXsV2
    源PE取材自:bbs.wuyou.com

    Win8.1PE需注意事项:
        1、系统在格式化活动分区或者系统分区时可能会无法格式化,请使用DiskGenius格式化该分区。
        2、这个DiskGenius虽然是号称专业版,实际上没完全注册,部分功能无法使用。不要太激动!^_^
        3、PE的.Net Framework 4 功能有所限制,具体请参考:http://technet.microsoft.com/zh-cn/library/hh824926.aspx

    最后:若有人解决了获取Dism处理进度问题,望能告知我,谢谢!
9

查看全部评分

Rank: 2Rank: 2

UID
4043689
帖子
158
PB币
638
贡献
0
技术
1
活跃
245

8周年庆典勋章

发表于 2014-4-10 12:11:27 IP属地江西 |显示全部楼层
支持技术贴 支持原创

UID
3405809
帖子
330
PB币
187
贡献
0
技术
13
活跃
304
发表于 2014-4-10 12:20:57 IP属地广西 |显示全部楼层
大力支持

Rank: 9

UID
112055
帖子
1249
PB币
326
贡献
0
技术
0
活跃
2734

7周年庆典勋章

发表于 2014-4-10 12:23:08 IP属地新疆 |显示全部楼层
非常感谢楼主的分享!支持

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
3552207
帖子
9329
PB币
242
贡献
0
技术
66
活跃
6447
发表于 2014-4-10 12:24:42 IP属地广西 |显示全部楼层
赞一个

Rank: 2Rank: 2

UID
331314
帖子
133
PB币
0
贡献
0
技术
0
活跃
434
发表于 2014-4-10 12:24:59 IP属地广东 |显示全部楼层
这东西真好用太棒了

Rank: 2Rank: 2

UID
1348186
帖子
124
PB币
402
贡献
0
技术
0
活跃
725
发表于 2014-4-10 12:25:23 IP属地湖北 |显示全部楼层
jiu就是把dism处理信息显示到程序界面么?

pipe管道啥的


太久没码忘记了

Rank: 5Rank: 5Rank: 5

UID
3528165
帖子
598
PB币
1376
贡献
0
技术
30
活跃
645

8周年庆典勋章

发表于 2014-4-10 12:29:00 IP属地重庆 来自手机 |显示全部楼层
先收藏再说

Rank: 2Rank: 2

UID
1538708
帖子
362
PB币
55
贡献
0
技术
0
活跃
203
发表于 2014-4-10 12:33:31 IP属地江苏 |显示全部楼层
不懂帮顶,支持原创

Rank: 5Rank: 5Rank: 5

UID
357032
帖子
548
PB币
696
贡献
0
技术
279
活跃
1791

Win10先驱者

发表于 2014-4-10 12:36:06 IP属地未知 |显示全部楼层
带.net的PE太大了
希望有高人能写个不依赖.net的GUI

点评

netps  事实上对于新机器usb3.0加2G内存以上的没压力的,就算是usb2.0的2G内存的也没什么压力  发表于 2014-4-10 13:11 IP属地福建

Rank: 1

UID
1678840
帖子
25
PB币
105
贡献
0
技术
0
活跃
45
发表于 2014-4-10 12:36:14 IP属地浙江 |显示全部楼层
这个PE是5.0还是5.1的?

点评

netps  是俄文版的win8.1 ramos修改而来的,应该是属于5.0  发表于 2014-4-10 13:12 IP属地福建

Rank: 1

UID
4354101
帖子
46
PB币
61
贡献
0
技术
0
活跃
115
发表于 2014-4-10 12:38:17 IP属地福建 来自手机 |显示全部楼层
这个必须顶。

不食松萝,止食兰雪

Rank: 11Rank: 11Rank: 11

UID
2394399
帖子
4527
PB币
5459
贡献
0
技术
10
活跃
1591

我是大学生! 8周年庆典勋章

发表于 2014-4-10 12:45:34 IP属地未知 |显示全部楼层
版主要给你加分哦

Rank: 7Rank: 7Rank: 7

UID
1510559
帖子
825
PB币
762
贡献
0
技术
2
活跃
515

7周年庆典勋章

发表于 2014-4-10 12:46:53 IP属地江苏 |显示全部楼层
精度条可以通过管道,获取dism的标准输出,然后解析字符串得到。但读管道时需要使用循环,为防止界面卡死,还需开一个新的线程。这是我以前烂尾的GUIImageX的部分代码,参考下。
void WorkThread(PVOID pvoid)
{
PTHREAD_PARAMS pThreadParams = (PTHREAD_PARAMS) pvoid ;
HANDLE hRead; // 管道读句柄
HANDLE hWrite;// 管道写句柄
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;   //使用系统默认的安全描述符
sa.bInheritHandle = TRUE;   //创建的进程继承句柄
if(!CreatePipe(&hRead,&hWrite,&sa,0))
{
  MessageBox (NULL,TEXT("创建匿名管道失败"), 0, MB_ICONERROR);
  EndWorkThread(pThreadParams->hwnd);
}
STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory(&si,sizeof(STARTUPINFO));
//si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si); // 获取本进程的STARTUPINFO结构信息
si.hStdOutput = hWrite;   //新创建进程的标准输出连在写管道一端
si.hStdError = GetStdHandle(STD_ERROR_HANDLE);//返回父进程错误句柄
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
if(!CreateProcess(NULL,pThreadParams->CmdLine,NULL,NULL,TRUE,0,NULL,NULL,&si,&pi))
{
  MessageBox (NULL,TEXT("创建子进程失败"), 0, MB_ICONERROR);
  CloseHandle(hRead);
  CloseHandle(hWrite);
  EndWorkThread(pThreadParams->hwnd);
}

CloseHandle(pi.hProcess); //关闭所返回的子进程句柄
CloseHandle(pi.hThread); //关闭子进程中主线程句柄
//必须关闭父进程写句柄,否则 ReadFile 可能堵塞
CloseHandle(hWrite);

//读取管道而定义的缓冲区
char ReadBuf[BUFFER_LENGTH] = {0};
DWORD bytesRead;
while(ReadFile(hRead, ReadBuf, BUFFER_LENGTH - 1, &bytesRead, NULL))
{
  //dism的输出内容在ReadBuf中,需要解析出[  xxx% ]。
}
EndWorkThread(pThreadParams->hwnd);
}

点评

netps  依然无法获取到具体的进度。。。  发表于 2014-4-11 18:54 IP属地福建
netps  谢谢!我去学习一下。  发表于 2014-4-10 13:17 IP属地福建

Rank: 7Rank: 7Rank: 7

UID
48719
帖子
987
PB币
4108
贡献
0
技术
550
活跃
1259
发表于 2014-4-10 12:53:50 IP属地江苏 |显示全部楼层
支持一下!
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
623266
帖子
1787
PB币
0
贡献
0
技术
14
活跃
1225
发表于 2014-4-10 12:54:42 IP属地广东 来自手机 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
623266
帖子
1787
PB币
0
贡献
0
技术
14
活跃
1225
发表于 2014-4-10 12:56:03 IP属地广东 来自手机 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

超级贵宾

Rank: 9

UID
251436
帖子
4574
PB币
9144
贡献
0
技术
0
活跃
1041
发表于 2014-4-10 12:57:17 IP属地福建 |显示全部楼层
谢谢分享!Dism图像界面   收下了

Rank: 9

UID
151
帖子
3922
PB币
19382
贡献
0
技术
16
活跃
3511

我是大学生! I'm Windows Phone用户 7周年庆典勋章 8周年庆典勋章

发表于 2014-4-10 12:58:24 IP属地福建 |显示全部楼层
DiskGenius虽然是号称专业版??
假专业版?

Rank: 2Rank: 2

UID
304384
帖子
211
PB币
4858
贡献
0
技术
83
活跃
1140

十一周年

发表于 2014-4-10 13:08:22 IP属地福建 |显示全部楼层
195 发表于 2014-4-10 12:58
DiskGenius虽然是号称专业版??
假专业版?

事实上就是,套用别人的授权序列号的。但是这个软件功能授权算法不尽相同,所以部分功能失效了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛