C# 如果图像打开与。。。还有其他的吗?
我只是想知道这里是否有人知道如何编写代码,如何检查项目是否为图像,然后使用Windows图像预览打开,或者使用内置媒体播放器打开 代码如下:C# 如果图像打开与。。。还有其他的吗?,c#,wpf,windows,image,C#,Wpf,Windows,Image,我只是想知道这里是否有人知道如何编写代码,如何检查项目是否为图像,然后使用Windows图像预览打开,或者使用内置媒体播放器打开 代码如下: private bool listbox3job() { AxWMPLib.AxWindowsMediaPlayer axWmp = wfh.Child as AxWMPLib.AxWindowsMediaPlayer; WMPLib.IWMPPlaylist playlist = axWmp.newPlaylist("myPlaylist
private bool listbox3job()
{
AxWMPLib.AxWindowsMediaPlayer axWmp = wfh.Child as AxWMPLib.AxWindowsMediaPlayer;
WMPLib.IWMPPlaylist playlist = axWmp.newPlaylist("myPlaylist", string.Empty);
DateTime? start = starttid2.Value;
DateTime? end = sluttid2.Value;
DateTime now = DateTime.Now;
if (start == null || end == null)
{
return false;
}
else if (now >= start.Value && now <= end.Value)
{
foreach (var selected in listBox3.Items)
{
string s = selected.ToString();
if (listBox3Dict.ContainsKey(s))
{
if (extentions.Contains(System.IO.Path.GetExtension(s).ToUpperInvariant()))
{
Process process = new Process();
process.StartInfo.FileName = "rundll32.exe";
process.StartInfo.Arguments = @"C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " + listBox3Dict[s];
process.Start();
Thread.Sleep(7000);
{
exit();
}
}
else
{
WMPLib.IWMPMedia temp = axWmp.newMedia(listBox3Dict[s]);
playlist.appendItem(temp);
axWmp.settings.setMode("loop", true);
axWmp.settings.autoStart = true;
axWmp.currentPlaylist = playlist;
}
}
}
return true;
}
return false;
}
private bool listbox3job()
{
AxWMPLib.AxWindowsMediaPlayer axWmp=wfh.Child作为AxWMPLib.AxWindowsMediaPlayer;
WMPLib.iwmplaylist playlist=axWmp.newPlaylist(“myPlaylist”,string.Empty);
DateTime?start=starttid2.Value;
DateTime?end=sluttid2.Value;
DateTime now=DateTime.now;
如果(开始==null | |结束==null)
{
返回false;
}
否则,如果(现在>=start.Value&&now在这里
public static List<string> extentions = new List<string> { ".JPG", ".JPE", ".BMP", ".GIF", ".PNG" };
private void Open()
{
foreach (var selected in listBox4.Items)
{
string s = selected.ToString();
if (listBox4Dict.ContainsKey(s))
{
if (extentions.Contains(Path.GetExtension(s).ToUpperInvariant()))
{
Process process = new Process();
process.StartInfo.FileName = "rundll32.exe";
process.StartInfo.Arguments = @"C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " +listBox4Dict[s];
process.Start();
process.WaitForExit();
while (!process.HasExited)
Thread.Sleep(500);
}
else
{
Mediaplayer.URL = (listBox4Dict[s]);
}
}
}
}
publicstaticlist-extensions=新列表{.JPG“,.JPE“,.BMP“,.GIF“,.PNG”};
私隐无效公开()
{
foreach(在listBox4.Items中选择的变量)
{
字符串s=选定的.ToString();
if(列表框4DICT.ContainsKey)
{
if(extensions.Contains(Path.GetExtension.toupper不变量())
{
流程=新流程();
process.StartInfo.FileName=“rundll32.exe”;
process.StartInfo.Arguments=@“C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen”+listBox4Dict[s];
process.Start();
process.WaitForExit();
当(!process.hasExit)退出时
睡眠(500);
}
其他的
{
Mediaplayer.URL=(listBox4Dict[s]);
}
}
}
}
Windows本身使用文件扩展名,并捕获所选处理程序引发的任何错误。@PieterGeerkens是,但“Mediaplayer.URL=(listBox4Dict[s]);”是内置媒体播放器,因此我需要一个if语句解决方案。代码看起来不错,但图像仍然通过“Mediaplayer.URL=(listBox4Dict[s])启动不检查您的代码,因为它运行正常,或者调试以了解原因,或者您的图像扩展不在上面的列表中再次检查我的第一篇文章,编辑图像的代码。jpg Extension btw.Thnx用于帮助我!nvm!在列表框上使用了GetFileName Withoutextension。感谢帮助!:)