设为首页 收藏本站
查看: 897|回复: 0

[经验分享] 得到windows聚焦图片(windows 10)

[复制链接]

尚未签到

发表于 2017-6-27 15:46:30 | 显示全部楼层 |阅读模式
  有些Windows聚焦图片确实很漂亮,很希望保留下来,但是Windows聚焦图片总更好,网上有得到聚焦图片的方法,每次都手动去弄真麻烦,于是自己编了一个小程序,自动得到Windows聚焦图片,下面是运行这个小程序得到Windows聚焦图片的效果!
  小工具以及源码下载:http://download.csdn.net/detail/sunylat/9741756
  解压缩下载文件后,小工具在解压缩后的文件夹中:“Win32\Debug”,文件名:“Project1.exe”。
  运行效果截图:
DSC0000.png

  我用这个小工具保存下来的Windows聚焦图片:
DSC0001.png

  全部源码:



unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TForm2 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
clearLogBtn: TButton;
logMemo: TMemo;
Splitter1: TSplitter;
Panel3: TPanel;
Button2: TButton;
procedure clearLogBtnClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
// 得到特殊目录
function GetSpecialDir(SpecialDirID: Integer): string;
// 得到用户目录
function GetAppdataLocal: string;
//重命名所有文件扩展名
procedure Rename(filePath: string);
public
{ Public declarations }
procedure MyLog(tempLog: string); // log方法
end;
var
Form2: TForm2;
logInfo: string; // log信息
implementation
{$R *.dfm}
uses
ShlObj, {GetSpecialDir用单元}
System.IOUtils,
shellapi;
procedure TForm2.Button2Click(Sender: TObject);
const
pictureDir =
'\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets';
var
picturePath: string;
pictureTempPath: string;
begin
//windows聚焦图片存放目录
picturePath := self.GetAppdataLocal + pictureDir;
//存放得到图片的目录
pictureTempPath := ExtractFilePath(paramstr(0)) + 'picture';
//删除先前处理图片的目录
if TDirectory.Exists(pictureTempPath) = true then
begin
TDirectory.Delete(pictureTempPath,true);
end;
//拷贝windows聚焦图片到临时目录
  TDirectory.Copy(picturePath, pictureTempPath);
//如果临时存放图片目录不为空,则继续处理
if TDirectory.IsEmpty(pictureTempPath) = false then
begin
//重命名所有文件为扩展名是"jpg"的图片类型文件
    self.Rename(pictureTempPath);
//打开存放图片目录
ShellExecute(Handle, 'open', 'Explorer.exe', PChar(pictureTempPath), nil,
SW_NORMAL);
end;
end;
procedure TForm2.clearLogBtnClick(Sender: TObject);
begin
logMemo.Clear;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
end;
// log方法
procedure TForm2.MyLog(tempLog: string);
var
temp: string;
oldLog: string;
begin
if Trim(tempLog) <> '' then
begin
oldLog := Trim(logMemo.Text);
logMemo.Clear;
temp := FormatDateTime('yyyy-mm-dd hh:mm:ss', now) + ' ' + Trim(tempLog);
if oldLog = '' then
begin
logMemo.Lines.Add(temp);
logMemo.Lines.Add('');
end
else
begin
logMemo.Lines.Add(temp);
logMemo.Lines.Add('');
logMemo.Lines.Add(oldLog);
end;
end;
end;
// 得到特殊目录
function TForm2.GetSpecialDir(SpecialDirID: Integer): string;
var
pidl: PItemIDList;
Path: array [0 .. MAX_PATH] of Char;
begin
SHGetSpecialFolderLocation(0, SpecialDirID, pidl);
SHGetPathFromIDList(pidl, Path);
Result := Path;
end;
// 得到用户目录
function TForm2.GetAppdataLocal: string;
begin
Result := GetSpecialDir(CSIDL_LOCAL_APPDATA);
end;
procedure TForm2.Rename(filePath: string);
const
batFile = 'tmp.cmd'; // 保存各种要执行命令的bat文件名
var
tempList: TStringList;
begin
try
// 进入当前目录
    ChDir(filePath);
tempList := TStringList.Create;
with tempList do
begin
Add('ren *.* *.jpg');
Add('del ' + batFile);
SaveToFile(batFile);
SaveToFile(batFile);
end;
finally
tempList.Free;
// 执行bat文件
    WinExec(batFile, SW_HIDE);
end;
end;
end.
  参考:http://www.iplaysoft.com/save-win10-spotlight-wallpapers.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388784-1-1.html 上篇帖子: Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义 下篇帖子: windows下部署免费ssl证书(letsencrypt)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表