Subversion Repositories Kolibri OS

Rev

Rev 902 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
935 leency 1
f70 run_file_70;
902 leency 2
 
3
///////////////////////////
4
//   Запуск программы    //
5
///////////////////////////
6
void Run_Program(dword run_path, run_param)
935 leency 7
{
902 leency 8
    run_file_70.func = 7;
935 leency 9
    run_file_70.param1 = 0;
10
    run_file_70.param2 = run_param;
11
    run_file_70.param3 = 0;
12
    run_file_70.param4 = 0;
13
    run_file_70.rezerv = 0;
14
    run_file_70.name = run_path;
902 leency 15
    $mov eax,70
16
    $mov ebx,#run_file_70.func
17
    $int 0x40
18
}
19
 
20
 
21
/*char *extension[25]={".skn",".avi",".htm","html",".3ds",".lif",".cvs",".mp3",
22
".wav",".mid","midi",".rtf",".txt",".inc",".ini",".dat",".asm",".gif",".bmp",
23
".tga",".pcx",".png",".jpg","jpeg", 0}; //массив указателей
24
char *prog_path[25]={"desktop","/sys/kvid","/sys/network/HTMLv","/sys/network/HTMLv",
25
"/sys/demos/3d/view3ds","/sys/demos/life2","graph","AC97SND","AC97SND","MIDAMP",
26
"MIDAMP","RtfRead","TinyPad","TinyPad","TinyPad","TinyPad","TinyPad","MV","MV",
27
"MV","MV","@rcher","JpegView","JpegView", 0};
28
 
29
 
30
void Run_File(dword fpath)
31
{
32
	byte i;
33
	dword file_ext[4]=fpath+strlen(fpath)-4;
34
	FOR(i=0; extension[i]!=0; i++) IF (strcmp(file_ext,extension[i])==0)
35
	{
36
		Run_Program(prog_path[i], fpath);
37
		return;
38
	}
39
	Run_Program(fpath, "");
40
}*/
41
 
935 leency 42
 
902 leency 43
void Run_File(dword fpath)
44
{
45
	dword extension[4], fparam[256];
46
	copystr(fpath,#fparam); //по-умолчанию прога и параметр равны, если окажется что это файл, парам - сбросим
47
	copystr(fpath+strlen(fpath)-4,#extension); //узнаём расширение файла с каким работаем
48
	//тут мы это расширение сравнимаем, и, если оно асоциируется с прогой, прога - это fpath
935 leency 49
		IF (!strcmp(#extension,".skn")) copystr("desktop",fpath);
50
		IF (!strcmp(#extension,".avi")) copystr("/sys/kvid",fpath);
51
		IF (!strcmp(#extension,".mpg")) copystr("/sys/kvid",fpath);
52
		IF (!strcmp(#extension,".htm")) copystr("/sys/network/HTMLv",fpath);
53
		IF (!strcmp(#extension,"html")) copystr("/sys/network/HTMLv",fpath);
902 leency 54
		//IF (strcmp(#extension,".htm")==0) || (strcmp(#extension,"html")==0) copystr("/hd0/2/Programs/QIP/Users/419114984/RcvdFiles/313257308_Veliant/browser/HTMLv",fpath);
935 leency 55
		IF (!strcmp(#extension,".3ds")) copystr("/sys/demos/3d/view3ds",fpath);
56
		IF (!strcmp(#extension,".lif")) copystr("/sys/demos/life2",fpath);
57
		IF (!strcmp(#extension,".cvs")) copystr("graph",fpath);
58
		IF (!strcmp(#extension,".nes")) copystr("/sys/games/fce",fpath);
902 leency 59
		//audio
935 leency 60
		IF (!strcmp(#extension,".mp3")) copystr("AC97SND",fpath);
61
		IF (!strcmp(#extension,".wav")) copystr("AC97SND",fpath);
62
		IF (!strcmp(#extension,".mid")) copystr("MIDAMP",fpath);
63
		IF (!strcmp(#extension,"midi")) copystr("MIDAMP",fpath);
902 leency 64
		//text
935 leency 65
		IF (!strcmp(#extension,".rtf")) copystr("RtfRead",fpath);
66
		IF (!strcmp(#extension,".txt")) copystr("TinyPad",fpath);
67
		IF (!strcmp(#extension,".inc")) copystr("TinyPad",fpath);
68
		IF (!strcmp(#extension,".ini")) copystr("TinyPad",fpath);
69
		IF (!strcmp(#extension,".dat")) copystr("TinyPad",fpath);
70
		IF (!strcmp(#extension,".asm")) copystr("TinyPad",fpath);
71
		IF (!strcmp(#extension,".cpp")) copystr("TinyPad",fpath);
902 leency 72
		//изображения
935 leency 73
		IF (!strcmp(#extension,".gif")) copystr("MV",fpath); //GifView,MenuAnimage
74
		IF (!strcmp(#extension,".bmp")) copystr("MV",fpath); //BmpMenu1,MenuAnimage
75
		IF (!strcmp(#extension,".tga")) copystr("MV",fpath);
76
		IF (!strcmp(#extension,".pcx")) copystr("MV",fpath);
77
		IF (!strcmp(#extension,".cur")) copystr("MV",fpath);
78
		IF (!strcmp(#extension,".ico")) copystr("MV",fpath);
79
		IF (!strcmp(#extension,".png")) copystr("@rcher",fpath);
80
		IF (!strcmp(#extension,".jpg")) copystr("JpegView",fpath);
81
		IF (!strcmp(#extension,"jpeg")) copystr("JpegView",fpath);
82
	IF (!strcmp(fpath,#fparam)) fparam=''; //если fpath не изменился, то это таки, наверное, прога, параметров нет.
902 leency 83
	Run_Program(fpath, #fparam); //запуск!
84
}